CenOS7配置Hadoop集群环境(全分布式)

开发包源文件

链接: https://pan.baidu.com/s/1ovD-2jmIo0zoTMN70wtGgQ
密码: udeo
下载途径不唯一

解压、重命名

为啥要更改名称?
答:这么长的名称,你想上天吗?

tar -vxf hadoop-2.8.4.tar.gz
mv hadoop-2.8.4 hadoop

配置环境变量

你观看此文章前我相信你一定安装好了Java环境

vim /etc/profile
# 这里的/software/hadoop取决于个人 是解压后的路径名称
export HADOOP_HOME=/software/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

输入hadoop有如下截图即代表环境变量配置成功在这里插入图片描述

配置Slaves文件

文件介绍

Salves文件有什么用?
在这里插入图片描述
官方解释:运行datanode和节点管理器的机器列表(一行写一个)
我的理解:指明了哪些机器是我们需要用到的机器。

配置文件

这里的/software/hadoop/是我的hadoop安装目录,接下来不再提醒。

vim  /software/hadoop/etc/hadoop/slaves

在这里插入图片描述
yun1、yun2作为存储机器、会有datanode进程。
这里的yun1、yun2是机器的别名,也可以直接输入ip,但不推荐这么做。而且机器之间也要设置免密登陆。
修改机器别名教程
机器免密登陆教程

配置 core-site文件

文件介绍

core-site文件有什么用?
官方解释:Hadoop的Core配置项,例如HDFS、MapReduce、Yarn常用的I/O设置等。
我的理解:定义HadoopMaster的URI和端口以及其他未知功能

vim /software/hadoop/etc/hadoop/core-site.xml

这里的yun1是slaves文件里的机器,9090是端口号(如果端口号被占用,可换成9001或其他)

配置文件

<!-- 定义HadoopMaster的URI和端口 -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://yun1:9000</value>
</property>
</configuration>

配置hdfs-site.xml

文件介绍

hdfs-site.xml文件有什么用?
官方解释:Hadoop守护进程的配置项,包括namenode、辅助namenode、datanode。
我的理解:指明了谁是儿子谁是爹,谁去干活谁去歇。(主从结构了解一下)

配置文件

vim  /software/hadoop/etc/hadoop/hdfs-site.xml
<configuration>

<!--配置备用namenode--> 
<property> 
<name>dfs.namenode.secondary.http-address</name>
<value>yun2:50090</value>
</property> 

<!--指定DataNode存储block的副本数量-->
 <property>
<name>dfs.replication</name>
<value>1</value> 
</property> 

<!--映射信息的保存路径-->
<!--备注:data文件夹在执行启动命令start-all.sh(start-dfs.sh)时自动创建 -->
<property>
<name>dfs.name.dir</name> 
<value>/software/hadoop/data/namenode</value> 
</property>

<!--真正的datanode数据保存路径-->
<property>
<name>dfs.data.dir</name>
<value>/software/hadoop/data/datanode</value> 
</property>

<!--临时目录设定-->
<property> 
<name>dfs.tmp.dir</name>
<value>/software/hadoop/data/tmp</value>
</property> 

<!--安全模式 -->
<property>
<name>dfs.namenode.safemode.threshold-pct:</name>
<value>0.55</value> 
</property>

<!--默认值为true,即启用权限检查。如果为 false,则禁用-->
<property>
<name>dfs.permissions.enabled</name>
<value>false</value> 
</property>

</configuration> 

配置mapred-site.xml 文件

文件介绍

mapred-site.xml文件有什么用?
官方解释:MapReduce守护进程的配置项,包括作业历史服务器。
我的理解:配置MapReduce的文件

文件配置

vim  /software/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<!--使用yarn运行mapreduce程序--> 
<property> 
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

配置yarn-site.xml文件

文件介绍

yarn-site.xml文件有什么用?
官方解释:Yarn守护进程的配置项,包括资源管理器、web应用代理服务器和节点管理器。
我的理解:配置Yarn的文件

配置文件

vim  /software/hadoop/etc/hadoop/yarn-site.xml
<configuration>

<property> 
<!--运行ResourceManager机器所在的节点位置-->
<name>yarn.resourcemanager.hostname</name> 
<value>yun1</value>
</property>

<property> 
<name>yarn.nodemanager.aux‐services</name> 
<value>mapreduce_shuffle</value> 
</property>
</configuration>

配置hadoop-env.sh文件

文件介绍

hadoop-env.sh有什么用?
指明Java地址和Hadoop/etc/hadoop地址

配置文件

注意hadoop的地址,是hadoop下的etc下的hadoop

# The java implementation to use.
export JAVA_HOME=/software/java/

# The jsvc implementation to use. Jsvc is required to run secure datanodes
# that bind to privileged ports to provide authentication of data transfer
# protocol.  Jsvc is not required if SASL is configured for authentication of
# data transfer protocol using non-privileged ports.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=export HADOOP_CONF_DIR=/software/hadoop/etc/hadoop/

如果你完成到此步,代表一台机器环境配置成功。
不要高兴太早了,你才配置好一台机器。

机器一致性

集群每台机器都要配置上面的环境,要保持一致。

如果两三台机器,你可以配两三遍,如果100台机器,你难道要配置100遍吗?(要我给你双击666???)

你可以这样做:copy文件就好啦。

复制环境变量文件

如果A机器的环境变量文件不止Java、Hadoop环境,还有一个Python环境,复制环境变量文件给其他机器就可能出错。
要确保集群中的每台机器的功能一致性

#root是用户、yun2是机器名
scp -r /etc/profile root@yun2:/etc

复制hadoop文件

scp -r /software/hadoop root@yun2:/software

开始运行hadoop环境

下列的所有指令都是在yun1(主节点)上输入的

首先,你需要格式化namenode

hdfs namenode -format

开启进程

#启动hdfs
start-dfs.sh
#启动yarn 必须在ResourceManager的虚机中启动
start-yarn.sh

然后查看主节点(大哥)进程:
在这里插入图片描述
查看web页面
下方的xx换成你的主节点ip
http://xx.xxx.xx.xx:50070/dfshealth.html#tab-overview

在这里插入图片描述
如果进程和web页面都可以看到,说明你运气真好,一次就成功了。
如果失败了,别灰心,我当初第一次配环境屎都快急出来了也没配置好。

第一步:检查上面的所有配置文件
第二步:删除data文件夹(每台机器都要删除)
在这里插入图片描述

rm -rf /software/hadoop/data/

第三步:格式化namenode(最好每台机器都格式化)

hdfs namenode -format

第四步:开启进程

#启动hdfs
start-dfs.sh
#启动yarn 必须在ResourceManager的虚机中启动
start-yarn.sh

配置视频

后期上传

猜你喜欢

转载自blog.csdn.net/Mr_Qian_Ives/article/details/109094023