首先,小编这里是在Linux的环境下对zookeeper的安装。
1. 准备环境
(2n-1台linux机器或者虚拟机:由于zookeeper的paxos算法要求半数以上存活则为可用,所以必须准备单数个服务器搭建环境)
2. 上传
用工具上传zookeeper安装文件到/home/hadoop,并确保文件的所属用户书hadoop,
如果不是,需要用root用户修改文件的所属者。
命令:
su – root
cd /home/hadoop
chown hadoop:hadoop zookeeper-3.4.5.tar.gz
su - hadoop
3. 解压
用hadoop用户解压,如果不是hadoop用户,需要su – hadoop
tar –zxvf zookeeper-3.4.5.tar.gz
4. 重命名
需要是hadoop用户
mv zookeeper-3.4.5 zookeeper
5. 修改环境变量(集群的每台zookeeper机器都要改)
5.1. 在zookeeper的第一台机器上执行
1、su – root
2、vi /etc/profile
3、添加内容:
export ZOOKEEPER_HOME=/home/hadoop/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin |
4、重新编译
source /etc/profile
5、切换用户
su – hadoop
5.2. 在zookeeper的其他机器做同上的步骤
见上面
6. 修改zookeeper配置文件
1、 su – hadoop
2、 cd /home/hadoop/zookeeper/conf
3、 cp zoo_sample.cfg zoo.cfg(先复制一个备份)
4、 vi zoo.cfg
5、 添加内容,其中域名需要自己斟酌
dataDir=/home/hadoop/zookeeper/data dataLogDir=/home/hadoop/zookeeper/log server.1=slave1:2888:3888 server.2=slave2:2888:3888 server.3=slave3:2888:3888 |
配置文件简单解析
1、tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
2、dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
3、dataLogDir:顾名思义就是 Zookeeper 保存日志文件的目录
4、clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
6、 创建文件夹
cd /home/hadoop/zookeeper
mkdir data
mkdir log
chmod 755 data
chmod 755 log
7、 创建myid文件,并添加内容
cd /home/hadoop/zookeeper/data
vi myid
添加内容:
1 |
7. 将zookeeper传到其他机器
scp –r /home/hadoop/zookeeperhadoop@slave1:/home/hadoop
scp –r /home/hadoop/zookeeperhadoop@slave2:/home/hadoop
scp –r /home/hadoop/zookeeperhadoop@slave3:/home/hadoop
8. 修改其他机器的配置文件
8.1. 在slave2机器上执行命令:
su – hadoop
cd /home/hadoop/zookeeper/data
vi myid
修改内容,将1改为2
2 |
8.2. 在slave3机器上执行命令:
su – hadoop
cd /home/hadoop/zookeeper/data
vi myid
修改内容,将1改为3
3 |
9. 启动
9.1. 在slave1上执行:
zkServer.sh start(别忘了加上./命令)
9.2. 在slave2上执行:
zkServer.sh start
9.3. 在slave3上执行:
zkServer.sh start
10. 查看
10.1. 在slave1上执行
jps
zkServer.sh status
10.2. 在slave2上执行
jps
zkServer.sh status
10.3. 在slave3上执行
jps
zkServer.sh status