zookeeper集群搭建详细步骤

安装前需要安装好jdk
并且配置jdk环境变量

检测集群时间是否同步
检测防火墙是否关闭
检测主机 ip映射有没有配置

在第一台机子上安装,然后再发送给其他机子,这边我有配置免密登入,也配置了hosts文件映射:所以这边三台机子分别为node-1,node-2,node-3
正式安装:
第一台:tar -zxvf zookeeper-3.4.5.tar.gz
这边我只是为了方便查看和编辑修改名称: mv zookeeper-3.4.5 zookeeper
命令:cd conf 查看配置文件
因为启动默认是zoo.cfg文件
所以修改配置文件名称:mv zoo_sample.cfg zoo.cfg
修改文件配置:vi zoo.cfg
dataDir=/root/apps/zookeeper/zkdata 这个根据自己放置的位置修改,我这只是我的位置

(心跳端口、选举端口)添加内容:

server.1=mini1:2888:3888
server.2=mini2:2888:3888
server.3=mini3:2888:3888

接下来发送到其他机子:scp -r /export/servers/zookeeper/ node-2:/export/servers/
scp -r /export/servers/zookeeper/ node-3:/export/servers/

cd /home/hadoop/zookeeper/
创建文件夹:
mkdir zkdata
在data文件夹下新建myid文件,myid的文件内容为:
cd zkdata
echo 1 > myid
验证:cat zkdata/myid
##修改其他机器的配置文件
修改myid文件
到mini2上:修改myid为:2
到mini3上:修改myid为:3
其他两台把1改为2、3

环境变量配置(可以配置也可不配)、只是启动方式不一样
##修改环境变量(注意:3台zookeeper都需要修改)

vi /etc/profile
export ZOOKEEPER_HOME=/home/hadoop/zookeeper
export PATH= P A T H : PATH: PATH:ZOOKEEPER_HOME/bin
source /etc/profile

启动ZK:没有配置环境变量的启动方式
启动单台: /export/servers/zookeeper/bin/zkServer.sh start
查看启动成功:jps 如果有QuorumPeerMain进程表示成功;
方式二: /export/servers/zookeeper/bin/zkServer.sh status
会有leader和follower信息证明zk启动完成,

如果启动不成功,可以观察zookeeper.out日志,查看错误信息进行排查

启动方式的优化:一键脚本启动shell程序(一次性启动多台)
原理:编写shell程序,油shell通过ssh远程到各个机器上帮助启动操作。所以需要开启免密登入;这个也是搭建集群的前提,这里不再写了。

这里隐藏一个小知识点:自己登入自己也是需要密码的, ssh-copy-id node-1 命令可以免除自己登入需要密码。

编写脚本:
关闭脚本(一键)
vi stopZK.sh 因为shell脚本的执行都是.sh后缀。

#!/bin/bash
for host in {node-1,node-2,node-3}
do
ssh $host “/export/servers/zookeeper/bin/zkServer.sh stop”
done

保存之后修改权限:执行权限
chmod u+x stopZK.sh
调用脚本:sh stopZK.sh

一键启动脚本:
##启动(每台机器)
vi zkServer.sh start
或者编写一个脚本来批量启动所有机器:
for host in “mini1 mini2 mini3”
do
ssh $host “source/etc/profile;/root/apps/zookeeper/bin/zkServer.sh start”
done
这里注意 source /etc/profile命令:原因不加启动脚本出错 缺少java环境变量
原因:当shell程序登录机器的时候 无法自动加载系统配置的环境变量 需要自己手动加载生效
保存给权限
chmod 777 zkServer.sh

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值