安装部署Hadoop集群
sunshj Lv4

CentOS7安装Hadoop

相关软件下载

系统镜像/软件 下载地址
CentOS-7-x86_64-DVD-2009.iso 下载链接
jdk-8u202-linux-x64.tar.gz 下载链接
hadoop-2.7.7.tar.gz 下载链接

一、搭建集群、配置主机

1. 永久修改主机名

1
hostnamectl set-hostname 主机名

2. MAC地址配置

网络适配器高级设置、随机生成MAC

3. ip地址配置^注

1
2
3
4
5
6
7
8
9
10
11
master:192.168.1.1

slave1:192.168.1.2

slave2:192.168.1.3

gateway:192.168.1.254

netmask:255.255.255.0

windows(VMnet8):192.168.1.4

修改网卡配置信息

1
cd /etc/sysconfig/network-scripts/
1
vim ifcfg-ens33
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[root@master ~]# 
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="e896b704-392e-4e44-ad67-a8ba4357a546"
DEVICE="ens33"
IPADDR=192.168.1.1
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
ONBOOT="yes"
image
image

重启网络服务

1
systemctl restart network

4. 主机名与IP映射^注

1
2
#编辑hosts
vi /etc/hosts

添加映射关系(每个主机都要配置)

1
2
3
192.168.1.1 master
192.168.1.2 slave1
192.168.1.3 slave2

5. 配置SSH免密登录

此项只需在master中配置

1
2
3
4
5
6
7
8
9
10
11
12
#进入用户目录
cd /home/sunshj
#生成密钥,回车即可
ssh-keygen -t rsa
#到.ssh目录下
cd .ssh/
#将id_rsa.pub添加到authorized_keys目录
cp id_rsa.pub authorized_keys
#slave1
ssh-copy-id -i slave1
#slave2
ssh-copy-id -i slave2

二、安装配置java环境

1. 安装包安装

解压到home/用户文件夹

1
tar -zxvf jdk-8u202-linux-x64.tar.gz

修改目录名

1
mv jdk1.8.0_202 jdk1.8

2. 配置环境变量

配置用户级环境变量

这里只需要配置用户级环境变量

1
vim .bashrc

添加变量

1
2
3
4
export JAVA_HOME=/home/sunshj/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

立即生效

1
source .bashrc

3. 复制文件到子节点

复制jdk1.8到子节点

1
2
scp -r /home/sunshj/jdk1.8 sunshj@slave1:/home/sunshj/
scp -r /home/sunshj/jdk1.8 sunshj@slave2:/home/sunshj/

复制.bashrc到子节点

1
2
scp -r .bashrc sunshj@slave1:/home/sunshj/
scp -r .bashrc sunshj@slave2:/home/sunshj/

三、安装配置Hadoop

1. 安装包安装

1
tar -zxvf hadoop-2.7.7.tar.gz

2. 配置.bashrc环境变量

1
2
3
4
5
6
7
8
9
export HADOOP_HOME=/home/sunshj/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

3. 修改hadoop配置文件

1
cd hadoop-2.7.7/etc/hadoop/

配置core-site.xml

1
vim core-site.xml

在configuration中添加

1
2
3
4
5
6
7
8
9
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/sunshj/hadoop-2.7.7/tmp</value>
<description>Abase for other temporary directories.</description>
</property>

配置hadoop-env.sh

1
export JAVA_HOME=/home/sunshj/jdk1.8

配置hdfs-site.xml

1
vim hdfs-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/sunshj/hadoop-2.7.7/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/sunshj/hadoop-2.7.7/tmp/dfs/data</value>
</property>

配置 mapred-site.xml

1
cp mapred-site.xml.template mapred-site.xml
1
vim mapred-site.xml
1
2
3
4
5
6
7
8
9
10
11
12
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>

配置yarn-site.xml

1
vim yarn-site.xml
1
2
3
4
5
6
7
8
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

修改slaves

1
vim slaves
1
2
3
#删除localhost
slave1
slave2

4. 复制文件到子节点

复制hadoop到子节点

1
2
scp -r /home/sunshj/hadoop-2.7.7 sunshj@slave1:/home/sunshj/
scp -r /home/sunshj/hadoop-2.7.7 sunshj@slave2:/home/sunshj/

复制.bashrc到子节点

1
2
scp -r .bashrc sunshj@slave1:/home/sunshj/
scp -r .bashrc sunshj@slave2:/home/sunshj/

立即生效

1
source .bashrc

5. 格式化^注

关闭enforce

切换到root用户

1
vim /etc/selinux/config
1
SELINUX=disabled

退出root,格式化

1
hdfs namenode -format

6. 启动hadoop

请在启动前打开集群

运行全部

1
cd /home/sunshj/hadoop-2.7.7/sbin
1
./start-all.sh

关闭全部

1
./stop-all.sh

五、注意事项

!关闭hadoop

==关闭虚拟机前关闭hadoop!!!==

 评论