`
臻是二哥
  • 浏览: 183431 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
Group-logo
Java技术分享
浏览量:0
社区版块
存档分类
最新评论

ubuntu14.04的hadoop环境搭建(全分布模式)

阅读更多

hadoop0.20.2软件下载http://pan.baidu.com/s/1kTurQJH

jdk7u71-linux-i586下载http://pan.baidu.com/s/1pJyT1OZ

在搭建集群之前需要作如下准备工作, (博文使用hadoop0.20.203.0作为例子讲解,推荐使用hadoop0.20.2更加稳定,两者配置过程相同)
1 配置好静态IP,并且在所有的机器上建立相同的用户名和密码,这里我的用户名xuyizhen

参见我的博客http://2710067471.iteye.com/blog/2118385
2 保证所有的系统都安装了ssh,同时所有的节点之间已经实现了无密码登陆

参见我的博客http://2710067471.iteye.com/blog/2145182
3 保证所有的系统都安装了JDK,应该是1.6以上版本

参见我的博客http://2710067471.iteye.com/blog/2144835

接下来进行hadoop配置: 
在所有机器上,进入他们的 /etc/hosts 目录,添加所有节点的IP以及名字

我的集群共有三台电脑,因此我的配置如下:



  

注意,每个电脑的IP和名字占一行
2 在master电脑解压位于/home/xuyizhen目录下的hadoop压缩包tar -zxvf hadoop-0.20.203.0.orc1.tar.gz

重命名为hadoop



 
进入到/home/xuyizhen/hadoop/conf文件夹下: 



 
修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/xuyizhen/hadoop/tmp</value>

(备注:请先在 /home/xuyizhen/hadoop目录下建立 tmp 文件夹)

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://192.168.0.21:9000</value>

</property>

</configuration>

 

 
 

  备注:如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。

配置hdfs-site.xml文件 ,修改Hadoop中HDFS的配置,配置的备份方式默认为3。

<configuration>

<property>

<name>dfs.replication</name>

<value>2</value>

(备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)

</property>

</configuration>



  

配置mapred-site.xml文件 ,修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>http://192.168.0.21:9001</value>

</property>

</configuration>



  

上面的三个文件修改完毕后保存退出。 

接着修改/home/xuyizhen/hadoop/conf/masters文件 



  

添加内容

master(每个名字占一行) 


接着修改/home/xuyizhen/hadoop/conf/slaves文件 



  

添加内容

slave1

slave2
保存后退出。(每个名字占一行) 

4/home/xuyizhen/hadoop文件夹复制到其他机器/home/xuyizhen文件夹下

scp -r /home/xuyizhen/hadoop 192.168.0.22:/home/xuyizhen

scp -r /home/xuyizhen/hadoop 192.168.0.23:/home/xuyizhen

5最后,打开每个机器的/home/xuyizhen/hadoop/conf/hadoop-env.sh文件

在末尾添加当前机器的JAVA_HOME  
export JAVA_HOME=/usr/java/jdk1.7.0_71

6 打开xuyizhen用户的.bashrc文件,添加hadoop的环境变量



 

 
6至此,Hadoop已经部署完毕,重启所有机器

如果要添加或则删除节点,仅仅需要修改NameNode的Masters和Slaves即可。 
7现在,在namenode节点上执行命令: 
hadoop  namenode -format 
start-all.sh 

8好了,hadoop已经跑起来了。 
在所有机器节点上执行jps命令 
master节点显示:(进程号允许不同) 



 
Slave1节点应该显示:



  

Slave2节点显示:



  

如上结果,hadoop已经成功安装。 

 

下面进行测试:

/home/xuyizhen目录下建立文件夹input

mkdir input

进入该文件夹

cd  /home/xuyizhen/input

并写入两个文件

echo hello world >> 1.txt

echo hello count >> 2.txt

将input文件夹导入dfs中

hadoop dfs -put input in

运行wordcount程序

hadoop jar hadoop-examples-0.20.203.0.jar wordcount in out

查看统计结果

Hadoop dfs -cat out/*

注意:可能出现 INFO ipc.Client: Retrying connect to server: /192.168.0.21:9000. Already tried 4 times错误

这是由于/etc/hosts中的内容有误



  

将其中第二行的master删除后重新运行(注意每个节点都有/etc/hosts)

<!--EndFragment-->

 

 

<!--EndFragment-->
  • 大小: 5.6 KB
  • 大小: 2.5 KB
  • 大小: 2.5 KB
  • 大小: 17.1 KB
  • 大小: 8.4 KB
  • 大小: 9.7 KB
  • 大小: 2.6 KB
  • 大小: 2.6 KB
  • 大小: 2.7 KB
  • 大小: 9.7 KB
  • 大小: 6.6 KB
  • 大小: 5.7 KB
  • 大小: 6.7 KB
  • 大小: 7.5 KB
2
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics