前提:
1、 有三台虚拟机三台testcentos1、testcentos2、testcentos3并安装 yum -y install nc 2、 修改主机名 3、 搭建集群时关闭防火墙 4、 集群主机同步时钟 date -s "2021-3-23 16:00:00" # 手动修改后,使用以下命令,把系统时间写入主板,这样,即使服务器关机或断电,时间也会更新 hwclock -w 5、 免密码登陆 6、 主机名与IP映射
-
上传并解压 zookeeper-3.4.6.tar
D:\java\1笔记资料及资源\大数据Hadoop\资料\zookper\zookeeper-20201229\ zookeeper-3.4.6.tar
-
编辑 zkEnv.sh 配置文件
vim /opt/zookeeper/bin/zkEnv.sh 添加 export JAVA_HOME=/opt/jdk
-
编辑 zoo.cfg 配置文件
vim /opt/zookeeper/conf/zoo.cfg 向其中追加以下内容: tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/zookeeper/data clientPort=2181 server.1=testcentos1:2888:3888 server.2=testcentos2:2888:3888 server.3=testcentos3:2888:3888
-
在 dataDir 目录中创建一个 myid 的文件文件内容分别为1,2,3
第一台主机运行 echo 1 > /opt/zookeeper/data/myid 第二台主机运行 echo 2 > /opt/zookeeper/data/myid 第三台主机运行 echo 3 > /opt/zookeeper/data/myid
-
启动 zookeeper-----三个节点都需要执行,没有一键启动的脚本
/opt/zookeeper/bin/zkServer.sh start
-
启动 client 程序连接 zookeeper 服务
/opt/zookeeper/bin/zkCli.sh -server zookeeper:2181
-
可以通过命令:
echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为 follower或者leader //出现一个leader两个follower就是装好了
配置高可用
-
三台主机都配置
[hdfs-site.xml](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\hdfs-site.xml) [mapred-site.xml](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\mapred-site.xml) [slaves](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\slaves) [yarn-env.sh](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\yarn-env.sh) [yarn-site.xml](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\yarn-site.xml) [core-site.xml](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\core-site.xml) [hadoop-env.sh](..\资料\zookper\zookeeper-20201229\搭建Hadoop2.xHA详解\conf\hadoop-env.sh)
-
core-site.xml
<configuration> <!--通过集群名去连接hdfs--> <property> <name>fs.defaultFS</name> <value>hdfs://dsxm:8020</value> </property> <!--配置整个集群的名字--> <property> <name>dfs.nameservices</name> <value>whz</value> </property> <!--连接zookeeper的2181端口--> <property> <name>ha.zookeeper.quorum</name> <value>testcentos1:2181,testcentos2:2181,testcentos3:2181</value> </property> <!--存放Hadoop的数据的路径--> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-data</value> </property> <property> <name>ipc.client.connect.timeout</name> <value>90000</value> </property> <property> <name>ha.zookeeper.session-timeout.ms</name> <value>10000</value> <description>ms</description> </property> <property> <name>fs.trash.interval</name> <value>1440</va