安装zookeeper

it2023-12-21  81

安装zookeeper

集群配置如下:

服务器ip主机名myid的值172.16.106.231node011172.16.106.232node022172.16.106.233node033

一、配置环境

cd /opt curl https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz -O tar zxvf jdk-8u172-linux-x64.tar.gz vi /etc/profile # 填入以下内容 # export JAVA_HOME=/opt/jdk1.8.0_172 # export PATH=$PATH:$JAVA_HOME/bin source /etc/profile cd /opt curl https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz -O tar zxvf zookeeper-3.4.9.tar.gz

二、修改配置文件

cd /opt/zookeeper-3.4.9/conf cp zoo_sample.cfg zoo.cfg mkdir /opt/zookeeper-3.4.9/zkdatas/ vi zoo.cfg

修改并添加以下内容

dataDir=/opt/zookeeper-3.4.9/zkdatas autopurge.snapRetainCount=3 # 保留多少快照 autopurge.purgeInterval=1 # 日志几个小时清理一次 # 集群服务器地址 server.1=node01:2888:3888 server.2=node02:2888:3888 server.3=node03:2888:3888

添加myid配置 在第一台机器上/opt/zookeeper-3.4.9/zkdatas/这个路径下创建一个文件,文件名字是myid,内容是1

cd /opt/zookeeper-3.4.9/zkdatas/ echo 1 >> myid

配置ip地址,将下面的内容填写在/etc/hosts中

172.16.106.231 node01 172.16.106.232 node02 172.16.106.233 node03 scp -r /opt/zookeeper-3.4.9 node02:/opt/ scp -r /opt/zookeeper-3.4.9 node03:/opt/

修改每个主机的/opt/zookeeper-3.4.9/zkdatas/myid为对应的主机号

node02节点换为2 node03节点换为3

三、启动zookeeper

/opt/zookeeper-3.4.9/bin/zkServer.sh start

测试zookeeper是否启动

[root@node02 zkdatas]# jps # 一个查看java相关的进程 1398 QuorumPeerMain # 这个就是zookeeper 1418 Jps

查看谁是leader谁是following。

/opt/zookeeper-3.4.9/bin/zkServer.sh status

启动成功之后的输出为

[root@node01 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower [root@node02 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: leader [root@node03 ~]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Mode: follower

四、问题汇总

在启动的时候出现contact error。 [root@node02 zkdatas]# /opt/zookeeper-3.4.9/bin/zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.9/bin/../conf/zoo.cfg Error contacting service. It is probably not running.

答:需要关闭防火墙 centos7 关闭防火墙

sudo systemctl stop firewalld 临时关闭 sudo systemctl disable firewalld ,然后reboot 永久关闭 sudo systemctl status firewalld 查看防火墙状态。 # 如果没有关闭,可以重启一下 集群启动的自动化脚本

2.1 需要配置免密登录,请参考文章Hadoop安装(vmfusion for mac、centos7)中关于ssh免密登录。

# 生成一个公私钥对 ssh-keygen -t rsa

私钥在/root/.ssh/id_rsa中 公钥在/root/.ssh/id_rsa.pub中 将公钥的内容放在其他用户的~/.ssh/authorized_keys中,本机就能免密ssh访问其他用户了

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCk63c0LR+FKS6zMqNgGqRtxKBc8ht59v2qnI22JTeQQ7o864fVJYEzHqY33MGcBBYM/V/J1HDdqH0SgVwxLLlY0v2p5wnjRKnCcBULB/SVYU8vg57l8pZAD+gmCWaiKtWMZDVqxluj5P4YItfeS2cuKwmN7RRbA4YV3QjPdClbFSH2vrNq93O39ZjnLYO+WNejz1cOx5AZV3ml7ffQ/wcgEo+CRdp5p/K5XeV7zj4MEgpIgYVKhFlljtOHvOIx6lphlRNwz9SKuq/0nsiUapXLMTIR2qkFebAl0JcqfdZjs1ErYBXR0rpz5RBOESKFjvZVaI2cvIaLLsK8L9vQKYer root@node01 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDC30SFIXvbhzl7HqkDeU+VpFOHeVGg7ZUpYFdOUDLD0zU31QIFFEntW/St7jDYDkzxZyyUF0KOlWtomSoo6pHkL3Vp4TOf3bJu1L/lfKfnWX8nb7Mktb6mEHUu4/qkK35/AOr5F+e0UFRbaM7S2GMCOBpDcD4f8UmMG/ApbEalg4pURV6u02LXVcO+GZBcUupH8/Uv2FQ8w0QP7H1FxoLD9QP+KLDNmGbDAaTGFfORotg+Jm47S3jSXWNLAHEZIZN+44a/568hgOn5sX7IbKyrKNs4RbhOkEJ1ZK89Rf+SASUkJ4ClG4Eba+fLKYrP7Rc4OGwDTX26XotXPiVIS+/L root@node02 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxfbBtCRUEKnJNGbTFCuFLyGCX6s336mZkGYNHRCVYf/MjNLo/qbRm1lUppZ1GAJ6xJdwmxighZEpdDgjgmhr2PxpgiL1E5usr1uUnB3KC9+qCAdWVSgLCr/+PixCL4u9cP89ngj4xIsmpqktg2QoZLL3KZUtmQNkUP3nwWeXlWQlCj3kRpA2dh+lMOxgd4FndllgPESHocZhFar1uwmQkJh9EHXHA6EN36BtJO+GN/dbMRhbSU5qFP8CkZEyHpIPdmUwADTZA/BAaGZ6x5HYyMBTFNsLGbmWFBgCorMveolePIkJoC2idPJu+qOfEL4JJ9qYoVptwETgTl08mTpO5 root@node03

2.2 编写脚本

#!/bin/bash # 参数 start 启动 # 参数 stop 关闭 # 参数 restart 重启 echo "start zkServer..." for i in 01 02 03 do ssh node$i "source /etc/profile;/opt/zookeeper-3.4.9/bin/zkServer.sh $1" done
最新回复(0)