开发包源文件
链接: 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
配置视频
后期上传