centos7.2(三台腾讯云服务器)配置zookeeper集群


一. 部署前的准备工作


1.保证各个主机之间能够正常通信(ssh免登陆验证)


2.修改host文件,加入IP和主机名的映射。方法为修改/etc/hosts和etc/hostname文件,不同的Linux发行版方法不一定一样。


3.开放要使用的端口或者关闭防火墙



二. 部署Zookeeper集群


1.下载Zookeeper安装包,并解压。

选择一个镜像下载
http://www.apache.org/dyn/closer.cgi/zookeeper/
我用的是下面这个
http://www.apache.org/dyn/closer.cgi/zookeeper/



1.1 将zookeeper-3.4.11.tar.gz发送到linux服务器上

1.2 解压  tar -xvzf zookeeper-3.4.11.tar.gz

1.3 对zookeeper目录进行重命名:  mv zookeeper-3.4.5 zookeeper

1.4 配置zookeeper相关的环境变量  


用这种我出现一个问题,-bash: vi: command not found
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source ~/.bashrc

所以我用了下面的这个,直接做成全局的

vi /etc/profile

#set java environment and zookeeper environment
JAVA_HOME=/usr/local/java/jdk1.8.0_151                     
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin


export PATH JAVA_HOME CLASSPATH 
export ZOOKEEPER_HOME=/usr/local/zookeeper       

export  PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile




2.创建数据目录
重命名zoo_sample.cfg配置文件
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
修改配置文件
vi /usr/local/zookeeper/conf/zoo.cfg
修改:dataDir=/usr/local/zookeeper/data

新增:dataLogDir=/var/log/zookeeper
新增:
server.0=cache01:2888:3888
server.1=cache02:2888:3888
server.2=cache03:2888:3888


创建data目录
mkdir /usr/local/zookeeper/data

mkdir /var/log/zookeeper
创建并编辑文件myid,输入对应的序号
vi /usr/local/zookeeper/data/myid
0                         <--标志号


注意这里有一个问题:

我按照这样配置一直出现一个java.net.ConnectException: Connection refused (Connection refused)问题

解决办法就是使用ifconfig命令查看本机对应的内网ip,写到自身对应的ip 中

例如:我标志号为0的一台机器内网是10.104.10.219,那么对应的那台服务器上应该是

server.0=10.104.10.219:2888:3888
server.1=cache02:2888:3888
server.2=cache03:2888:3888


3.在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到cache02和cache03上,标识号分别设置为1和2(内网ip记得要改回来,不然还是会报 Connection refused )


scp -r /usr/local/zookeeper cache02:/usr/local/

scp -r /usr/local/zookeeper cache03:/usr/local/

分别在三台机器上执行:zkServer.sh start。
检查ZooKeeper状态:zkServer.sh status,应该是一个leader,两个follower




zkServer.sh start来启动。


zkServer.sh restart  (重启)


zkServer.sh status  (查看状态)


zkServer.sh stop  (关闭)


zkServer.sh start-foreground  (以打印日志方式启动)



你可能感兴趣的:(zookeeper)