zookeeper集群搭建
Linux环境快速部署Zookeeper集群(多机,有JDK)
Zookeeper启动显示成功,zkServer.sh status报错
搭建:
查看Linux多少位:
执行 uname -a
查看linux 操作系统为多少位.
那个高亮的 i686 (or 有时候会是i386) 说明操作系统是32位的,但是如果显示的是 x86_64,那就说明这个操作系统是64位的。
或uname -m
输出显示的是x86_64,就说明系统是64位的
ZooKeeper服务器是用Java编写创建,它运行在JVM。所以需要使用JDK 6或更高版本。
安装JDK:
下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,我选择的是jdk-8u112-linux-i586.tar.gz(Linux x64)。
下载下来后拷贝到/usr/java目录下,然后:tar-zxvf jdk-8u112-linux-i586.tar.gz解压后目录下有一个jdk1.8.0_111文件下。然后通过vi /etc/profile命令来设置环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_111
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存后进入cd /etc目录下,输入source profile命令使修改生效,然后java -version命令查看jdk版本信息。
我们看不到日志信息,无法判断出现的问题,通过
# zkServer.sh start-foreground
可以看到Zookeeper启动时的信息。
每次Zookeeper启动时信息很多,一定翻到最上面要从第一条开始看。
查看日志(bin目录下)
[root@node1 ~]# vi zookeeper.out
错误:
Cannot open channel to 3 at election address。。。
关闭防火墙方法: service iptables stop
为了防止下次系统重启时防火墙再次被打开,需要关闭自启动,关闭自启动方法:chkconfig iptables off
防火墙关闭之后,重启zookeeper集群成功。
zoo.cfg中命令解释:
initLimit=10: 对于从节点最初连接到主节点时的超时时间,单位为tick值的倍数。
syncLimit=5:对于主节点与从节点进行同步操作时的超时时间,单位为tick值的倍数。
dataDir=/tmp/zookeeper: 用于配置内存数据库保存的模糊快照的目录。即刚刚创建的data文件夹就是在此目录中。文件信息都存放在data目录下。
clientPort=2181: 表示客户端所连接的服务器所监听的端口号,默认是2181。即zookeeper对外提供访问的端口号。
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
解释:server.服务器ID=服务器IP地址:服务器之间通信端口:服务器之间投票选举端口
客户端连接到服务器:
./zkCli.sh
或
./zkCli.sh -server 127.0.0.1:2181
创建节点:
ls / #查看所有的KEY
create /mykey1 myvalue1 #创建一个新节点mykey1
create /mykey2 myvalue2 #创建一个新节点mykey2
get /mykey1 #获取mykey1节点
get /mykey2 #获取mykey2节点
set /mykey1 myvalue11 #设置新值
create -s 生成的节点可以自动编号,例如在 create -s /app/node 已存在时,将会生成 /app/node00***001 节点。