0


Docker容器搭建大数据集群

Docker容器搭建大数据集群

首先准备好Centos7(之前准备好的模板机)

  • 在这里插入图片描述

安装Docker

  • 更新yum包(期间选择全选’y’)- 在这里插入图片描述- yum update

  • 安装需要的软件包,yum-util提供yum-config-manager功能,另外两个是devicemapper驱动依赖- yum install -y yum-utils device-mapper-persistent-data lvm2在这里插入图片描述

  • 设置yum源为阿里云- yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo在这里插入图片描述

  • 安装Docker- yum -y install docker-ce在这里插入图片描述- 检查安装是否成功- docker -v在这里插入图片描述

  • 设置ustc的镜像- 创建docker目录- mkdir -p /etc/docker在这里插入图片描述- 编辑daemon.json- vim /etc/docker/daemon.json在这里插入图片描述{"registry-mirrors":["https://yxzrazem.mirror.aliyuncs.com"]}

  • 启动Docker(完成此步骤最好保存快照,以免后面环境出错难以恢复)- systemctl start docker在这里插入图片描述- 查看是否启动成功- systemctl status docker在这里插入图片描述

Hadoop集群安装准备

  • 基础镜像准备- 拉取centos镜像- docker pull centos:7.5.1804

  • 创建docker-hadoop- mkdir docker-hadoop在这里插入图片描述
  • 把jdk上传~/docker-hadoop- 在这里插入图片描述
  • 创建Dockerfile- vim Dockerfile``````FROM centos:7.5.1804#安装JDKRUN mkdir -p /opt/software &&mkdir -p /opt/serviceADD jdk-8u212-linux-x64.tar.gz /opt/service#安装语言包RUN yum -y install kde-l10n-Chinese glibc-common vimRUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8RUN echo"LANG=zh_CN.UTF-8">> /etc/locale.conf#解决login环境变量失效问题RUN touch /etc/profile.d/my_env.shRUN echo -e "export LC_ALL=zh_CN.UTF-8\nexport JAVA_HOME=/opt/service/jdk1.8.0_212\nexport PATH=\$PATH:\$JAVA_HOME/bin">> /etc/profile.d/my_env.sh#安装ssh服务#更换国内阿里云yum源RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repoRUN sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repoRUN yum makecache#安装sshdRUN yum install -y openssh-server openssh-clients vim net-tools lrzszRUN sed -i '/^HostKey/'d /etc/ssh/sshd_configRUN echo'HostKey /etc/ssh/ssh_host_rsa_key'>> /etc/ssh/sshd_config#生成ssh-keyRUN ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key#更改root用户登录密码RUN echo'root:123456'| chpasswd#声明22端口 EXPOSE 22#容器运行时启动sshdRUN mkdir -p /optRUN echo'#!/bin/bash'>> /opt/run.shRUN echo'/usr/sbin/sshd -D'>> /opt/run.shRUN chmod +x /opt/run.sh#CMD ["/opt/run.sh"]CMD ["/usr/sbin/init"]
  • 生成基础镜像- docker build -t hadoopbase:1.0 ./- 查看镜像是否成功构建- docker images在这里插入图片描述
  • 测试镜像- 起一个容器测试- docker run -itd --name test -p 222:22 hadoopbase:1.0- 可以新打开一个xshell窗口,IP地址和宿主机一致,端口号改为222即可连接
  • 集群环境配置- 创建三个容器- docker create -it --name hadoop102 --privileged=true -h hadoop102 hadoopbase:1.0 /usr/sbin/initdocker create -it --name hadoop103 --privileged=true -h hadoop103 hadoopbase:1.0 /usr/sbin/initdocker create -it --name hadoop104 --privileged=true -h hadoop104 hadoopbase:1.0 /usr/sbin/init在这里插入图片描述- 创建脚本- 先进入目录/usr/local/bin/- cd /usr/local/bin/在这里插入图片描述- 把pipework拷贝上传上去- 在这里插入图片描述- 创建docker.sh- vim docker.sh在这里插入图片描述#!/bin/bash#启动容器docker start hadoop102docker start hadoop103docker start hadoop104#搭建网桥,下面8.8.8.80是宿主机的IPbrctl addbr br0;\iplinkset dev br0 up;\ip addr del 8.8.8.80/24 dev ens33;\ip addr add8.8.8.80/24 dev br0;\brctl addif br0 ens33;\ip route add default via 8.8.8.1 dev br0#睡眠5秒sleep5#给容器配置ip和网关pipework br0 hadoop102 8.8.8.102/[email protected] br0 hadoop103 8.8.8.103/[email protected] br0 hadoop104 8.8.8.104/[email protected]- 增加脚本执行权限并下载工具- chmod777 docker.shchmod777 pipeworkyum install bridge-utils在这里插入图片描述- 执行脚本- docker.sh- 用xshell连接三个容器- 在这里插入图片描述- 配置主机和ip映射,三台容器都需要执行- vim /etc/hosts- 配置如下- 8.8.8.102 hadoop1028.8.8.103 hadoop1038.8.8.104 hadoop104在这里插入图片描述

  • 配置免密登录- 设置公钥和私钥(此步骤需要在三台容器都执行)- #输入命令后一直按回车ssh-keygen -t rsa- 拷贝公钥(此步骤需要在三台容器都执行)- #输入命令之后会输入yes,然后输入密码ssh-copy-id hadoop102ssh-copy-id hadoop103ssh-copy-id hadoop104

Hadoop安装

  • 在三台机子都运行如下命令- #安装所需要的工具yum install -y psmisc nc net-tools rsyncvim lrzsz ntp libzstd openssl-static tree iotop git
  • 创建分发文件脚本(写在hadoop102上102是我们的主机)- cd ~mkdir bincd bintouch my_rsync.sh#提升权限chmod744 my_rsync.shvim my_rsync.sh``````#!/bin/bash#参数预处理if[$# -lt 1]thenecho'参数不能为空!!!'exitfi#遍历集群中的机器一次分发内容forhostin hadoop103 hadoop104do#依次分发内容forfilein$@do#判断当前文件是否存在if[ -e $file]then#存在#1.获取当前文件的目录结构pdir=$(cd -P $(dirname $file);pwd)#2.获取当前的文件名fname=$(basename $file)#3.登录目标机器,创建同一目录结构ssh$host"mkdir -p $pdir"#4.依次把要分发的文件或目录进行分发rsync -av $pdir/$fname$host:$pdirelse#不存在echo"$file 不存在"exitfidonedone
  • 将hadoop导入到/opt/software文件下(hadoop102上操作)- cd /opt/software/在这里插入图片描述
  • 将其解压到/opt/service/- tar -zxvf hadoop-3.1.3.tar.gz -C /opt/service/- 进入目录查看- cd /opt/service/在这里插入图片描述
  • 将hadoop添加到环境变量- 第一步到hadoop家目录下获取路径- cd /opt/service/hadoop-3.1.3/pwd在这里插入图片描述- 第二步:打开/etc/profile.d/my_env.sh文件- vim /etc/profile.d/my_env.sh- 第三步:在my_env.sh中添加如下配置- #HADOOP_HOMEexportHADOOP_HOME=/opt/service/hadoop-3.1.3exportPATH=$PATH:$HADOOP_HOME/binexportPATH=$PATH:$HADDOP_HOME/sbin- 第四步:刷新配置文件- source /etc/profile.d/my_env.sh
  • 修改配置文件,进入$HADOOP_HOME/etc/hadoop- cd$HADOOP_HOME/etc/hadoop- 修改core-site.xml- vim core-site.xml- 修改内容如下- <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定NameNode的地址 --><property><name>fs.defaultFS</name><value>hdfs://hadoop102:9820</value></property><!-- 指定hadoop数据的存储目录 --><property><name>hadoop.tmp.dir</name><value>/opt/service/hadoop-3.1.3/data</value></property><property><name>hadoop.http.staticuser.user</name><value>root</value></property><property><name>hadoop.proxyuser.root.hosts</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property><property><name>hadoop.proxyuser.root.groups</name><value>*</value></property></configuration>- 配置hdfs-site.xml- vim hdfs-site.xml- 文件配置如下- <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- nn web端访问地址--><property><name>dfs.namenode.http-address</name><value>hadoop102:9870</value></property><!-- 2nn web端访问地址--><property><name>dfs.namenode.secondary.http-address</name><value>hadoop104:9868</value></property></configuration>- 配置yarn-site.xml- vim yarn-site.xml- 文件配置如下- <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MR走shuffle --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定ResourceManager的地址--><property><name>yarn.resourcemanager.hostname</name><value>hadoop103</value></property><!-- 环境变量的继承 --><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value></property><!-- yarn容器允许分配的最大最小内存 --><property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value></property><property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value></property><!-- yarn容器允许管理的物理内存大小 --><property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value></property><!-- 关闭yarn对物理内存和虚拟内存的限制检查 --><property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value></property><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property></configuration>- 配置mapred-site.xml- vim mapred-site.xml- 配置如下- <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定MapReduce程序运行在Yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>
  • 把文件分发到各个主机(使用前面所写的分发脚本)- cd$HADOOP_HOMEmy_rsync.sh /opt/service/hadoop-3.1.3/#把环境变量配置也分发过去,因为我们图方便用的root用户登录,所以可以直接用分发脚本my_rsync.sh /etc/profile.d/my_env.sh
  • 格式化namenode- cd$HADOOP_HOMEhdfs namenode -format
  • 配置群起脚本(hadoop102上执行下面步骤)- 先修改配置- vim /opt/service/hadoop-3.1.3/etc/hadoop/workers- 配置内容如下(切记不能有然后空格和空行)- hadoop102hadoop103hadoop104- 分发刚才修改之后的文件- my_rsync.sh /opt/service/hadoop-3.1.3/etc/hadoop/workers- 回到home目录,并创建编写脚本- cd ~/bintouch my_cluster.shchmod744 my_cluster.shvim my_cluster.sh- 脚本内容如下- #!/bin/bashif[$# -lt 1]thenecho'参数不能为空!!!'exitficase$1in"start")#启动HDFS集群echo"===========启动HDFS集群============"ssh hadoop102 /opt/service/hadoop-3.1.3/sbin/start-dfs.sh #启动YARN集群echo"===========启动YARN集群============"ssh hadoop103 /opt/service/hadoop-3.1.3/sbin/start-yarn.sh;;"stop")#启动HDFS集群echo"===========停止HDFS集群============"ssh hadoop102 /opt/service/hadoop-3.1.3/sbin/stop-dfs.sh #启动YARN集群echo"===========停止YARN集群============"ssh hadoop103 /opt/service/hadoop-3.1.3/sbin/stop-yarn.sh;;*)echo'参数错误!!!';;esac- 在环境变量中添加如下几个配置- vim /etc/profile``````#添加在末尾exportHDFS_NAMENODE_USER=rootexportHDFS_DATANODE_USER=rootexportHDFS_SECONDARYNAMENODE_USER=rootexportYARN_RESOURCEMANAGER_USER=rootexportYARN_NODEMANAGER_USER=root- 使用分发脚本把/etc/profile分发下去,并source /etc/profile(三台机子都需要执行source命令)- my_rsync.sh /etc/profilesource /etc/profile- 在$HADOOP_HOME/sbin路径下查找start-dfs.sh和stop-dfs.sh两个文件,在其顶部都添加上- #!/usr/bin/env bashHDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root- 顺便在start-yarn.sh和stop-yarn.sh两个文件顶部也分别加上- #!/usr/bin/env bashYARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root- 然后使用分发脚本把sbin分发下去- my_rsync.sh /opt/service/hadoop-3.1.3/sbin/*- 编写一个脚本方便查看集群状态- cd ~/binvim my_jps.sh- 内容如下- #!/bin/bash#查看集群中所有的状态forhostin hadoop102 hadoop103 hadoop104doecho"=========$host========="ssh$host jpsdone- chmod744 my_jps.sh
  • 在hadoop102上运行测试- #就使用刚才所写的群起脚本my_cluster.sh start- 在物理机上访问8.8.8.102:9870在这里插入图片描述如果有3个就证明成功,建议在此保留一份快照

搭建MySQL【主机上】(hadoop102是我们的主机)

  • 1.卸载Linux自带的MySQL- 1.1查自带的软件- #如果查询有没有结果就可以跳过卸载步骤rpm -qa |grep -E mysql\|mariadb- 1.2卸载- #后面的mariadb-libs-5.5.68-1.el7.x86_64是前一步查询出的结果rpm -e --nodeps mariadb-libs-5.5.68-1.el7.x86_64
  • 2.正式安装MySQL- 上传MySQL软件包- cd /opt/software/- 在/opt/software/目录下创建一个文件来收纳tar包的解压文件- mkdir mysql-rpmtar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C ./mysql-rpm/在这里插入图片描述- 到刚才解压到的包- cd /opt/software/mysql-rpm/#安装依赖,防止MySQL安装报错yum install -y libaio numactl#安装MySQL,严格按照顺序安装rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpmrpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm- 检查是否安装完成- rpm -qa |grep mysql在这里插入图片描述- 初始化数据库- mysqld --initialize --user=mysql- 启动MySQL服务- systemctl start mysqld- 查看MySQL状态- 在这里插入图片描述- 查看临时密码- cat /var/log/mysqld.log |grep password在这里插入图片描述- 复制好刚才查看到的临时密码,登录MySQL- #不建议把刚才复制的密码直接粘贴到-p之后,建议下面命令回车之后再粘贴密码mysql -uroot -p在这里插入图片描述- 修改密码- set password = password('123456');在这里插入图片描述- 修改远程连接,修改之后就可以使用Navicat连接MySQL- use mysql;updateuserset host ='%'whereuser='root';flush privileges;在这里插入图片描述

搭建Hive集群(Hadoop103和Hadoop104)

  • 上传hive安装包- cd /opt/software/在这里插入图片描述
  • 解压包- tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/service/
  • 查看软件包,并修改名字- cd /opt/service/mv apache-hive-3.1.2-bin/ hive-3.1.2
  • 配置环境变量- vim /etc/profile.d/my_env.sh``````#hiveexportHIVE_HOME=/opt/service/hive-3.1.2exportPATH=$PATH:$HIVE_HOME/bin在这里插入图片描述- source /etc/profile.d/my_env.sh
  • 解决日志冲突- 删除jar包- cd /opt/service/hive-3.1.2/lib/rm -rf log4j-slf4j-impl-2.10.0.jar
  • hive元数据配置到MySQL- cd$HIVE_HOME/conftouch hive-site.xmlvim hive-site.xml``````<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- jdbc连接的URL --><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value></property><!-- jdbc连接的Driver--><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value></property><!-- jdbc连接的username--><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><!-- jdbc连接的password --><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property><!-- Hive默认在HDFS的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><!-- Hive元数据存储的验证 --><property><name>hive.metastore.schema.verification</name><value>false</value></property><!-- 元数据存储授权 --><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property></configuration>
  • 将MySQL的JDBC驱动拷贝到Hive的lib目录下- cd$HIVE_HOME/lib上传驱动包
  • 初始化源数据库- 回到hadoop102,连接MySQL创建数据库- mysql -uroot -p123456在这里插入图片描述createdatabase metastore;在这里插入图片描述- 回到hadoop103,初始化Hive元数据库- schematool -initSchema -dbType mysql -verbose在这里插入图片描述
  • 启动测试Hive- 首先要启动Hadoop集群- #启动好Hadoop集群之后在hadoop103执行命令hive在这里插入图片描述
  • 最后把文件和配置好的环境变量分发到hadoop104- scp -r /opt/service/hive-3.1.2/ root@hadoop104:/opt/service/- 环境变量也发送到hadoop104- scp -r /etc/profile.d/my_env.sh root@hadoop104:/etc/profile.d/在这里插入图片描述- 此时Hive集群已完成

搭建Flume 【主机】

  • 上传安装包到/opt/software/- cd /opt/software/在这里插入图片描述
  • 解压软件包- tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/service/
  • 修改名字- cd /opt/service/mv apache-flume-1.9.0-bin/ flume-1.9.0在这里插入图片描述
  • 配置环境变量- vim /etc/profile.d/my_env.sh``````#flumeexportFLUME_HOME=/opt/service/flume-1.9.0exportPATH=$PATH:$FLUME_HOME/bin在这里插入图片描述- source /etc/profile.d/my_env.sh
  • 解决与Hadoop的冲突- cd$FLUME_HOME/librm -rf guava-11.0.2.jar到此就已经安装完成

搭建Zookeeper(hadoop102上操作)

  • 先停掉Hadoop集群- #在hadoop102执行my_cluster.sh stop
  • 上传软件包到/opt/software/- cd /opt/software/
  • 解压软件包- tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/service/
  • 修改解压之后的名字- cd /opt/service/mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7在这里插入图片描述
  • 创建数据目录- cd /opt/service/zookeeper-3.5.7/mkdir zkData
  • 修改配置文件- cd /opt/service/zookeeper-3.5.7/conf/mv zoo_sample.cfg zoo.cfgvim zoo.cfg- 修改dataDir- dataDir=/opt/service/zookeeper-3.5.7/zkDataserver.2=hadoop102:2888:3888server.3=hadoop103:2888:3888server.4=hadoop104:2888:3888在这里插入图片描述
  • 给集群配标号- cd /opt/service/zookeeper-3.5.7/zkData/touch myidvim myid在文件中输入2在这里插入图片描述
  • 分发文件,讲zookeeper分发到集群- cd /opt/service/my_rsync.sh zookeeper-3.5.7/在这里插入图片描述
  • 到另外两个容器中修改myid文件,hadoop103对应3,hadoop104对应4- cd /opt/service/zookeeper-3.5.7/zkData/vim myid在这里插入图片描述在这里插入图片描述
  • 封装zookeeper集群启停脚本(hadoop102容器上操作)- cd ~/bin/touch zk_cluster.shchmod744 zk_cluster.shvim zk_cluster.sh``````#!/bin/bashif[$# -lt 1]thenecho'参数不能为空!!!'exitfiforhostin hadoop102 hadoop103 hadoop104docase$1in"start")echo"$1*****$host*******ZK**********"ssh$host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;;"stop")echo"$1*****$host*******ZK**********"ssh$host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;;"status")echo"$1*****$host*******ZK**********"ssh$host /opt/service/zookeeper-3.5.7/bin/zkServer.sh $1;; *)echo'参数有误!!!'exit;;esacdone到此zookeeper集群就搭建完成

搭建HBASE集群

  • 上传软件包到hadoop102的/opt/software/目录下- cd /opt/software/在这里插入图片描述
  • 解压安装包- tar -zxvf hbase-2.0.5-bin.tar.gz -C /opt/service/
  • 配置环境变量- vim /etc/profile.d/my_env.sh``````#hbaseexportHBASE_HOME=/opt/service/hbase-2.0.5exportPATH=$PATH:$HBASE_HOME/bin在这里插入图片描述- source /etc/profile.d/my_env.sh
  • 修改配置文件- #先到目录下cd /opt/service/hbase-2.0.5/conf/vim hbase-env.sh- 打开export HBASE_MANAGES_ZK=false配置- 在这里插入图片描述- vim hbase-site.xml``````<configuration><property><name>hbase.rootdir</name><value>hdfs://hadoop102:9820/hbase</value></property><property><name>hbase.cluster.distributed</name><value>true</value></property><property><name>hbase.zookeeper.quorum</name><value>hadoop102,hadoop103,hadoop104</value></property></configuration>- vim regionservers``````hadoop102hadoop103hadoop104在这里插入图片描述
  • 分发文件- cd /opt/service/my_rsync.sh hbase-2.0.5/my_rsync.sh /etc/profile.d/my_env.sh
  • 启动测试- #启动Hadoop集群my_cluster.sh start#启动zookeeper集群zk_cluster.sh start#启动Hbasestart-hbase.sh- 在这里插入图片描述- 在物理机访问8.8.8.102:16010- 在这里插入图片描述若进程和我一样,并且能访问web那个界面证明hbase就安装成功了

搭建SQOOP集群

  • 我们在hadoop103上配置
  • 上传软件包到/opt/software/- cd /opt/software/
  • 解压软件包- tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/service/
  • 修改名字- mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop-1.4.7
  • 配置环境变量- vim /etc/profile.d/my_env.sh``````#sqoopexportSQOOP_HOME=/opt/service/sqoop-1.4.7exportPATH=$PATH:$SQOOP_HOME/bin在这里插入图片描述source /etc/profile.d/my_env.sh
  • 修改配置文件- cd$SQOOP_HOME/conf#重命名配置文件mv sqoop-env-template.sh sqoop-env.shvim sqoop-env.sh在这里插入图片描述
  • 拷贝jdbc驱动到sqoop的lib- #到了这个目录上传驱动cd$SQOOP_HOME/lib
  • 验证连接- sqoop list-databases --connect jdbc:mysql://hadoop102:3306/ --username root --password 123456在这里插入图片描述如此便成功安装sqoop

搭建Kafaka集群(hadoop102上操作)

  • 上传软件包到/opt/software/- cd /opt/software/
  • 解压软件包- tar -zxvf kafka_2.11-2.4.1.tgz -C /opt/service/
  • 修改名字- cd /opt/service/mv kafka_2.11-2.4.1/ kafka
  • 配置环境变量- vim /etc/profile.d/my_env.sh``````#kafkaexportKAFKA_HOME=/opt/service/kafkaexportPATH=$PATH:$KAFKA_HOME/bin在这里插入图片描述
  • 分发文件(分发完之后三个容器都运行一下 source /etc/profile.d/my_env.sh)- my_rsync.sh /etc/profile.d/my_env.sh
  • 修改配置文件- cd$KAFKA_HOME/configvim server.properties- 修改broker.id- broker.id=2 在这里插入图片描述- 修改log.dirs- log.dirs=/opt/service/kafka/logs在这里插入图片描述- 修改zookeeper.connect- zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181/kafka在这里插入图片描述
  • 分发文件- cd /opt/service/my_rsync.sh kafka/
  • 修改另外两个容器的broker.id- 到hadoop103- vim /opt/service/kafka/config/server.properties在这里插入图片描述- 到hadoop014- vim /opt/service/kafka/config/server.properties在这里插入图片描述
  • 启动测试- 编写群起脚本- cd ~/bin/touch kafka_all.shchmod744 Kafka_all.shvim kafka_all.sh``````#!/bin/bashforhostin hadoop102 hadoop103 hadoop104dossh$host kafka-server-start.sh -daemon /opt/service/kafka/config/server.propertiesdone- 启动之前一定要先启动zookeeper,可以先查看状态(只启动zookeeper就可以了,其他东西尽量关掉)- my_jps.sh在这里插入图片描述- 启动kafka- kafka_all.sh``````#查看所有jpsmy_jps.sh在这里插入图片描述如果和我进程一样就说明成功安装好了kafka

搭建Spark集群

  • 上传文件到/opt/software- cd /opt/software
  • 解压文件- tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz -C /opt/service/
  • 修改文件名- cd /opt/servicemv spark-3.0.0-bin-hadoop3.2/ spark-standalone
  • 修改配置文件- cd /opt/service/spark-standalone/conf/#修改文件名mv slaves.template slavesvim slaves- hadoop102hadoop103hadoop104在这里插入图片描述- mv spark-env.sh.template spark-env.shvim spark-env.sh``````exportJAVA_HOME=/opt/service/jdk1.8.0_212SPARK_MASTER_HOST=hadoop102SPARK_MASTER_PORT=7077在这里插入图片描述
  • 分发文件- cd /opt/service/my_rsync.sh spark-standalone/
  • 启动集群- cd /opt/service/spark-standalone/sbin/start-all.sh- 使用my_jps.sh查看进程- 在这里插入图片描述- 访问web ui- 8.8.8.102:8080在这里插入图片描述- 如此便安装成功

搭建Redis

  • 上传文件到/opt/software/- cd /opt/software/
  • 解压文件- tar -zxvf redis-5.0.2.tar.gz -C /opt/service/
  • 进入解压目录执行make命令- #先下载依赖包yum -y install gcc automake autoconf libtool makecd /opt/service/redis-5.0.2/make
  • 执行make install 创建快捷方式- cd /opt/service/redis-5.0.2/makeinstall在这里插入图片描述
  • 启动redis- redis-server在这里插入图片描述- 如此便完全安装成功了
标签: docker 大数据 容器

本文转载自: https://blog.csdn.net/qq_33202785/article/details/127479260
版权归原作者 何以愁 所有, 如有侵权,请联系我们删除。

“Docker容器搭建大数据集群”的评论:

还没有评论