搭建5节点hadoop+zookeeper+hbase+spark+kafka+storm(0):准备

本篇介绍安装前的准备工作。
版本:java 1.8,Hadoop 2.7.3,HBase 1.2.5,Zookeeper 3.4.10,Spark 2.1.1,Scala 2.12.2,Kafka 0.10.2.1,Storm 1.1.0。
以下操作都是以root用户进行,如需用户组和权限设定需自行配置。


1. 服务器信息及节点分配

服务器信息:

No Hostname 内网IP 外网IP OS
1 node01 192.168.5.11 192.168.205.50 Centos7
2 node02 192.168.5.12 192.168.205.62 Centos7
3 node03 192.168.5.13 192.168.205.63 Centos7
4 node04 192.168.5.14 192.168.205.70 Centos7
5 node05 192.168.5.15 192.168.205.102 Centos7

节点分配:

节点 node01 node02 node03 node04 node05
namenode YES YES NO NO NO
datanode NO NO YES YES YES
journalnode YES YES YES YES YES
zookeeper YES YES YES YES YES
hbase 主Master 备份Master RegionServer RegionServer RegionServer
spark YES YES YES YES YES
kafka YES YES YES YES YES
storm YES YES YES YES YES

2. 修改hosts文件和主机名

分别修改5个服务器的hosts文件和主机名。

2.1 修改hosts文件

编辑hosts文件:

1
sudo vi /etc/hosts

添加下面内容,注意使用内网ip,浮动ip可能导致端口无法绑定:
1
2
3
4
5
192.168.5.11 node01
192.168.5.12 node02
192.168.5.13 node03
192.168.5.14 node04
192.168.5.15 node05

2.2 修改主机名

使用hostname修改主机名为node01/node02/node03/node04/node05。注意主机名和hosts文件中设置的名称应当保持一致,否则会产生意外的错误。


3. 关闭防火墙

3.1 关闭命令

1
2
service iptables stop
chkconfig iptables off

3.2 查看防火墙状态

1
service iptables status 

4. 设置NTP时间同步

为了保证集群内的时间是一致的,我们可以将其中的一台主机作为时间服务器,其他主机设置定时任务每天与时间服务器同步一次时间。

4.1 配置某台主机为ntp时间服务器

4.1.1 安装ntp

1
yum -y install ntp

4.1.2 修改配置文件/etc/ntp.conf

1
2
#允许192.*.*.*的主机进行时间同步
restrict 192.0.0.0 mask 255.0.0.0 nomodify notrap

4.1.3 手动同步

1
ntpdate 0.asia.pool.ntp.org

4.1.4 启动服务

1
service ntpd start

4.1.5 开机启动

1
chkconfig ntpd on

4.2 配置其他主机为ntp客户端

4.2.1 安装ntp

1
yum -y install ntp

4.2.2 修改配置文件/etc/ntp.conf

1
2
3
4
5
6
#注释默认配置,添加刚刚创建的ntpserver
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.5.11

4.2.3 编辑定时器任务

1
sudo crontab -e

添加如下内容:

1
0 0 * * * /usr/sbin/ntpdate 192.168.5.11 >> /usr/hadoop/logs/ntpd.log


5. 配置SSH免登录

5.1 生成SSH的公钥

所有节点执行以下命令:

1
ssh-keygen

5.2 设置免登录

所有节点执行以下命令:

1
2
3
4
5
ssh-copy-id -i node01
ssh-copy-id -i node02
ssh-copy-id -i node03
ssh-copy-id -i node04
ssh-copy-id -i node05

5.3 验证

1
ssh node02

6. 安装jdk

6.1 yum安装openjdk

所有节点执行以下命令:

1
2
yum install java-1.8.0-openjdk.x86_64
yum install java-1.8.0-openjdk-devel.x86_64

完成后执行以下命令验证:
1
2
3
4
[root@node01 ~]# java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

6.2 设置环境变量

以bash为例,打开/root下的.bash_profile:

1
vi /root/.bash_profile

添加JAVA_HOME:
1
2
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64/jre
export PATH=$JAVA_HOME/bin:$PATH

执行以下命令生效:
1
source /root/.bash_profile

至此准备工作基本完成,下篇开始安装组件。


参照资料:
hadoop、zookeeper、hbase、spark集群环境搭建