hadoop3.2集群搭建
版本选择
JDK:jdk1.8.0_141
zookeeper:apache-zookeeper-3.5.9
hadoop:hadoop-3.2.3
我这里是本机虚拟机搭建,使用三个节点,分别是node01、node02、node03
集群部署规划
node01 | node02 | node03 |
---|---|---|
Zookeeper | Zookeeper | Zookeeper |
NameNode | NameNode | |
ZKFC | ZKFC | |
JournalNode | JournalNode | JournalNode |
DataNode | DataNode | DataNode |
ResourceManager | ResourceManager | |
NodeManager | NodeManager | NodeManager |
HistoryServer |
一、搭建准备
虚拟机安装步骤这里就不说了,我这里安装的是CentOS7,直接上虚拟机配置
1、三台机器修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-ens33
*个人安装的虚拟机网卡名不一样,后缀不一样,我的是ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.110
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
其他两台的地址分别是:
IPADDR=192.168.1.120
IPADDR=192.168.1.130
重启网络服务
service network restart
2、三台关闭防火墙
-查看防火墙状态
firewall-cmd --state
-关闭防火墙
systemctl stop firewalld.service
-禁止开机启动
systemctl disable firewalld.service
3、三台机器关闭selinux
vi /etc/selinux/config
修改:SELINUX=disabled
4、三台机器更改主机名
hostnamectl set-hostname node01
分别修改为:node02、node03
或者用
vi /etc/hostname
node01、node02、node03
查看主机名:uname -n
5、创建hadoop用户组和hadoop用户
#1.创建用户组hadoop
groupadd hadoop
#2.创建用户hadoop并添加到hadoop用户组中
useradd -g hadoop hadoop
#3.使用id命令查看hadoop用户组和hadoop用户创建是否成功
id hadoop
#用户uid 用户组id gid 用户组名
uid=1000(hadoop) gid=1000(hadoop) groups=1000(hadoop)
#3设置hadoop用户密码
passwd hadoop
Changing password for user hadoop.
New password: #输入hadoop后回车
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: #再次输入hadoop后回车
passwd: all authentication tokens updated successfully.
6、三台机器定义统一目录
# 软件压缩包存放目录
mkdir -p /bigdata/soft
# 软件解压后存放目录
mkdir -p /bigdata/install
# 将文件夹权限更改为hadoop用户
chown -R hadoop:hadoop /bigdata
chmod -R 755 /bigdata
修改环境变量的权限
chown -R hadoop:hadoop /etc/profile
把安装包上传到指定目录
7、三台机器更改主机名与IP地址映射
vi /etc/hosts
192.168.1.110 node01
192.168.1.120 node02
192.168.1.130 node03
8、三台机器同步时间
#安装插件
yum -y install ntpdate
#编辑定时器,定时同步时间
crontab -e
*/1 * * * * /usr/sbin/ntpdate time1.aliyun.com
9、三台机器安装jdk
#进入安装包上传的目录
cd /bigdata/soft/
#解压到指定目录
tar -zxf jdk-8u141-linux-x64.tar.gz -C /bigdata/install/
#配置环境遍历
vi /etc/profile
#添加以下配置内容,配置jdk环境变量
export JAVA_HOME=/bigdata/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH
#
source /etc/profile
#查看jdk是否安装成功
java -version
10、hadoop用户免密码登录
三台机器在hadoop用户下,执行以下命令
ssh-keygen -t rsa
三次回车完成
将公钥拷贝到node01服务器上面去
ssh-copy-id node01
node01在hadoop用户下,执行以下命令,将authorized_keys拷贝到node02与node03服务器
cd /home/hadoop/.ssh/
scp authorized_keys node02:$PWD
scp authorized_keys node03:$PWD
11、三台机器关机重启
init 6
或
reboot
12、三台机器安装zookeeper集群
在第一台机器安装zookeeper
解压
cd /bigdata/soft
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz -C /bigdata/install/
修改配置文件
#进入目录
cd /bigdata/install
#修改文件夹名称
mv apache-zookeeper-3.5.9-bin.tar.gz zookeeper
#进入配置文件目录
cd zookeeper/conf
#复制配置文件
cp zoo_sample.cfg zoo.cfg
#创建zk数据存储目录
mkdir -p /bigdata/install/zookeeper/zkdatas
#编辑文件
vi zoo.cfg
dataDir=/bigdata/install/zookeeper/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
添加myid配置
/bigdata/install/zookeeper/zkdatas路径下创建一个文件,文件名为myid ,文件内容为1
echo 1 > /bigdata/install/zookeeper/zkdatas/myid
安装包分发并修改myid的值
第一台机器上面执行以下两个命令
scp -r /bigdata/install/zookeeper/ node02:/bigdata/install/
scp -r /bigdata/install/zookeeper/ node03:/bigdata/install/
第二台机器上修改myid的值为2
直接在第二台机器任意路径执行以下命令
echo 2 > /bigdata/install/zookeeper/zkdatas/myid
第三台机器上修改myid的值为3
直接在第三台机器任意路径执行以下命令
echo 3 > /bigdata/install/zookeeper/zkdatas/myid
三台机器启动zookeeper服务
#三台机器都要执行
/bigdata/install/zookeeper/bin/zkServer.sh start
#查看启动状态
ps -ef|grep zookeeper
#或者
/bigdata/install/zookeeper/bin/zkServer.sh status
集群启动、停止脚本
#创建脚本存放目录
mkdir -P /home/hadoop/bin
#进入目录
cd /home/hadoop/bin
#添加编辑文件
vi zk.sh
#!/bin/bash
case $1 in
"start" ){
for m in 1 2 3
do
ssh node0$m "source /etc/profile;/bigdata/install/zookeeper/bin/zkServer.sh start"
done
};;
"stop"){
for m in 1 2 3
do
ssh node0$m "source /etc/profile;/bigdata/install/zookeeper/bin/zkServer.sh stop"
done
};;
esac
保存退出后给文件赋予执行权限
chmod 777 zk.sh
#服务启动
zk.sh start
#服务停止
zk.sh stop
二、正式开始搭建hadoop
1、解压
cd /bigdata/soft
tar -xzvf hadoop-3.2.3.tar.gz -C /bigdata/install
2、配置hadoop-env.sh
#
cd /bigdata/install/
#修改文件名
mv hadoop-3.2.3.tar.gz hadoop
#进入配置文件目录
cd hadoop/etc/hadoop
#修改配置
vi hadoop-env.sh
export JAVA_HOME=/bigdata/install/jdk1.8.0_141
export HADOOP_HOME=/bigdata/install/hadoop
3、配置core-site.xml
vi core-site.xml
<configuration>
<