在2台ubuntu上搭建hadoop

来源:互联网 发布:新侠客英雄传java攻略 编辑:程序博客网 时间:2024/04/28 17:17

2ubuntu上搭建hadoop

实践环境

Ubuntu 10.04 LTS  +  jdk1.6  +  hadoop-0.20.2  (2 computers)

hostname

IP

usrname

passwowd

use

hadoop-A

192.168.2.156

hadoop

123456

NameNode  master  jobTracker

hadoop-B

192.168.2.147

hadoop

123456

DataNode   slave    taskTracker

步骤:

1:安装Ubuntu 10.04

不会安装的google一下就OK~

创建用户:两台电脑上创建一个相同的用户

name:hadoop password:123456

修改两台电脑的hostname

步骤如下:

master computer

1$sudo hostname  hadoop-A

2$sudo nano /etc/hosts

3$sudo nano /etc/hostname

4$sudo reboot

slave computer

1$sudo hostname  hadoop-A

2$sudo nano /etc/hosts

3$sudo nano /etc/hostname

4$sudo reboot

master主机的/etc/hosts 中添加机器名和相应的IP

127.0.01 localhost

192.168.2.156 hadoop-A

192.168.2.147 hadoop-B

2、开启ssh 服务

安装openssh-server$ sudo apt-get install openssh-server

注意:自动安装openssh-server 时,先要进行sudo apt-get update 操作。

可以在另外的装有Windows的机子上实用 SecureCRT登录到Ubuntu测试

(使用:SSH Secure Shell Client的中文显示是乱码,因为Ubuntu默认编码是utf-8,SSH Secure Shell Client不支持uyf-8,所以用SecureCRT

具体怎么配置使用SecureCRT,查看一下网址,或者自己google一下~

http://blog.chinaitlab.com/html/13/292613-163073.html

3、建立ssh 无密码登录

具体查看下面的网页,讲的很详细

http://www.oklinux.cn/html/network/wlaq/20080927/61415.html

4、关闭防火墙

$ sudo ufw disable

注意:这步非常重要。如果不关闭,会出现找不到datanode 问题。

5、安装jdk1.6

1. Add the Canonical Partner Repository to your apt repositories: 

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner

2. Update the source list 

sudo apt-get update

3. Install sun-java6-jdk 

sudo apt-get install sun-java6-jdk

4. Select Sun's Java as the default on your machine. 

sudo update-java-alternatives -s java-6-sun

5.设置环境变量

sudo vi /etc/environment

environment中修改,出现如下部分

PATH"......:/usr/lib/jvm/java-6-sun/bin"

CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib

JAVA_HOME=/usr/lib/jvm/java-6-sun

然后:

source /etc/enviroment

并且注销用户一下~~

6.安装hadoop

下载hadoop-0.20.2.tar.gz

cp到 /home/hadoop 目录下

然后:tar -zxvf hadoop-0.20.2.tar.gz

解压生成:  hadoop-0.20.2

Hadoop 的安装路径添加到环/etc/profile :

export HADOOP_HOME=/home/hadoop/hadoop-0.20.2

export PATH=$HADOOP_HOME/bin:$PATH

然后:$source /etc/profile

并且注销用户一下~~

7、配置hadoop

hadoop 的主要配置都在hadoop-0.20.2/conf 下。

(1)conf/hadoop-env.sh 中配置Java 环境(namenode datanode 的配置相同)

$ gedit hadoop-env.sh

$ export JAVA_HOME=/usr/lib/jvm/java-6-sun

(2)配置conf/masters conf/slaves 文件:(只在namenode 上配置)

master配置: 192.168.2.156

slave配置:  192.168.2.147

(3)配置conf/core-site.xml, conf/hdfs-site.xml conf/mapred-site.xml(简单配置,datanode 的配置相同)

##conf/core-site.xm##

<configuration>

<!--- global properties -->

<property>

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

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

<description>A base for other temporary directories.</description>

</property>

<!-- file system properties -->

<property>

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

<value>hdfs://192.168.2.156:9000</value>

</property>

</configuration>

##conf/hdfs-site.xml ##

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

##conf/mapred-site.xml##

<configuration>

<property>

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

<value>192.168.2.156:9001</value>

</property>

</configuration>

8、运行hadoop

首先格式化文件系统

hadoop@hadoop-A$hadoop namenode format

启动Hadoop

hadoop@hadoop-A$start-all.sh

然后用jps 命令查看进程

NameNode 上的结果如下:

DataNode 上的结果:

查看集群状态:$ hadoop dfsadmin -report

Hadoop web 方式查看:http://192.168.2.156:50070

9、运行wordcount.java 程序

(1)先在本地磁盘建立两个输入文件file01 file02:

$ echo Hello World Bye World” > file01

$ echo Hello Hadoop Goodbye Hadoop” > file02

(2)hdfs 中建立一个input 目录:$ hadoop fs mkdir input

(3)file01 file02 拷贝到hdfs 中:

$ hadoop fs copyFromLocal /home/hadoop/file0* input

(4)执行wordcount

$ hadoop jar hadoop-0.20.2-examples.jar wordcount input output

(5)完成之后,查看结果:

$ hadoop fs -cat output/part-r-00000

原创粉丝点击