日期:2014-05-16  浏览次数:20766 次

在linux(Debian 3.2.46)上安装hadoop-1.1.2并测试

如果没装JDK先装个。。

apt-get install openjdk-7-jdk

在/etc/environment中加上

JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

CLASS_PATH=/usr/lib/jvm/java-7-openjdk-amd64/lib

?

创建hadoop用户及其用户组

?

root@mydev:~# sudo addgroup hadoop
正在添加组"hadoop" (GID 1002)...
完成。
root@mydev:~# sudo adduser -ingroup hadoop hadoop
正在添加用户"hadoop"...
正在添加新用户"hadoop" (1002) 到组"hadoop"...
创建主目录"/home/hadoop"...
正在从"/etc/skel"复制文件...
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
正在改变 hadoop 的用户信息
请输入新值,或直接敲回车键以使用默认值
	全名 []: 
	房间号码 []: 
	工作电话 []: 
	家庭电话 []: 
	其它 []: 
这些信息是否正确? [Y/n] y

?

赋予hadoop用户root权限

在/etc/sudoers中加上

hadoop ?ALL=(ALL:ALL) ALL

?

su - hadoop登录

hadoop@mydev:~$ ssh-keygen -t rsa -P ""
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): myhadoop
Your identification has been saved in myhadoop.
Your public key has been saved in myhadoop.pub.
The key fingerprint is:
b8:78:e8:f4:cb:52:b8:08:be:86:de:9e:35:0d:4d:b3 hadoop@mydev
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|       o         |
|      o.o        |
|     o.ES        |
|.   .o+.         |
|o. .+=o.         |
|.ooo=+.          |
|ooo+..+.         |
+-----------------+
hadoop@mydev:~$ ls
myhadoop  myhadoop.pub

?然后执行

cat myhadoop.pub >> authorized_keys

?

修改hadoop-1.1.2/conf/hadoop-env.sh中的JAVA_HOME配置

?

下载hadoop源码

http://mirrors.cnnic.cn/apache/hadoop/common/

解压之后放在/opt/(我一般下载的软件放这里,也可以放其他地方)

chown -R hadoop:hadoop?/opt/hadoop-1.1.2

在/var/创建hadoop目录作为hdfs文件系统,同样赋予hadoop最高权限

chown -R hadoop:hadoop?/etc/hadoop

然后就可以格式化文件系统了

?bin/hadoop namenode -format

看到成功信息就说明一切正常。。

?

然后就可以用/bin/start-all.sh运行起来了

要用root才可以用jps看到

root@mydev:~# jps
16310 Jps
12749 NameNode
13783 DataNode
13930 SecondaryNameNode
14087 TaskTracker
12930 JobTracker

?如果用hadoop需要配置一下。

?可以进入http://localhost:50030查看hadoop的运行情况。

?

-----------------------------------------

对example里的WordCount程序如果遇到java.lang.ClassNotFoundException:的异常

需要加入一下代码

jobConf.setJarByClass(org.myorg.WordCount.class);

然后打成jar包

javac -classpath /opt/hadoop-1.1.2/hadoop-core-1.1.2.jar -d classes WordCount.java

jar -cvf wordcount.jar -C classes/ .

sudo /opt/hadoop-1.1.2/bin/hadoop jar wordcount.jar org.myorg.WordCount in_dir out_dir

root@mydev:/home/hadoop/mapreduce# sudo /opt/hadoop-1.1.2/bin/hadoop fs -ls out_dir/
Found 3 items
-rw-r--r--   2 root supergroup          0 2013-07-19 00:38 /user/root/out_dir/_SUCCESS
drwxr-xr-x   - root supergroup          0 2013-07-19 00:37 /user/root/out_dir/_logs
-rw-r--r--   2 root supergroup         49 2013-07-19 00:38 /user/root/out_dir/part-r-00000
root@mydev:/home/hadoop/mapreduce# su