安装zoopeeper3.4.6
zk集群在搭建部署的时候,通常选择 2n+1 奇数台。底层 Paxos 算法支持(过半成功)。
zk安全前提
服务器基础环境
|
IP 主机名 hosts映射 防火墙关闭 时间同步 ssh免密登录 |
JDK环境
|
jdk1.8 配置好环境变量 |
zk具体安装部署
集群规划
|
3个节点安装zookeeper server1 agent1 agent2 选择server1安装,scp给其他两个节点 |
安装包
zookeeper-3.4.6.tar.gz
上传解压
|
cd /usr/local tar zxvf zookeeper-3.4.6.tar.gz 建立软链: ln -s zookeeper-3.4.6/ zookeeper 注意:scp给其他两个节点后,也要记得建立软链 |
修改配置文件
zoo.cfg
|
#zk默认加载的配置文件是zoo.cfg 因此需要针对模板进行修改。保证名字正确。 cd zookeeper/conf cp zoo_sample.cfg zoo.cfg vi zoo.cfg #修改 dataDir=/home/zkdata #文件最后添加 2888心跳端口 3888选举端口 server.1=server1:2888:3888 server.2=agent1:2888:3888 server.3=agent2:2888:3888 |
myid
|
#在每台机器的dataDir指定的目录下创建一个文件 名字叫做myid #myid里面的数字就是该台机器上server编号。server.N N的数字就是编号 mkdir -p /home/zkdata echo 1 >/home/zkdata/myid |
把安装包同步到其他节点上
|
cd /usr/local scp -r zookeeper-3.4.6/ agent1:`pwd` scp -r zookeeper-3.4.6/ agent2:`pwd` 在agent1和agent2上分别建立软链 ln -s zookeeper-3.4.6/ zookeeper |
创建其他机器上myid和datadir目录
|
Agent1上执行: mkdir -p /home/zkdata echo 2 > /home/zkdata/myid agent2上执行: mkdir -p /home/zkdata echo 3 > /home/zkdata/myid |
配置环境变量
|
server1,agent1,agent2节点分别配置环境变量 vim /etc/profile 增加内容: # set zookeeper export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATH |
zk集群的启动
每台机器上单独启动服务
|
#在哪个目录执行启动命令 默认启动日志就生成当前路径下 叫做zookeeper.out /usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/bin/zkServer.sh status /usr/local/zookeeper/bin/zkServer.sh stop #3台机器启动完毕之后 可以使用status查看角色是否正常。 #还可以使用jps命令查看zk进程是否启动。 jps 2034 Jps 1980 QuorumPeerMain #看我,我就是zk的java进程 |
扩展:编写shell脚本 一键脚本启动。
本质:在server1机器上执行shell脚本,由==shell程序通过ssh免密登录==到各个机器上帮助执行命令。
一键关闭脚本
|
vim zk2_stop.sh #!/bin/bash # 1 数组 放 主机名 hosts=(server1 agent1 agent2) # 2 遍历 关闭 for host in ${hosts[*]} do ssh $host "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh stop" done |
一键启动脚本
|
vim zk1_start.sh #!/bin/bash # 1 数组 放 主机名 hosts=(server1 agent1 agent2) # 2 遍历 关闭 for host in ${hosts[*]} do ssh $host "source /etc/profile;/usr/local/zookeeper/bin/zkServer.sh start" done |
使用客户端访问
|
/usr/local/zookeeper/bin/zkCli.sh [-server ip] 例如: /usr/local/zookeeper/bin/zkCli.sh -server server1 |
浙公网安备 33010602011771号