如何在Centos6.5下部署hadoop2.2单机伪分布式(二)

时间:2022-09-14 15:47:47
hadoop2.x的稳定版本,已经发布多时了,散仙一直都用的hadoop1.x的版本,最近有项目用到hadoop2.x,所以就开始折腾hadoop2.x了,在hadoop2.x的版本里,目前最新版本已经到hadoop2.4了,但散仙在这里用的是hadoop2.2.0的版本,为什么用它? 因为这是一个稳定的版本,所以相对来说,问题比较少。
散仙在上篇博客,已经讲了如何在编译hadoop2.2.0的64位的版本,如果有不清楚怎么编译,可以参考散仙上篇博文,在这里就不涉及了。

下面,散仙以表格的形式描述下伪分布式安装
系统环境如下:

序号 名称 描述
1 系统环境 Centos6.5
2 JAVA环境 JDK1.7
3 Haoop版本 hadoop2.2.0


安装步骤如下:
序号 步骤
1 解压hadoop,并配置环境变量
2 使用which hadoop命令,测试是否成功
3 配置core-site.xml
4 配置hdfs-site.xml
5 配置yarn-site.xml(非必须,使用默认也可)
6 配置mapred-site.xml
7 配置mapred-env.sh里面的JAVA路径
8 如上的配置完成后,需要新建几个文件夹,来提供HDFS的格式化底层一个是hadoop的tmp文件夹,另外的是namenode和datanode的文件夹,来分别存储各自的信息
9 上面一切完成后,即可执行hadoop namenode -format 进行格式化
10 然后启动伪分布式集群,执行命令sbin/start-all.sh 最后使用JPS查看JAVA进程
11 配置本机的hosts文件,映射主机名信息


下面来详细说下,各个步骤的具体操作:
在这之前,最好配置好本机的SSH无密码登陆操作,避免hadoop进程之间通信时,需要验证。

下面是各个xml文件的配置

Xml代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. <!-- core-site.xml配置 -->  
  2. <configuration>  
  3.     <property>    
  4.         <name>fs.default.name</name>    
  5.         <value>hdfs://192.168.46.28:9000</value>    
  6.     </property>    
  7.   <property>  
  8.     <name>hadoop.tmp.dir</name>  
  9.     <value>/root/hadoop/tmp</value>  
  10.   </property>  
  11.   
  12. </configuration>  

Xml代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. <!-- hdfs-site.xml配置 -->  
  2.    
  3. <configuration>  
  4. <property>    
  5.    <name>dfs.replication</name>    
  6.    <value>1</value>    
  7.  </property>    
  8.   
  9.  <property>    
  10.    <name>dfs.namenode.name.dir</name>    
  11.    <value>/root/hadoop/nddir</value>    
  12.  </property>    
  13.   
  14.   
  15.  <property>    
  16.    <name>dfs.datanode.data.dir</name>    
  17.    <value>/root/hadoop/dddir</value>    
  18.  </property>    
  19.   
  20. <property>    
  21.   <name>dfs.permissions</name>    
  22.   <value>false</value>    
  23. </property>  
  24.   
  25. </configuration>  


Xml代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. <!--    yarn-site.xml  不用配置,使用默认属性即可 -->  
  2. <configuration>  
  3.   
  4.   
  5. </configuration>  

Xml代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. <!--  mapred-site.xml的配置 -->  
  2. <configuration>  
  3. <property>    
  4.     <name>mapreduce.cluster.temp.dir</name>    
  5.     <value></value>    
  6.     <description>No description</description>    
  7.     <final>true</final>    
  8.   </property>    
  9.     
  10.   <property>    
  11.     <name>mapreduce.cluster.local.dir</name>    
  12.     <value></value>    
  13.     <description>No description</description>    
  14.     <final>true</final>    
  15.   </property>    
  16. </configuration>  


mapred-env.sh里面的配置
Java代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. # Licensed to the Apache Software Foundation (ASF) under one or more  
  2. # contributor license agreements.  See the NOTICE file distributed with  
  3. this work for additional information regarding copyright ownership.  
  4. # The ASF licenses this file to You under the Apache License, Version 2.0  
  5. # (the "License"); you may not use this file except in compliance with  
  6. # the License.  You may obtain a copy of the License at  
  7. #  
  8. #     http://www.apache.org/licenses/LICENSE-2.0  
  9. #  
  10. # Unless required by applicable law or agreed to in writing, software  
  11. # distributed under the License is distributed on an "AS IS" BASIS,  
  12. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
  13. # See the License for the specific language governing permissions and  
  14. # limitations under the License.  
  15.   
  16. export JAVA_HOME=/usr/local/jdk  
  17.   
  18. export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000  
  19.   
  20. export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA  
  21.   
  22. #export HADOOP_JOB_HISTORYSERVER_OPTS=  
  23. #export HADOOP_MAPRED_LOG_DIR="" # Where log files are stored.  $HADOOP_MAPRED_HOME/logs by default.  
  24. #export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.  
  25. #export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.  
  26. #export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default  
  27. #export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.  


然后,建对应的几个文件夹即可,路径都在hadoop2.2的根目录下即可,
然后执行格式化命令bin/hadoop namenode -format即可;

最后使用jps命令,查看进程,如果有以下几个进程名称,就代表部署伪分布式成功

Java代码 如何在Centos6.5下部署hadoop2.2单机伪分布式(二) 如何在Centos6.5下部署hadoop2.2单机伪分布式(二)如何在Centos6.5下部署hadoop2.2单机伪分布式(二)
  1. 4887 NodeManager  
  2. 4796 ResourceManager  
  3. 4661 SecondaryNameNode  
  4. 4524 DataNode  
  5. 4418 NameNode  
  6. 6122 Jps  


然后,访问界面端口,注意与之前的配置文件里一致,namenode的端口号仍为50070,原来1.x的50030端口,已经没有了,可以访问8088的yarn的端口,来查看,具体的截图如下:

如何在Centos6.5下部署hadoop2.2单机伪分布式(二)


如何在Centos6.5下部署hadoop2.2单机伪分布式(二)


OK,此时,我们已经成功的完成伪分布式的部署,下一步我们要做的,就是跑一个经典的MR程序Hellow World,来测试我们的集群了。