一、 首先进行下载,下载2.7.6版本
下载地址:
http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation
-》上传解压
-》查看目录结构,删除.cmd文件
bin/*.cmd
删掉所有bin目录下的cmd文件
sbin/*.cmd
sbin也一样
share/doc
二、配置环境变量
1. 修改三个模块的环境变量(*.env)
hadoop-env.sh、 yarn-env.sh、mapred-env.sh
JAVA_HOME
2.添加可执行权限
进入
然后在控制台输入chmod u+x hadoop-env.sh yarn-env.sh mapred-env.sh 命令
修改成功时是这个样子
三、.按照模块来进行配置
首先notepad进入
common:
core-site.xml
<!--指定文件系统为HDFS及主节点NameNode运行的机器和端口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata-hpsk01.huadian.com:8020</value>
</property>
<!--指定文件系统的本地临时存储目录,默认是当前系统/tmp-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/tmpData</value>
</property>
执行创建临时目录
HDFS:
hdfs-site.xml
<!--由于是伪分布式部署,仅有一台机器所以block副本数没有必要设置为3,设置为1即可-->
<property><name>dfs.replication</name>
<value>1</value>
</property>
slaves
配置slaves文件,指定datanode运行在那些机器上
localhost改为主机名
主机名可以通过hostname命令获取
四、启动HDFS:
第一次使用文件系统,需要格式化。
1.格式系统
cd /opt/modules/hadoop-2.7.3
bin/hdfs namenode -format
2.启动
主节点
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh stop namenode
从节点
sbin/hadoop-daemon.sh start datanod
sbin/hadoop-daemon.sh stop datanode
3.验证是否启动成功
方式一:
控制台输入jps
控制台输入ps -ef |grep java
方式二:
通过webUI 界面查看
主机名:50070
五、测试HDFS
帮助文档
bin/hdfs dfs
HDFS文件系统目录和Linux目录结构类似
命令也类似
创建目录:bin/hdfs dfs -mkdir /datas
查看目录:
bin/hdfs dfs -ls /datas
上传文件:
bin/hdfs dfs -put /opt/datas/input.data /datas/
查看文件内容:
bin/hdfs dfs -text /datas/input.data
bin/hdfs dfs -cat /datas/input.data
下载文件:
bin/hdfs dfs -get /datas/input.data ./
删除文件
bin/hdfs dfs -rm -r /datas/input.data
六、配置YARN:
对于分布式资源管理和任务调度来说
哪些程序可以运行在YARN之上
MapReduce
并行数据处理框架
spark
基于内存分布式处理框架
storm/flink
实时流式处理框架
TeZ
分析数据,比MapReduce速度快
主节点
resourceManager
从节点
nodeManager
需要修改的配置
yarn-site.xml
<!--resourceManager服务运行的主机名称-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata-hpsk01.huadian.com</value>
</property>
<!--告知yarn ,mapreduce程序将在你这里运行-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
slaves文件:
前面已经修改了
启动:
主节点:resourceManager
sbin/yarn-daemon.sh start resourcemanager
从节点:nodeManager
sbin/yarn-daemon.sh start nodemanager
验证:
方式一:jps === ps -ef |grep java
方式二:bigdata-hpsk01.huadian.com:8088
---------------------------------------------------------------------------------------------
MapReduce:
并行计算框架(2.X)
思想:分而治之
核心
Map
并行处理数据,将数据分割,一部分一部分的处理
Reduce
将Map的处理结果进行合并,
配置:
cd {Hadoop_home}/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
<!--指定MapReduce程序运行在YARN上,默认值local-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
mapreduce程序运行在YARN上
通过经典程序案例,wordcount,
Hadoop提到测试案例,
/opt/modules/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
-》准备数据,数据是放到hdfs上
-》提交运行
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /datas/input.data /output1
配置历史服务器
查看监听已经运行完成的MapReduce任务的执行情况
配置mapred-site.xml
<!--配置历史服务器-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata-hpsk01.huadian.com:10020</value>
</property>
启动
sbin/mr-jobhistory-daemon.sh start historyserver
注意:在启动historyServer服务之前运行的job相关信息已经没了,
只有后面运行的才有。
日志集聚功能
当MapReduce程序在YARN上运行完成之后,将产生日志文件上传到HDFS目录中,
以便后续查看。
yarn-site.xml
<!--日志集聚功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日志存储的时间1周 60*60*24*7-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
重启YARN和jobHistoryServer
记得快照或者克隆保存!!!
能看到这的都不是一般人!!!