分布式Zookeeper安装搭建详解
写在前面的话:我一直有个误区,就是公司用不到的技术学了也白学。因为个人在业余时间会去学习和了解新技术,过一段时间就会遗忘,原因一是人对知识的记忆力会慢慢下降,二是技术这行没有项目实战驱动,学个锤子。说起来项目实战,如果公司架构层技术栈低,那么你也基本上没有实战的机会了,所以很可能你就是学了,然后搭建个demo,过一段时间也会遗忘。这个误区还是比较危险的,为了让自己能够高效去学习,选择用博客来打笔记,一是方便平常查阅,二是让自己有点输出。
一. 下载
下载地址:https://www-eu.apache.org/dist/zookeeper/zookeeper-3.5.5/
二.安装
解压命令
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz
三、配置文件修改
1.创建zookeeper目录,在目录下创建data目录、logs目录
2.vim修改配置文件vim /etc/hosts
,增加如下内容
保存后,执行 /etc/init.d/network restart
使配置文件 hosts生效
3.将/opt/apache-zookeeper-3.5.5-bin/conf
目录下将文件夹下的zoo_sample.cfg
文件拷贝一份并命名为zoo.cfg
,Zookeeper便可以识别到该文件。
4.修改配置文件
#发送心跳的间隔时间,单位:毫秒
tickTime=2000
#leader和follower初始化连接时最长能忍受多少个心跳时间的间隔数
initLimit=10
#leader和follower之间发送消息,请求和英达时间长度,最长不能超过多少个tickTime的时间长度
syncLimit=5
#zookeeper保存数据的目录
dataDir=/opt/apache-zookeeper-3.5.5-bin/zookeeper/data
#日志目录
dataLogDir=/opt/apache-zookeeper-3.5.5-bin/zookeeper/logs
#端口
clientPort=2181
#启动出现Unable to start AdminServer exiting abnormally因为默认的8080端口被占用,所以需要修改一下
admin.serverPort=8888
#zookeeper机器列表,server.order这里的Order依据集群的机器个数依次进行递增,这里的server1、server2、server3表示机器IP地址
server.1=server-1:2888:3888
5.进入data文件夹,创建myid文件,并输入1,保存。对应配置文件里面的server.order的order。
6.配置环境变量
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
执行source /etc/profile
生效
四、服务启动
启动服务
./zkServer.sh start
我用此方法启动之后,查询出错
所以我用的是以下命令启动,再打开一个shell窗口查看就对了,下面这种方式还可以查看启动报错日志。
./zkServer.sh start-foreground
查看服务
./zkServer.sh status
打开客户端
./zkCli.sh