1.准备好三台服务(这里使用VMware搭建出三台服务器)

在使用服务器之前,一定要修改每一个服务器的ip,改为静态ip地址,方便以后开发使用:
设置静态ip方法:https://blog.csdn.net/qq_2662385590/article/details/107545995?spm=1001.2014.3001.5501
192.168.100.140 centos1
192.168.100.141 centos2
192.168.100.142 centos3
这里可以配置到配一个服务器的 vim /etc/hosts
在这里插入图片描述
还需要配置jdk 环境;
https://blog.csdn.net/qq_2662385590/article/details/107545995?spm=1001.2014.3001.5501

2.准备好zookeeper安装包,解压出来

这里我准备了是 tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz

3.配置zookeeper

进入刚刚解压出来的zookeeper目录里
创建一个文件mkdir data,创建 myid 文件
后面的机器依次在相应目录创建myid文件,写上相应配置数字即可。
这三台服务器上分别是1,2,3
在这里插入图片描述
将zookeeper压缩文件解压后,我们进入到 conf 目录:
在这里插入图片描述
将 zoo_sample.cfg 文件复制并重命名为 zoo.cfg 文件。

cp zoo_sample.cfg zoo.cfg
然后通过 vim zoo.cfg 命令对该文件进行修改:
在这里插入图片描述
dataDir=/opt/zookeeper-3.6.1/data
server.1=192.168.100.140:2888:3888
server.2=192.168.100.141:2888:3888
server.3=192.168.100.142:2888:3888

三台服务器都是这样配置

4.编写shell命令,

#!/bin/bash
case $1 in 
"start"){
	for i in centos1 centos2 centos3
	do
		echo "########zookeeper#####$i:启动中.........#############"
		ssh $i "/opt/zookeeper-3.6.1/bin/zkServer.sh start"
	done
};;
"stop"){
	for i in centos1 centos2 centos3
	do
		echo "########zookeeper#####$i:关闭中.........#############"
		ssh $i "/opt/zookeeper-3.6.1/bin/zkServer.sh stop"
	done
};;	
"status"){
	for i in centos1 centos2 centos3
	do
		echo "########zookeeper#####$i:查看状态.........#############"
		ssh $i "/opt/zookeeper-3.6.1/bin/zkServer.sh status"
	done
};;	

esac

因为这里的shell使用的是ssh命令,需要在三台机器上使用ssh免密登录
ssh免密登录如下:
https://blog.csdn.net/qq_2662385590/article/details/121150644

注意,有时候使用shell上面的命令,可能会出现启动不了zookeeper服务。

ssh执行远程命令和脚本的时候,只会加载个人home目录用户下的.bashrc,那么我们在.bashrc目录下添加下java的环境变量
解决方法
在每个虚拟机上进行下面操作

vi ~/.bashrc

在后面加上java环境变量

# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

export JAVA_HOME=/opt/bigdata/java/jdk180
export PATH=$JAVA_HOME/bin:$PATH

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐