Centos 7下Hadoop分布式集群搭建

 

 

一、关闭防火墙(直接用root用户)

#关闭防火墙

sudo systemctl stop firewalld.service

#关闭开机启动

sudo systemctl disable firewalld.service

二、修改每台主机的Hostname(三台主机都一样)

vim /etc/hosts 

注释原有的内容,加入如下内容,ip地址为你自己的虚拟机的IP地址:

more /etc/hosts查看是否正确,需要重启后方能生效。重启命令reboot now

more /etc/hosts
reboot now

三、免密登陆

 1.给3个机器生成密钥文件

由于Namenode会执行一系列脚本去控制Datanode,因此需要设置SSH免密钥登录,省去输入密码的麻烦。

ssh-keygen  -t   rsa   -P  ''

2.生成SSH KEY并将其拷贝到各个节点主机上

依次执行如下命令:

ssh-keygen 
ssh-copy-id Master-huyaqiong #免密钥登录本机 
ssh-copy-id Slave1-huyaqiong
ssh-copy-id Slave2-huyaqiong
3.进行免密码登陆测试

四、安装JDK

1.下载JDK,

我下载的版本为:jdk-8u191-linux-x64.rpm

2.安装
rpm -ivh jdk-8u191-linux-x64.rpm
3.配置环境变量
export JAVA_HOME=/usr/java/default 
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
4.使环境变量生效

执行如下命令:

source /etc/profile
5.选择正确的JDK版本

为防止系统里存在多个版本的JDK,需要使用alternatives选择正确的版本:

alternatives --config java

请选择/usr/java/jdk1.8.0_71/jre/bin/java对应的数字标号。

查看java版本

Java -version

五 安装hadoop

本步骤需要在每个节点下载和安装hadoop,并做简单的配置。

1.安装Hadoop
tar zxvf hadoop-2.7.3.tar.gz -C /usr/hadoop --strip-components 1
2.配置环境变量

打开~/.bashrc文件,在文件末添加如下内容:

export HADOOP_HOME=/usr/hadoop 
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
3.使环境变量生效
source ~/.bashrc

六. 配置hadoop

1.首先登陆到Master节点
2.创建Datanode文件目录
mkdir ~/datanode 

# 远程到Datanode节点创建对应的目录

ssh Slave1-huyaqiong "mkdir ~/datanode" 
ssh Slave2-huyaqiong "mkdir ~/datanode"
3.配置hdfs

首先打开/usr/hadoop/etc/hadoop /hdfs-site.xml文件,在<configuration>

</configuration>之间添加如下内容:

<property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/hadoop/datanode</value>
  </property>
4.将配置文件同步到Datanode
scp  /usr/hadoop/etc/hadoop hdfs-site.xml root@172.20.20.110:/usr/hadoop/etc/hadoop
scp  /usr/hadoop/etc/hadoop hdfs-site.xml root@172.20.20.249:/usr/hadoop/etc/hadoop
5.配置hadoop core

首先打开/usr/hadoop/etc/hadoop/core-site.xml文件,在<configuration> - </configuration>之间添加如下内容:

6.在hadoop中设置JAVA_HOME环境变量

首先通过如下命令在本机修改hadoop-env.sh文件中的环境变量:

sed -i -e 's/\${JAVA_HOME}/\/usr\/java\/default/' /usr/hadoop/etc/hadoop/hadoop-env.sh
7.配置文件同步到Datanode
scp  /usr/hadoop/etc/hadoop/hadoop-env.sh root@172.20.20.107:/usr/hadoop/etc/hadoop/
scp  /usr/hadoop/etc/hadoop/hadoop-env.sh root@172.20.20.249:/usr/hadoop/etc/hadoop/
8.创建Namenode文件目录

本步骤只需在Namenode上操作。
首先创建目录:

mkdir /root/Namenode
9.配置hdfs-site.xml

编辑usr/hadoop//etc/hadoop/hdfs-site.xml文件,增加如下的配置项:

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/hadoop/namenode</value>
</property>
10.配置map-reduce

本步骤只需在Namenode上操作,打开/ usr/hadoop/etc/hadoop/mapred-site.xml文件,新增如下内容:

<configuration>
   <property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
   </property>
</configuration>
11.配置yarn

首先打开/ usr/hadoop/etc/hadoop/yarn-site.xml文件,在<configuration> - </configuration>之间添加如下内容:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>Master-huyaqiong</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
12.将配置文件同步到Datanode:
scp yarn-site.xml root@172.20.20.249://usr/hadoop/etc/hadoop

scp yarn-site.xml root@172.20.20.110://usr/hadoop/etc/hadoop
13.配置slave

打开etc/hadoop/slaves文件,添加如下内容:

 

七、启动验证

分别启动hdfs和yarn服务: 运行示例进行验证

start-dfs.sh
start-yarn.sh

在Namenode上运行jps命令,应该会看到如下进程:

在Datanode上运行jps命令,应该会看到如下进程:

通过web界面查看:

访问 http://172.20.20.249:8088/,可以看到如下图所示的页面,用来监控任务的执行情况:

 

 

posted @ 2018-12-10 22:21  木v凉  阅读(287)  评论(0编辑  收藏  举报