安装说明
安装环境
虚拟机:VirtualBox-6.1.18
操作系统:Ubuntu16.04LTS
集群情况:
主机名称 | Hadoop版本 | IP地址 |
---|---|---|
hadoop-master | 2.7.3 | 192.168.56.1 |
hadoop-slave1 | 2.7.3 | 192.168.56.2 |
hadoop-slave2 | 2.7.3 | 192.168.56.3 |
本次安装的ZooKeeper
ZooKeeper版本:3.6.3
下载地址:apache-zookeeper-3.6.3-bin.tar.gz
其他:ZooKeeper官网 、查看不同版本、官方文档
都准备就绪后,我们就接着往下开始安装吧!
不知道怎么准备的,我之前的文章 也许可以给你带来一些参考哦 - - - ☞ 搭建hadoop集群
其实还是挺简单的,自己看文档就好啦~
开始安装
- 我的两个基础软件Hadoop、Java 分别是在/usr/hadoop 和 /usr/java下
- 其他的都安装在 ~/Hadoop 的文件夹下
- ZooKeeper 不仅需安装在 hadoop-master 下,还需部署在 slave 机上
安装并配置ZooKeeper
1. 解压
$ cd ~/下载
$ cp apache-zookeeper-3.6.3-bin.tar.gz ~/Hadoop/
$ cd ~/Hadoop
$ tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz
$ mv apache-zookeeper-3.6.3 zookeeper-3.6.3
2. 配置
2.1 zoo.cfg
// 复制一份模版
$ cd zookeeper-3.6.3/conf
$ cp zoo_sample.cfg zoo.cfg
// 修改其中的 dataDir 路径
dataDir=/home/xld/Hadoop/zookeeper-3.6.3/tmp
// 在文件最后添加以下内容,保存退出
server.1=hadoop-master:2888:3888
server.2=hadoop-slave1:2888:3888
server.3=hadoop-slave2:2888:3888
2.2 myid
根据上面设置的 dataDir 路径,创建 myid 文件
不建议使用默认的 dataDir=/tmp/zookeeper
,不然每次重启之后都要重新创建myid
// 创建tmp目录,并编辑myid
$ cd ~/Hadoop/zookeeper-3.6.3
$ mkdir tmp
$ cd tmp
$ gedit myid
// 在 myid 中添加数字'1',保存并退出
1
3. 将ZooKeeper安装文件复制到Slave节点
$ cd ~/Hadoop
$ scp -r zookeeper-3.6.3 hadoop-slave1:~/Hadoop/
$ scp -r zookeeper-3.6.3 hadoop-slave2:~/Hadoop/
3.1 更改 slave 机上的 myid 值
进入到 hadoop-slave1:Hadoop/zookeeper-3.6.3/tmp
将 myid 文件里的值改为2
进入到 hadoop-slave2:Hadoop/zookeeper-3.6.3/tmp
将 myid 文件里的值改为3
4. 启动ZooKeeper
Zookeeper 需要各自启动,每台机都要
// 先进入到master机里
// 这里有个说明: ./zkServer.sh [--config <conf-dir>] {
start|start-foreground|stop|version|restart|status|print-cmd}
$ cd ~/Hadoop/zookeeper-3.6.3/bin
$ ./zkServer.sh start-foreground # start也可以,start-foreground 可以查看打印的日志
// 进入到其他slave机
$ cd ~/Hadoop/zookeeper-3.6.3/bin
$ ./zkServer.sh start # 直接启动就好,master机同理
master机启动成功,可以看到那个大大的标志 ZooKeeper
输入
$ jps
可以看到 master机 和 slave机 都能看到QuorumPeerMain
在 master 上,通过start-foreground
看到 ‘拒绝连接’ ,是因为你的 Slave 还没开启哦~
其他
通过$ jps
如果发现 QuorumPeerMain 开启之后 闪退
或是(启动/关闭)失败
很有可能是没有 myid 这个文件,或是里面的 id 数值不对哦!