@cyysu
2017-09-22T05:42:46.000000Z
字数 2537
阅读 719
- 时间:2017年9月8日
- 作者:MJ-DZ chen yuan
- 邮箱:chenyuan@ypmingjiang.cn
- 描述:zookeeper搭建教程
- 版本:V2.0
嵌入式Linux
Linux服务器一台、三台、五台、(2*n+1),Zookeeper集群的工作是超过半数才能对外提供服务,3台中超过两台超过半数,允许1台挂掉,是否可以用偶数,其实没必要。如果有四台那么挂掉一台还剩下三台服务器,如果在挂掉一个就不行了,这里记住是超过半数。
2、Java jdk1.7 zookeeper是用java写的所以他的需要JAVA环境,java是运行在java虚拟机上的
3、Zookeeper的稳定版本Zookeeper 3.4.6版本
#在下面这个链接中安装JDK
链接:http://pan.baidu.com/s/1kVmmBv5 密码:x0lc
或
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
# 解压
tar xf zookeeper-3.4.6.tar.gz
# 增加JAVA环境
[root@master ~]# vim ~/.bashrc
export JAVA_HOME=/usr/java/jdk1.7.0_71
export PATH=$JAVA_HOME/bin:$PATH
[root@master ~]# source !$
source ~/.bashrc
# 关闭防火墙和selinux
service iptables stop
chkconfig iptables off
setenforce 0
# 建立相应的文件夹
[root@master zookeeper]# tree -L 2 /opt/
/opt/
├── software
│ ├── apache-flume-1.7.0-bin.tar.gz
│ ├── apache-flume-1.7.0-src.tar.gz
│ ├── hadoop-2.6.2.tar.gz
│ ├── hbase-0.98.13-hadoop2-bin.tar.gz
│ ├── jdk-7u71-linux-x64.rpm
│ ├── kafka_2.10-0.9.0.1.tgz
│ └── zookeeper-3.4.5.tar.gz
└── zookeeper
├── zkdata
├── zkdatalog
├── zookeeper-3.4.6
├── zookeeper-3.4.6.tar.gz
└── zookeeper.out
# 写入自己的ID
# master
echo "1" > /opt/zookeeper/zkdata/myid
# node1
echo "2" > /opt/zookeeper/zkdata/myid
# node2
echo "3" > /opt/zookeeper/zkdata/myid
# 修改主机和IP
# 下面你这两行内容不要删除
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.0.0.62 master
10.0.0.63 node1
10.0.0.64 node2
10.0.0.65 node3
# 永久修改主机名,然后重新启动生效,如果想要临时可以用hostname
[root@node2 zookeeper]# cat /etc/sysconfig/network
HOSTNAME=node2
# 复制配置文件
mv zoo_sample.cfg.bak zoo.cfg
# 配置文件内容
[root@master conf]# cat zoo.cfg
# ZK中的一个时间单元。ZK中所有时间都是以这个时间单元为基础,进行整数倍配置的。例如,session的最小超时时间是2*tickTime。
tickTime=2000
initLimit=10
syncLimit=5
# dataDir: 数据目录. 可以是任意目录.
dataDir=/opt/zookeeper/zkdata
# dataLogDir: log目录, 同样可以是任意目录. 如果没有设置该参数, 将使用和dataDir相同的设置.
dataLogDir=/opt/zookeeper/zkdatalog/zookeeper.log
# the port at which the clients will connect
# 可以更改端口
clientPort=2181
server.1=10.0.0.62:2888:3888
server.2=10.0.0.63:2888:3888
server.3=10.0.0.64:2888:3888
[root@master conf]#
# master测试结果
[root@master zookeeper]# zookeeper-3.4.6/bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
# node1测试结果
[root@node1 zookeeper]# zookeeper-3.4.6/bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: leader
# node2测试结果
[root@node2 zookeeper]# zookeeper-3.4.6/bin/zkServer.sh status
JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.6/bin/../conf/zoo.cfg
Mode: follower
出现问题时主要是配置文件中的设定的目录没有创建或者防火墙没有关闭。
出现问题详细看zookeeper.out这个文件