Hadoop集群搭建以及基础环境配置教程

355次阅读
没有评论

以下配置需要三台CentOS 7虚拟机

Task1 基础环境配置

一、Linux基础环境配置

1.查看ip

[root@VM-M-01594949483071 ~]# ip a

Hadoop集群搭建以及基础环境配置教程

三台都需要查看

[root@VM-M-01594949481966 ~]# ip a

[root@VM-M-01594949480907 ~]# ip a

2.修改主机名

[root@VM-M-01594949483071 ~]# hostnamectl set-hostname master
[root@VM-M-01594949483071 ~]# bash

[root@VM-M-01594949481966 ~]# hostnamectl set-hostname slave1
[root@VM-M-01594949481966 ~]# bash

[root@VM-M-01594949480907 ~]# hostnamectl set-hostname slave2
[root@VM-M-01594949480907 ~]# bash

3.主机映射

[root@master ~]# vi /etc/hosts

[root@slave1 ~]# vi /etc/hosts

[root@slave2 ~]# vi /etc/hosts

添加以下配置

Hadoop集群搭建以及基础环境配置教程

保存并退出

二、时钟同步

1.修改配置文件

[root@master ~]# vi /etc/sysconfig/ntpd

[root@slave1 ~]# vi /etc/sysconfig/ntpd

[root@slave2 ~]# vi /etc/sysconfig/ntpd

加以下配置,保存并退出

Hadoop集群搭建以及基础环境配置教程

2.同步时间

[root@master ~]# systemctl start ntpd
[root@master ~]# date

Hadoop集群搭建以及基础环境配置教程

[root@slave1 ~]# systemctl start ntpd
[root@slave1 ~]# date

Hadoop集群搭建以及基础环境配置教程

[root@slave2 ~]# systemctl start ntpd
[root@slave2 ~]# date

Hadoop集群搭建以及基础环境配置教程

三、防火墙

1.关闭防火墙(三台都要关闭)

[root@master ~]# systemctl stop firewalld.service

[root@slave1 ~]# systemctl stop firewalld.service

[root@slave2 ~]# systemctl stop firewalld.service

2.关闭防火墙自启

[root@master ~]# systemctl disable firewalld.service

[root@slave1 ~]# systemctl disable firewalld.service

[root@slave2 ~]# systemctl disable firewalld.service

3.查看防火墙状态

[root@master ~]# systemctl status firewalld.service

Hadoop集群搭建以及基础环境配置教程

 [root@slave1 ~]# systemctl status firewalld.service

Hadoop集群搭建以及基础环境配置教程

[root@slave2 ~]# systemctl status firewalld.service

Hadoop集群搭建以及基础环境配置教程

四、ssh免密

1.创建免密(三个主机同时进行)

[root@master ~]# su – hadoop

[hadoop@master ~]$ ssh-keygen -t rsa -P “”

输入回车

[root@slave1 ~]# su – hadoop

[hadoop@slave1 ~]$ ssh-keygen -t rsa -P “”

[root@slave2 ~]# su – hadoop

[hadoop@slave2 ~]$ ssh-keygen -t rsa -P “”

Hadoop集群搭建以及基础环境配置教程

2.创建公钥

[hadoop@master ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

[hadoop@slave1 ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

[hadoop@slave2 ~]$ cat  ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

3.给公钥执行权限

[hadoop@master ~]$ chmod 700 ~/.ssh/authorized_keys

[hadoop@slave1 ~]$ chmod 700 ~/.ssh/authorized_keys

[hadoop@slave2 ~]$ chmod 700 ~/.ssh/authorized_keys 

4.将公钥传输给slave1和slave2

[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave1:~/.ssh/ 

[hadoop@master ~]$ scp ~/.ssh/authorized_keys hadoop@slave2:~/.ssh/

第一次传输是需要输入密码的,后面就不用了

5.登陆测试

[hadoop@master ~]$ ssh slave1

[hadoop@master ~]$ ssh slave2

Hadoop集群搭建以及基础环境配置教程

好了,这是登陆成功了

Task2 Hadoop集群部署

一、Hadoop软件安装

1.解压安装Hadoop

[hadoop@master ~]$ su root

[root@master hadoop]$ cd

[root@master ~]# tar -zxvf /opt/software/hadoop-2.7.1.tar.gz -C /usr/local/src/

2.更改hadoop文件名

[root@master ~]# mv /usr/local/src/hadoop-2.7.1 /usr/local/src/hadoop

3.配置hadoop环境变量

[root@master ~]# vi /etc/profile

进行如下配置

export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

保存并退出

4.修改目录所有者和所有者组

上述安装完成的Hadoop软件只能让root用户使用,要让hadoop用户能够运行Hadoop软件,需要将目录/usr/local/src的所有者改为hadoop用户。

[root@master ~]#  chown -R hadoop:hadoop /usr/local/src

[root@master ~]# ll /usr/local/src/

Hadoop集群搭建以及基础环境配置教程

/usr/local/src目录的所有者已经改为hadoop了。

二、安装JAVA环境

1.解压安装jdk

[root@master ~]# tar -zxvf  /opt/software/jdk-8u152-linux-x64.tar.gz -C /usr/local/src 

2.更改jdk的名称

[root@master ~]# mv /usr/local/src/jdk1.8.0_152/ /usr/local/src/java

[root@master ~]# chown -R hadoop:hadoop /usr/local/src/java

3.配置java的环境变量

[root@master ~]# vi /etc/profile

配置如下环境

export JAVA_HOME=/usr/local/src/java #JAVA_HOME指向JAVA安装目录
export PATH=$PATH:$JAVA_HOME/bin #将JAVA安装目录加入PATH路径 

保存并退出

4.生效环境变量

[root@master ~]# source /etc/profile

[root@master ~]# update-alternatives –install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@master ~]# update-alternatives –set java /usr/local/src/java/bin/java

5.查看java和hadoop

[root@master ~]# java -version

Hadoop集群搭建以及基础环境配置教程

[root@master ~]# hadoop version

Hadoop集群搭建以及基础环境配置教程

这样就是安装成功了

三、集群配置

1、进入到hadoop配置文件的目录下hadoop

[root@master ~]# cd /usr/local/src/hadoop/etc/hadoop

2、配置core-site.xml

[root@master hadoop]# vi core-site.xml

在文件里添加如下配置

<configuration>
        <property>
               <name>fs.defaultFS</name>
               <value>hdfs://master:9000</value>
        </property>
        <property>
               <name>hadoop.tmp.dir</name>
               <value>file:/usr/local/src/hadoop/tmp</value>
        </property>
</configuration>

保存并退出

3.配置hadoop-env.sh

[root@master hadoop]# vi hadoop-env.sh

在文件的最下方添加如下环境配置

export JAVA_HOME=/usr/local/src/java
export HADOOP_PERFIX=/usr/local/src/hadoop
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PERFIX/lib:$HADOOP_PERFIX/lib/natice" 

保存并退出

4.配置hdfs-site.xml

[root@master hadoop]# vi hdfs-site.xml

在文件里添加如下配置

<configuration>
        <property>
               <name>dfs.namenode.name.dir</name>
               <value>file:/usr/local/src/hadoop/dfs/name</value>
        </property>
        <property>
               <name>dfs.datanode.data.dir</name>
               <value>file:/usr/local/src/hadoop/dfs/data</value>
        </property>
        <property>
               <name>dfs.replication</name>   
               <value>3</value>
        </property>
</configuration>

保存并退出

5.配置mapred-site.xml

将副本拷贝成mapred-queues.xml

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml 

[root@master hadoop]# vi mapred-site.xml

在文件里添加如下配置

<configuration>
        <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>
</configuration>

保存并退出

6.配置yarn-site.xml

[root@master hadoop]# vi yarn-site.xml

在文件里添加如下配置

<configuration>
        <property>
               <name>yarn.resourcemanager.address</name>
               <value>master:8032</value>
        </property>
        <property>
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>master:8030</value>
        </property>
        <property>
               <name>yarn.resourcemanager.resource-tracker.address</name>
               <value>master:8031</value>
        </property>
        <property>
               <name>yarn.resourcemanager.admin.address</name>
               <value>master:8033</value>
        </property>
        <property>
               <name>yarn.resourcemanager.webapp.address</name>
               <value>master:8088</value>
        </property>
        <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
        </property>
        <property>
               <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
</configuration> 

保存并退出

7.配置masters文件

执行以下命令修改masters配置文件。

[root@master hadoop]# vi masters  #加入以下配置信息

master 

保存并退出

8.配置slaves

[root@master hadoop]# vi slaves

在文件里改成如下配置

slave1

slave2

保存并退出

9.创建目录

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/name

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/dfs/data

[root@master hadoop]# mkdir -p /usr/local/src/hadoop/tmp

四、主从节点文件的分发

1.分发hadoop目录

[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/java/ root@slave1:/usr/local/src/

[root@master hadoop]# scp -r /usr/local/src/java/ root@slave2:/usr/local/src/

2.分发环境配置

[root@master hadoop]# scp -r /etc/profile root@slave1:/etc/ 

[root@master hadoop]# scp -r /etc/profile root@slave2:/etc/ 

在每个Slave节点上修改/usr/local/src/hadoop目录的权限

[root@master ~]# chown -R hadoop:hadoop /usr/local/src/hadoop/

[root@slave1~]# chown -R hadoop:hadoop /usr/local/src/hadoop/ 

[root@slave2~]# chown -R hadoop:hadoop /usr/local/src/hadoop/ 

3.生效环境配置

[root@slave1 ~]# source /etc/profile

[root@slave1 ~]# update-alternatives –install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@slave1 ~]# update-alternatives –set java /usr/local/src/java/bin/java

[root@slave2 ~]# source /etc/profile

[root@slave2 ~]# update-alternatives –install /usr/bin/java java /usr/local/src/java/bin/java 200

[root@slave2 ~]# update-alternatives –set java /usr/local/src/java/bin/java

Task3 Hadoop集群启动测试

一、hadoop启动

1.格式化元数据

进入hadoop用户

[root@master hadoop]# su hadoop

[hadoop@master hadoop]$ source /etc/profile

[root@slave1 hadoop]# su hadoop

[hadoop@slave1 hadoop]$ source /etc/profile

[root@slave2 hadoop]# su hadoop

[hadoop@slave2 hadoop]$ source /etc/profile

[hadoop@master hadoop]$ hdfs namenode -format

状态为0显示的是成功

Hadoop集群搭建以及基础环境配置教程

2.启动hdfs

[hadoop@master ~]$ start-dfs.sh

Hadoop集群搭建以及基础环境配置教程

3.启动yarn

[hadoop@master ~]$ start-yarn.sh

Hadoop集群搭建以及基础环境配置教程

二、hadoop的查看

1.进程的查看

[hadoop@master ~]$ jps

Hadoop集群搭建以及基础环境配置教程
Hadoop集群搭建以及基础环境配置教程
Hadoop集群搭建以及基础环境配置教程

2.master:50070查看

进入到浏览器查看

Hadoop集群搭建以及基础环境配置教程

3.master:8088查看

查看成功

Hadoop集群搭建以及基础环境配置教程

4.master:9000查看

显示有人访问

Hadoop集群搭建以及基础环境配置教程

三、mapreduce测试

1.创建一个测试文件

[hadoop@master ~]$ vi a.txt

内容如下:

HELLO WORLD

HELLO HADOOP

HELLO JAVA

2.在hdfs创建文件夹

[hadoop@master ~]$ hadoop fs -mkdir /input

3.将a.txt传输到input上

[hadoop@master ~]$ hadoop fs -put ~/a.txt /input

4.进入到jar包测试文件目录下

[hadoop@master hadoop]$ cd /usr/local/src/hadoop/share/hadoop/mapreduce/ 

5.测试mapreduce

[hadoop@master mapreduce]$ hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /input/a.txt /output

成功如下:

Hadoop集群搭建以及基础环境配置教程
Hadoop集群搭建以及基础环境配置教程
Hadoop集群搭建以及基础环境配置教程

注:如果需要重复执行,需要删除输出目录,否则会报错

[hadoop@master mapreduce]$ hdfs dfs -rm -r -f /output

6.查看hdfs下的传输结果

[hadoop@master mapreduce]$ hadoop fs -lsr /output

Hadoop集群搭建以及基础环境配置教程

7.查看文件测试的结果

[root@master mapreduce]# hadoop fs -cat /output/part-r-00000

Hadoop集群搭建以及基础环境配置教程
到点睡觉了
版权声明:本站原创文章,由 到点睡觉了2022-01-05发表,共计8718字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)