hadoop2.2.0 单节点安装 -翻译自hadoop官方文档-与原文有出入

Hadoop集群安装与配置详解
本文详细介绍了Hadoop的安装、配置及环境变量设置过程,包括下载发行版、安装JDK、设置环境变量、配置核心文件(如core-site.xml、hdfs-site.xml等),并启动相关守护进程以实现HDFS和YARN的运行。

原文链接http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/SingleCluster.html

  • Hadoop安装包

你应该下载hadoop的发行版安装包 

hadoop下载 在这里选择一个镜像站点然后选择你要下载的版本,我们这里要选择hadoop2.2.0

当然你也可以下载hadoop-2.2.0-src.tar.gz自行编译。需要注意的是64位版本的Linux系统必须要自行编译

详细的请看http://blog.youkuaiyun.com/tianfei_1984/article/details/20030383 

这里需要注意的是:protobuf-2.5.0安装的时候会有一些问题。

笔者是解压到 /usr/local/lib下然后.configrue的参数--prefix=/usr 才成功,开始笔者解压到 /opt/目录下,配置失败


  • 设置环境变量

再此之前你需要将JDK安装配置好,这里就不再赘述了。


将hadoop的安装包解压,配置

$HADOOP_COMMON_HOME

$HADOOP_HDFS_HOME

$HADOOP_MAPRED_HOME

$HADOOP_YARN_HOME

$HADOOP_MAPRED_HOME


我们打开 ~/.bashrc

在文件底部先加入

export HADOOP_HOME=/%你的hadoop安装目录%/

export $HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

然后

export HADOOP_COMMON_HOME=$HADOOP_HOME

一次类推,以上所有变量都设置好

最后我们把hadoop的执行目录加入到$PATH里

export PATH=$PATH:$HADOOP_HOME/bin

重启一下终端



NOTE:这里官方有句话说 接下来的步骤需要确保你的HDFS已经在运行

而却并没有配置HDFS

  • 设置配置

启动ResourceManager 和NodeManager (相当于原来的Jobtracker和Tasktarcker,当然其中有点复杂,我也不是太明白)需要你更新你的配置,确保你的$HADOOP_CONF_DIR已经配置,并且配置了HDFS和core-site.xml  //这里就是令人匪夷所思了,官方文档并未给出这两步的设置


于是我参考了一下别人的配置 出处http://blog.youkuaiyun.com/zythy/article/details/17021249

编辑core-site.xml,添加以下配置:

在文件<configuration>中间加入

  <property>
     <name>fs.default.name</name>
    <value>hdfs://localhost:9000</value>
    <description>这里是配置HDFS的属性,HDFS的端口</description>
  </property>

编辑hdfs-site.xml,添加以下配置:
  

<property>
    <name>dfs.replication</name>
    <value>1</value>
    <description>配置备份的数量:这是hadoop的经典机制</description>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/namenode</value>
    <description>配置HDFS namenode的物理路径</description>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/user/hadoop-2.2.0/yarn/yarn_data/hdfs/datanode</value>
    <description>配置HDFS datanode的物理路径</description>
  </property>


接下来继续原文

设置mapred-site.xml 如果不存在复制mapred-site.xml.template文件为mapred-site.xml

添加

 <property>
    <name>mapreduce.cluster.temp.dir</name>
    <value></value>
    <description>分布式的临时文件物理路径</description>
    <final>true</final>
  </property>

  <property>
    <name>mapreduce.cluster.local.dir</name>
    <value></value>
    <description>分布式的文件物理路径</description>
    <final>true</final>
  </property>

  • 设置yarn-site.xml

<property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>host:port</value>
    <description>host是ResourceManager的主机地址 port是NodeManagers连接ResourceManagers的端口</description>
  </property>

  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>host:port</value>
    <description>host是ResourceManager的主机地址 port是ApplicationMaster连接ResourceManagers的端口</description>
  </property>

  <property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
    <description>如果你不想用默认scheduler</description>
  </property>

  <property>
    <name>yarn.resourcemanager.address</name>
    <value>host:port</value>
    <description>host是ResourceManager的主机地址,port是clients 与Resource Manager沟通的端口</description>
  </property>

  <property>
    <name>yarn.nodemanager.local-dirs</name>
    <value></value>
    <description>nodemanager的本机物理路径</description>
  </property>

  <property>
    <name>yarn.nodemanager.address</name>
    <value>0.0.0.0:port</value>
    <description>nodemanager绑定在这个端口</description>
  </property>  

  <property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>10240</value>
    <description>NodeManager内存的量</description>
  </property>
 
  <property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/app-logs</value>
    <description>hdfs的应用记录文件的本地物理目录</description>
  </property>

   <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value></value>
    <description>Nodemanagers记录文件的本地物理目录</description>
  </property>

  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    <description>MapReduce运行需要设置shuffle服务</description>
  </property>


 
  • 设置capacity-scheduler.xml
  • 计算能力调度器
<property>
    <name>yarn.scheduler.capacity.root.queues</name>
    <value>unfunded,default</value>
  </property>
  
  <property>
    <name>yarn.scheduler.capacity.root.capacity</name>
    <value>100</value>
  </property>
  
  <property>
    <name>yarn.scheduler.capacity.root.unfunded.capacity</name>
    <value>50</value>
  </property>
  
  <property>
    <name>yarn.scheduler.capacity.root.default.capacity</name>
    <value>50</value>
  </property>
这个不设置单节点也能配置成功,如果有需要参考这里 http://wohenws.lofter.com/post/9479_12547

运行守护进程
设置$YARN_CONF_DIR=$HADOOP_CONF_DIR
编辑hodoop-env.sh 
在其中的export JAVA_HOME =/%你的JAVA安装路径%/

我们先初始化HDFS文件系统。。。这点官方文档也没提。。。
hadoop namenode -format

cd 到hadoop的安装目录

 
sbin/hadoop-daemon.sh start namenode  //启动namenode
sbin/hadoop-daemon.sh start datanode //启动datanode
sbin/hadoop-daemon.sh start secondarynamenode//启动secondarynamenode
sbin/yarn-daemon.sh start resourcemanager//启动resourcemanager
sbin/yarn-daemon.sh start nodemanager//启动nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver //启动historyserver

运行jps察看进程是否启动
~/hadoop$ jps
4842 ResourceManager
4901 NodeManager
5064 Jps
4644 NameNode
4968 JobHistoryServer
4699 DataNode
4755 SecondaryNameNode
进程启动成功。。。

你可以运行一下指令测试
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter out

结果输出察看
hadoop -fs -ls /user/%你的当前用户名%/
如果有out目录,就表明成功了!
enjoy it!







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值