安装说明

安装环境

虚拟机: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集群

其实还是挺简单的,自己看文档就好啦~


开始安装

  1. 我的两个基础软件Hadoop、Java 分别是在/usr/hadoop 和 /usr/java下
  2. 其他的都安装在 ~/Hadoop 的文件夹下
  3. ZooKeeper 不仅需安装在 hadoop-master 下,还需部署在 slave 机上

安装并配置ZooKeeper

解压

1
2
3
4
5
6
$ 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


配置

zoo.cfg

1
2
3
4
5
6
7
8
9
10
11
12
// 复制一份模版
$ 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

myid

根据上面设置的 dataDir 路径,创建 myid 文件
不建议使用默认的 dataDir=/tmp/zookeeper,不然每次重启之后都要重新创建myid

1
2
3
4
5
6
7
8
9
// 创建tmp目录,并编辑myid
$ cd ~/Hadoop/zookeeper-3.6.3
$ mkdir tmp
$ cd tmp
$ gedit myid

// 在 myid 中添加数字'1',保存并退出
1


将ZooKeeper安装文件复制到Slave节点

1
2
3
4
$ cd ~/Hadoop
$ scp -r zookeeper-3.6.3 hadoop-slave1:~/Hadoop/
$ scp -r zookeeper-3.6.3 hadoop-slave2:~/Hadoop/

更改 slave 机上的 myid 值

进入到 hadoop-slave1:Hadoop/zookeeper-3.6.3/tmpmyid 文件里的值改为2
进入到 hadoop-slave2:Hadoop/zookeeper-3.6.3/tmpmyid 文件里的值改为3


启动ZooKeeper

Zookeeper 需要各自启动,每台机都要

1
2
3
4
5
6
7
8
9
10
// 先进入到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
master启动成功

输入 $ jps 可以看到 masterslave 都能看到 QuorumPeerMain
QuorumPeerMain

master 上,通过start-foreground看到 ‘拒绝连接’ ,是因为你的 Slave 还没开启哦~



其他

通过$ jps 如果发现 QuorumPeerMain 开启之后 闪退
或是(启动/关闭)失败
很有可能是没有 myid 这个文件,或是里面的 id 数值不对哦!