zookeeper集群部署,zookeeper集群的搭建
chanong
|1.1 概述ZooKeeper 是一个集中式服务,用于管理配置信息、名称、提供分布式同步、提供组服务。
1.2 服务器信息的主机名
知识产权
中央处理器
内存
磁盘
操作系统
Zoo Keeper001.local.com
172.21.0.11
2核
4GiB
20GiB
圣托斯7.x
Zoo Keeper002.local.com
172.21.0.12
2核
4GiB
20GiB
圣托斯7.x
Zoo Keeper003.local.com
172.21.0.13
2核
4GiB
20GiB
圣托斯7.x
1.3 创建部署帐户# 在三台服务器上分别执行以下操作# 创建帐户$ useradd -m -s /bin/bash -r zkuser # 设置密码$ passwd zkuser # 设置具有sudo 权限的帐户$ vim /etc /sudoerszkuser ALL=( ALL)NOPASSWD: ALL1.4 调整安全项,在三台服务器上执行如下操作,selinux#暂时关闭$ sudo setenforce 0# 永久关闭$ sduosed -i ' s/SELINUX=enforcing/SELINUX=disabled/g ' /etc /selinux/config 关闭防火墙systemctl stopfirewalld1.5 配置服务器间无密码登录。在三台服务器上分别执行以下操作:稍后在构建Hadoop 集群时您将使用此步骤。如果您只构建Zookeeper,1.5 是可选的。
编辑/etc/hosts 文件,添加服务器主机名映射,生成$ vim /etc/hosts172.21.0.11zookeeper001.local.com172.21.0.12zookeeper002.local.com172.21.0.13zookeeper003.local.com 即可。服务器密钥# 切换到zkuser 账户$ su - zkuser$ ssh-keygen 将密钥复制到其他服务器$ ssh-copy-id Zookeeper001.local.com$ ssh-copy-id ZOOkeeper002.local.com$ ssh- copy-id Zookeeper003 .local .com1.6 部署Java环境,解压jdk1.8.0_151.tar.gz到/usr/java目录。 $ sudo tar -xvf jdk1.8.0_151.tar.gz$ sudo mv jdk1.8.0_151 /usr/java edit/etc /profile,设置Java环境变量$ sudo vim /etc/profile.d/javaenv.sh#javaexport JAVA_HOME=/usr/java/jdk1.8.0_151export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.$ JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 启用设置$ source /etc/profile .d/javaenv .shVerify$ java -versionjava version '1.8.0_151'Java(TM) SE 运行时环境(构建)1.8.0_151- b12)Java HotSpot(TM) 64 位服务器VM(构建25.151-b12,混合模式)1.7 Zookeeper 构建1.7.1 配置安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.6.2/apache-zookeeper- 3.6.2-bin.tar.gz 在Zookeeper001.local.com 上执行以下操作: 并解压apache- Zookeeper-3.6.2-bin.tar.gz 复制到/opt/software 目录。 $ tar -xvf apache -zookeeper-3.6.2-bin.tar.gz$ mv apache-zookeeper-3.6.2-bin /opt/software 编辑/etc/profile 并设置Zookeeper 环境变量$ sudo vim /etc /profile. d/zkenv.sh #zkexport ZOOKEEPER_HOME=/opt/software/apache-zookeeper-3.6.2-binexport PATH=$PATH:$ZOOKEEPER_HOME/binsource 执行命令启用环境变量$ source /etc/profile.d/zkenv。 sh 创建数据存储目录和日志存储目录$ cd /opt/software/apache-zookeeper-3.6.2-bin$ mkdir data$ mkdir 更改logzookeeper 设置$ cd /opt/software/apache-zookeeper-3.6.2-bin/conf$ cp Zoo_sample.cfg Zoo.cfg $ vim Zoo.cfg# 同步阶段可以采取initLimit=10# 发送请求和获得确认之间可以经过的刻度数syncLimit=5 # 保存快照的目录。使用/tmp 进行存储。 /tmp # 只是一个例子。 #dataDir=/tmp/zookeeperdataDir=/opt/software/apache-zookeeper-3.6.2-bin/datadataLogDir=/opt/software/apache-zookeeper-3.6 .2-bin/log#客户端连接的端口clientPort=第2181章# 如果需要处理更多客户端,请增加maxClientCnxns=100## 在启用自动清除之前,请务必阅读管理员指南的维护部分。 ## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## dataDir 中保留的快照数量#autopurge.snapRetainCount=3# 清除任务间隔(以小时为单位)# 禁用自动清除功能设置为' 0'#autopurge.purgeInterval=1## 指标提供程序## https://prometheus.io 指标导出器#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider#metricsProvider .httpPort=7000#metricsProvider.exportJvmInfo=true# Inter-集群通信设置604888 在dataDir 中创建myid 文件。 myid 写入zoo.conf 设置的文件ID 号。 *注意,每个服务器写入的内容必须与配置文件Zoo**.conf*****中配置的s****erver.****id匹配。 **. 这是服务器的数量,也是它们之间的唯一区别。必须单独更改。
$ echo 0 /opt/software/apache-zookeeper-3.6.2-bin/data/myid 将配置好的Zookeeper目录复制到其他服务器节点的/opt/software目录下,修改环境变量,设置myid文件为改变。分别在每台服务器上启动Zookeeper $ zkServer.sh start 检查Zookeeper 的状态# 结果显示2 个跟随者,1 个领导者$ zkServer.sh statusZoZooKeeper JMX 默认启用使用config: /opt/software/zookeeper-3.6.2/bin/。/conf/zoo.cfgMode: follower 至此,你的Zookeeper集群就完成了。








