安装HADOOP伪分布式环境

来源:互联网 发布:百分百圣洁知乎 编辑:程序博客网 时间:2024/06/07 16:27

本次使用的hadoop版本是hadoop-2.6.0-cdh5.7.6
参考文献:hadoop搭建指南


搭建hadoop


1. 配置JAVA_HOME

修改hadoop-env.sh yarn-env.sh mapred-env.sh的JAVA_HOME

[xua@bigdata-hpsk hadoop]$ pwd/opt/cdh-5.7.6/hadoop-2.6.0-cdh5.7.6/etc/hadoop

添加内容如下:

export JAVA_HOME=/opt/modules/jdk1.7.0_67

2. 配置HDFS文件系统

- core-site.xml
指定文件系统为HDFS及NameNode主节点所运行的机器和端口号

<property>       <name>fs.defaultFS</name>       <value>hdfs://bigdata-hpsk:8020</value></property>

指定HDFS文件系统的本地临时目录,默认值为当前系统的/tmp

<property>       <name>hadoop.tmp.dir</name>       <value>/opt/cdh-5.7.6/hadoop-2.6.0-cdh5.7.6/data/tmpData</value></property>

创建对应的目录 data/tmpData

- hdfs-site.xml

HDFS文件系统存储文件,将文件划分为一块一块的方式进行存储,称为block,每个block的大小为128MB(此版本的默认大小),并且每个block有三个副本,存储在不同的dataNode上,此处是伪分布式一台机器,设置副本为1即可。

<property>        <name>dfs.replication</name>        <value>1</value></property>

- slaves文件

指明DataNode节点运行的机器

bigdata-hpsk

备注
此文件中一行即代表一个主机名称,多个机器写多行

3. 启动HDFS服务

  • 格式文件系统
$ bin/hdfs namenode -format
  • 启动服务
NameNode:        $ sbin/hadoop-daemon.sh start namenodeDataNode:        $ sbin/hadoop-daemon.sh start datanode
  • 验证
    方式一:
    $ jps
    2916 DataNode
    2866 NameNode
    方式二:
    WEB UI监控页面
    http://namenode-address:50070

  • 如果验证 找不到,查看日志
    HADOOPHOME/logs/.log使more more /opt/cdh-5.7.6/hadoop-2.6.0-cdh5.7.6/logs/hadoop-xua-namenode-bigdata-hpsk.log

  • 测试

$ bin/hdfs dfs ## 创建目录    $ bin/hdfs dfs -mkdir -p /conf/tmp## 例举目录下文件    $ bin/hdfs dfs -ls -R /## 上传文件    $ bin/hdfs dfs -put etc/hadoop/core-site.xml /conf/tmp## 读取HDFS上小文件内容    $ bin/hdfs dfs -text /conf/tmp/core-site.xml## 下载HDFS上文件    $ bin/hdfs dfs -get /conf/tmp/core-site.xml get-site.xml## 删除文件    $ bin/hdfs dfs -rm /conf/tmp/core-site.xml

YARN on Single Node


1. 配置YARN集群
在yarn-site.xml文件中
指定ResourceManager运行的主机

<property>        <name>yarn.resourcemanager.hostname</name>        <value>bigdata-hpsk</value></property>

配置MapReduce程序运行在YARN上,支持

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

在slaves文件中配置NodeManagers运行的机器

bigdata-hpsk

2. 启动YARN的服务

主节点:RM    $ sbin/yarn-daemon.sh start resourcemanager从节点    $ sbin/yarn-daemon.sh start nodemanager

3. 验证
WEB UI 界面:
http://rm-address:8088/


配置历史服务器MRJobHistory

在Hadoop 2.x 中针对MapReduce程序来说,有一个服务【历史服务器 MRJobHistory】提供WEB UI方式,监控管理已经运行完成的MapReduce任务(YARN上的)

配置MR-Job-Historyer,在etc/hadoop/mapred-site.xml中配置

<property>        <name>mapreduce.jobhistory.address</name>        <value>bigdata-hpsk:10020</value></property><property>        <name>mapreduce.jobhistory.webapp.address</name>        <value>bigdata-hpsk:19888</value></property>

启动服务

$ sbin/mr-jobhistory-daemon.sh start historyserver

验证:

http://mr-job-history-address:19888/


当我们去查看已经运行完成的MapReduce任务的监控信息的时候,出现如下错误:Aggregation is not enabled

经过分析发现,默认情况下,我们运行MR任务完成以后,它的AppMaster和所有的Task日志,是在所运行的NodeManager节点目录

分析:
Aggregation:
表示的是,将日志信息放到HDFS文件系统上,当MR程序运行完成以后。//要重启yarn服务

配置日志聚集功能,在yarn-site.xml上配置
-启用:

yarn.log-aggregation-enable -> true

-保留时间

yarn.log-aggregation.retain-seconds -> 604800

-检查时间间隔

yarn.log-aggregation.retain-check-interval-seconds -> 86400

重启服务
-YARN 服务全部重启
-MRJobHistoryServer服务也要重启