Hadoop环境配置教程总结

原创 2017年01月03日 10:27:55

前言

记录一下学习搭建Hadoop环境时看的一些文章

正文

1,单机模式

2,伪分布式

3,完全分布式安装与配置

基本配置:
- Hadoop2.3完全分布式安装与配置 :2.3版本的Hadoop的配置文章
- 【Hadoop基础教程】4、Hadoop之完全分布式环境搭建:版本是Hadoop1.2.1,可以参考一下。但JobTracker和TaskTracker相关的可以不看,因为在Hadoop2.x以后,JobTracker和TaskTracker都变成了ResourceManager和NodeManager。
- Hadoop2.2.0中配置SecondaryNameNode:这个文章把SecondaryNamenode的每个配置项的作用都解释的很好,推荐
- hadoop2.X如何将namenode与SecondaryNameNode分开配置:这是关于配置SecondaryNameNode的文章
- Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS:这个教程版本是2.6.0,还没有看,但博客观看体验非常好,有需要的可以看看。
- Hadoop Cluster Setup:官方的教程,还没有看过,有时间看看

CUP和内存配置:

注意:
(1)在配置完全分布式时,原来以为Slave机器在配置core-site.xml和hdfs-site.xml等文件时,可以少配置很多东西。但其实不是,也需要配置很多东西。就有一个篇解决Slave配置中问题的文章中写的一部分:

把Master中的core-site.xml和hdfs-site.xml文件拷贝一份到slave机器。

这段说明可以看出,Master机器和Slave机器在基础配置里还是有很多东西要一样的。

(2)如果想在本机用虚拟机进做环境的话,一定要设置好“内存”和“CPS”的参数。因为如果这个设置不好的话,会有下面的两种情况:

  • 程序会一直停留有Pending的状态,不能进入到Running状态,因为没有资源能够分配。我刚才开始搭建环境的时候,给Master和Slave虚拟机只分配了1G的内存,而没有修改“内存”和“CPU”相关的相关配置(这些参数的默认值有很多就超过了1G)。
  • 到了Running状态,启动log始终显示mapreduce.Job: map 0% reduce 0%。这是因为yarn.nodemanager.resource.memory-mb 配置的最小值必须为4096,但我只设置了1024。把虚拟机的内存设置为5120(1024 x 5)后,再把内存的相关参数扩大后,就可以运行了。
    关于map 0% reduce 0% 参考:

(3)Master和Slave上的几个conf配置文件不需要全部同步,如果确定都是通过Master去启动和关闭,那么Slave机器上的配置不需要去维护。但如果希望在任意一台机器都可以启动和关闭Hadoop,那么就需要全部保持一致了。

(4)Master和Slave机器上的/etc/hosts中必须把集群中机器都配置上去,就算在各个配置文件中使用的是IP。这个吃过不少苦头,原来以为如果配成IP就不需要去配置Host,结果发现在执行Reduce的时候总是卡住,在拷贝的时候就无法继续下去,不断重试。另外如果集群中如果有两台机器的机器名如果重复也会出现问题。

(5)如果在新增了节点或者删除节点的时候出现了问题,首先就去删除Slave的hadoop.tmp.dir,然后重新启动试试看,如果还是不行那就干脆把Master的hadoop.tmp.dir删除(意味着dfs上的数据也会丢失),如果删除了Master的hadoop.tmp.dir,那么就需要重新namenode –format。

上面的(3)~(5)参考:Hadoop中的集群配置和使用技巧

4,测试搭建的环境:

(1)使用命令:jps
使用$HADOOP_HOME/sbin目录下的:start-dfs.sh和start-yarn.sh命令,启动hdfs和yarn后,在Master机器上,使用JPS命令后,能看到以下的进程:

  • ResourceManager
  • NameNode

在Slave机器上,使用JPS命令后,能看到以下的进程:

  • DataNode
  • SecondaryNameNode
  • nodemanager

因为我把SecondaryNamenode配置到了Slave机器上,所以显示在Slave上面。

(2)测试WEB服务
用下面的url查看Web服务是否启动:

(3)运行程序
参考下面的文章来运行测试程序。下面文章最下面的部分,写了如何运行Hadoop自带的程序,来测试搭建的环境。
Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

5,配置文件的中使用的设置的解释

core-site.xml:

<property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop/tmp</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop-master:9000</value>
</property>
<!-- secondarynamenode setting -->
<property>
  <name>fs.checkpoint.period</name>
  <value>3600</value>
</property>
<property>
  <name>fs.checkpoint.size</name>
  <value>67108864</value>
</property>

fs.defaultFS:定义NameNode的URI和端口
hadoop.tmp.dir:SecondaryNamenode就生成在这个目录中,所以这个目录的权限一定要给Hadoop用户
fs.checkpoint.period:表示多长时间记录一次hdfs的镜像。默认是1小时
fs.checkpoint.size:定义了edits日志文件的最大值,一旦超过这个值会导致强制执行备份(即使没到检查点的最大时间间隔)。默认值是64MB

hdfs-site.xml:

<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/hdfs/name</value>
</property>
<property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop/hdfs/data</value>
</property>
<!-- secondary namenode setting -->
<property>
    <name>dfs.http.address</name>
    <value>hadoop-master:50070</value>
</property>
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop-slave-1:50090</value>
</property>

dfs.replication:分布式文件系统数据块复制数。一般来说,设置3(份)就可以。
dfs.namenode.name.dir:NameNode 持久存储命名空间及事务日志的本地文件系统路径。
dfs.datanode.data.dir:DataNode存放块数据的本地文件系统路径,逗号分割的列表。
dfs.http.address:NameNode节点开放的HTTP服务,是由Secondary 节点获取fsimage ,edits 文件的通道
dfs.namenode.secondary.http-address:Secondary 节点开放的HTTP服务,是由NameNode节点获取新的fsimage 文件的通道

mapred-site.xml:

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

mapreduce.framework.name:新框架支持第三方 MapReduce 开发框架以支持如 SmartTalk/DGSG 等非 Yarn 架构,注意通常情况下这个配置的值都设置为 Yarn,如果没有配置这项,那么提交的 Yarn job 只会运行在 locale 模式,而不是分布式模式。

yarn-site.xml:

<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop-master</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
</configuration>

yarn.resourcemanager.hostname:ResourceManager的主机名
yarn.nodemanager.aux-services:NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序

版权声明:本文为博主原创文章,未经博主允许随便转载。(你喜欢就好)

相关文章推荐

【Hadoop基础教程】2、Hadoop之单机模式搭建

单机模式所需要的系统资源是最少的,这种安装模式下,Hadoop的core-site.xml、mapred-site.xml、hdfs-site.xml配置文件均为空。默认情况下,官方hadoop-1....

Hadoop集群配置(最全面总结)

Hadoop集群配置(最全面总结)  huangguisu        通常,集群里的一台机器被指定为 NameNode,另一台不同的机器被指定为JobTracker。这些机器是masters。余下...
  • hguisu
  • hguisu
  • 2012-02-06 17:15
  • 105873

Hadoop平台搭建使用系列教程(5)- 网络以及初始统一环境配置

雪影工作室版权所有,转载请注明【http://blog.csdn.net/lina791211】  Tips:以下操作完全可以在远程终端(SSH Secure ShellClient)中完成。 ...

hadoop开发运行环境配置及相关问题总结

Hadoop环境安装配置 一、软件准备    1.软件:Unbuntu11.10 , jdk1.6以上, hadoop-0.20.203, eclipseHelilo3.6.2版,    及修改...

hadoop_win7_32位环境配置

  • 2015-11-18 16:28
  • 105KB
  • 下载

hadoop环境配置在eclipse上配置的总结

这几天配置hadoop以及启动的一些问题的总结。。。。          首先配置!!!     hadoop配置文件所在地:  $HADOOP_HOME/etc/hadoo...

hadoop环境配置

3、MyEclipse中hadoop环境配置

(1)将插件放在MyEclipse的安装目录下      D:\java_dev\MyEclipse\MyEclipse Professional 2014\plugins   (2)重启MyEc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)