hadoop2.2.0伪分布式安装

来源:互联网 发布:淘宝柒柒家质量差 编辑:程序博客网 时间:2024/05/19 04:51
hadoop2.2.0伪分布式安装

安装前解决的问题:

1、hadoop官网下载的hadoop二进制文件是在32位环境下编译的(地址:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/),如果在64位linux下安装需要自己下载源码进行编译(参考:http://blog.csdn.net/li385805776/article/details/17269497)。也可以直接替换$HADOOP_HOME/lib/native/下的lib文件替换掉。(文件如附件)

2、安装完成执行start-dfs.sh和start-yarn.sh如果出现无法连接hostname,访问被拒绝必须替换$HADOOP_HOME/lib/native/下的lib文件(32bit->64bit)

 

安装:

使用ubuntu13在vmware10下进行安装。伪分布式完全在root用户下配置。

1、安装jdk

从oracle官网下载linux版本的jdk(1.6以上),在linux中解压到安装目录,可以设置全局环境变量(/etc/profile),也可以配置当前用户的环境变量(~/.bashrc)。这里配置的是/etc/profile,配置完成执行

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. source /etc/profile  

 是配置生效。

 

2、配置不需验证的ssh

(1)安装ssh服务

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. apt-get install openssh-server  

 (2)无密码访问

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. ssh-keygen -t  rsa 之后一路回 车(产生秘钥)  

 (3)进入/root/.ssh

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)  

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. 重启 SSH 服 务命令使其生效 :service ssh restart(RedHat下为sshd       Ubuntu下为ssh)  

 使用 ssh localhost输入yes后即可无密码登录

 

3、安装hadoop2.2

将下载的hadoop2.2.tar.gz解压到一个目录,然后进行配置(cd $HADOOP_HME/etc/hadoop):

(1)编辑hodoop-env.sh,修改以下对应行为:
[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. export JAVA_HOME=/usr/lib/jvm/java-6-sun  
注:请确定JAVA已正确安装。如果没有,你可以参照相关文档进行JAVA的安装。
(2)编辑core-site.xml,添加以下配置:
配置name节点的ip和端口,如果是完全分布式安装需要将localhost改成实际ip
[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <property>  
  2.         <name>fs.default.name</name>  
  3.         <value>hdfs://localhost:9000</value>  
  4.     </property>  

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

配置name节点和data节点的数据存放位置,dfs.replication表示数据备份数

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <property>  
  2.    <name>dfs.replication</name>  
  3.    <value>1</value>  
  4.  </property>  
  5.  <property>  
  6.    <name>dfs.namenode.name.dir</name>  
  7.    <value>/root/hadoopDir/hadoop4namenode</value>  
  8.  </property>  
  9.  <property>  
  10.    <name>dfs.datanode.data.dir</name>  
  11.    <value>/root/hadoopDir/hadoop4datanode</value>  
  12.  </property>  

 

 (4)编辑yarn-site.xml,加入以下配置:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <property>  
  2.         <name>yarn.nodemanager.aux-services</name>  
  3.         <value>mapreduce_shuffle</value>  
  4.     </property>  
  5.   
  6.     <property>  
  7.         <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
  8.         <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
  9.     </property>  

 

 (5)编辑mapred-site.xml,添加以下配置:

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <property>  
  2.     <name>mapreduce.cluster.temp.dir</name>  
  3.     <value></value>  
  4.     <description>No description</description>  
  5.     <final>true</final>  
  6.   </property>  
  7.   
  8.   <property>  
  9.     <name>mapreduce.cluster.local.dir</name>  
  10.     <value></value>  
  11.     <description>No description</description>  
  12.     <final>true</final>  
  13.   </property>  

 (6)格式化noamenode

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. bin/hadoop namenode -format  
 (7)将hadoop的环境添加到系统环境变量

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. vim /etc/profile  
  2.   
  3. 添加:  
  4. export HADOOP_HOME=/root/hadoopDir/hadoop-2.2.0  
  5. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin   
 (8)启动hadoop守护进程。依次执行以下命令:

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. hadoop-daemon.sh start namenode  
  2. hadoop-daemon.sh start datanode  
  3. hadoop-daemon.sh start secondarynamenode  
  4. yarn-daemon.sh start resourcemanager  
  5. yarn-daemon.sh start nodemanager  
  6. mr-jobhistory-daemon.sh start historyserver  
 (9)运行以下命令可以查看各服务状态:

 

 

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. http://localhost:50070或者http://ipaddr:5007  
  2. http://localhost:8088  
  3. http://localhost:19888  
 4、 如果hadoop进程启动成功,使用wordcount测试

 

(1)新建一个文件

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. vi /root/test.txt  
  2. hello world  
  3. hello hadoop  

 (2)新建一个hafs文件夹

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. hdfs dfs -mkdir /input  

 (3)将创建的test.txt放入/input

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. hdfs dfs -copyFromLocal /root/* /input  

 (4)执行jar

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. hadoop jar /root/hadoopDir/hadoop-2.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /input /input/out  

 注意:/input里面必须是文件不能是文件夹并且out不能自己创建

5.还有测试方法,参考http://blog.csdn.net/zhaoyl03/article/details/8657104

结合学习hadoop2.2.0的安装配置,jps必须启动namenode,datanode, JobTracker  , TaskTracker  , Jps  , SecondaryNameNode  (一个都不能少!)。

0 0
原创粉丝点击