最终版进群搭建看这篇博客
在虚拟机中搭建高可用集群,超详解,保姆级教学_一个学习的博客-CSDN博客
首先建立集群的前提条件是你的每个虚拟机之间能够ping通,并且能够相互连接和自连接,并且你虚拟机都要有java jdk的环境
具体免密登录可看
如何实现夸虚拟机免密登录,能够通过一台进入其他虚拟机_一个学习的博客-CSDN博客
其他虚拟机都要实现这个要求
没有ping通的原因是进入
[root@gree2 ~]# vi /etc/hosts
看这里有没有写全,host我命名为gree个人按照个人的来
接着开始安装单机版集群,
进入opt我这里有个install文件夹专门放解压包的
开始解压zookeeper包
我放在opt目录下的soft下
[root@gree2 install]# tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/soft
这里改个名方便用
[root@gree2 soft]# mv zookeeper-3.4.5-cdh5.14.2/ zookeeper345
接着进入zookeeper345下的conf文件里面
[root@gree2 soft]# cd ./zookeeper345/conf
复制里面的zoo_sample.cfg为zoo.cfg方便用
进入zoo.cfg
[root@gree2 conf]# vi zoo.cfg 像我这样修改,目录路径可能不一样和你的路径一样就行
保存退出后,回到zookeeper345的目录下建立datatmp
进入datatmp,里面是空的,建立一个文件myid
[root@gree2 zookeeper345]# cd ./datatmp/
写入1,接着保存退出
最后配置环境
[root@gree2 conf]# vi /etc/profile,拉到最下面,写完保存退出
然后吧文件写入
[root@gree2 conf]# source /etc/profile
添加的两行如下,路径为自己的路径别搞错
export ZOOKEEPER_HOME=/opt/soft/zookeeper345
export PATH=$PATH:$ZOOKEEPER_HOME/bin
最后可以看单机版集群是否成功呢
输入命令
[root@gree2 conf]# zkServer.sh start
[root@gree2 conf]# zkServer.sh status
出现这种结果就是正确的
接着安装高可用多集群的方法,在原来的单机模式下继续进行。上面提到只要修改一下server里面的东西就行
[root@gree2 conf]# pwd
/opt/soft/zookeeper345/conf
进入conf目录下的zoo.cfg文件
[root@gree2 conf]# vi ./zoo.cfg
我要建立三台集群就写三个ip,记住本身的写脚本的虚拟机是不用的,也可以用自己,你下面写谁的ip地址就会用谁,server。1的顺序代表的ip位置也可以不一样,你用那几个就写谁的ip,但是ip前的数字对应要记住后面要对应
接着来到
[root@gree2 conf]# cd /usr/bin
的目录下写脚本就可以全局都用
写xsync
[root@gree2 bin]# vi xsync
写入
#!/bin/bash
argCount=$#
if [ $argCount == 0 ]; then
echo 'no args'
exit 0
fi
# 获取文件名称
f=$1
fname=`basename $f`
echo $fname
# 获取文件的绝对路径
pdir=`cd -P $(dirname $f ); pwd`
echo $pdir
# 获取当前用户
user=`whoami`
echo $user
# 循环拷贝
for host in gree4 gree5 gree1 //这边代表运行这文件后循环拷贝到的集群
do
echo "------$host------"
rsync -av $pdir/$fname $user@$host:$pdir
done
给脚本赋权
[root@gree2 soft]# chmod 777 /usr/bin/xsync
安装ysync
[root@gree2 soft]# yum -y install ysync,每台虚拟机都要安装
接着运行脚本
可以回到soft的目录下
我这里三个虚拟机都安装成功呢
接着进入你的集群三台虚拟机中的、/opt/soft里面发现zookeeper345都有呢
接着继续拷贝环境profile
[root@gree6 bin]# xsync /etc/profile,这样显示成功
并且进入每一个虚拟机查看profile是不是都有的
我倒这边发现一个问题我是在gree2的里面做的没影响两台虚拟机我写的一样,这里调回来
最后在每一台虚拟机里面的目录下,到datatmp1的目录下都有myid,进入myid
[root@gree4 datatmp]# pwd
/opt/soft/zookeeper345/datatmp
之前配置server.1的ip地址是gree4,所以gree4里面的myid写1,同理
这样三台虚拟机全部配置完成,每一台虚拟机运行下面的命令
[root@gree4 conf]# zkServer.sh start
[root@gree4 conf]# zkServer.sh status
其他虚拟机一样
有用的大家点个赞收藏一下谢谢