废话少说,以下是我的安装过程。
工具如下
Pc是学校的台式机,32位E4600CPU,1G内存,自己的笔记本
虚拟机centos5.8 32位、jdk-6u13-linux-i586.bin、hadoop-0.22.0.tar.gz、SecureCrt(远程登陆PC)、百度(外网只能上csdn、cnblog,其余是百度快照)
闲着无聊,想把学校的电脑搭成hadoop,电脑太烂,登陆太慢,只用通过自己电脑ssh连接。方法参看http://blog.csdn.net/xluren/article/details/8197183
1.创建用户和组
groupadd hadoop//添加组
useradd hadoop -d /home/hadoop -g hadoop//添加用户和组,设置家目录
passwd hadoop//设置密码
2.注销登录hadoop
这一步是配置ssh信任关系,具体的命令如下:
ssh-keygen -t rsa 然后一直敲回车直到出现命令提示符
[fy@localhost ~]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fy/.ssh/id_rsa):
/home/fy/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/fy/.ssh/id_rsa.
Your public key has been saved in /home/fy/.ssh/id_rsa.pub.
The key fingerprint is:
2d:b2:0d:4c:21:aa:72:6d:42:6a:92:e8:4d:a5:be:71 fy@localhost
[fy@localhost ~]$
具体的情形如上图所示,这步基本不会出错,如果没有这个命令,那就先安装ssh-server
3.安装jdk
cd /home
mkdir jdk
chown hadoop:hadoop jdk-6u13-linux-i586.bin //先解决权限问题
然后把 jdk-6u13-linux-i586.bin 放到 jdk文件夹
cd jdk && ./jdk-6u13-linux-i586.bin //完成jdk的安装,下面是配置环境
vi /etc/profile 进入编辑模式,在文件的最后面添加如下:
export PATH=.:/home/jdk/jdk1.6.0_13/bin:/home/jdk/jdk1.6.0_13/jre/bin:/home/hadoop-0.22.0/bin:$PATH
export CLASSPATH=.:/home/jdk/jdk1.6.0_13/lib:/home/jdk/jdk1.6.0_13/jre/lib:$CLASSPATH
然后重启下
4.配置hadoop
重启
登陆hadoop,这里说下,我远程登陆的虚拟机,所以在pc机上只要系统运行就可以,我也没有登陆,但是在笔记本上我用SecureCrt,可以登陆任何一个账号,然后后测试下java看看能用不,具体方法不说了。
将hadoop-0.22.0.tar.gz 拷贝到/home 下
tar -zxf hadoop-0.22.0.tar.gz
sudo chown -R hadoop:hadoop hadoop-0.22.0
配置hadoop-env.sh
vi /home/hadoop-0.22.0/conf/hadoop-env.sh
找到
# The java implementation to use. Required.
# export JAVA_HOME=/usr/lib/j2sdk1.6-sun
将下面的一句改成或者直接添加
export JAVA_HOME=/home/jdk/jdk1.6.0_13
配置core-site.xml
在<configuration>与</configuration>中间添加如下
<property>
<name>fs.default.name</name>
<value>hdfs://127.0.0.1:9000</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>//临时目录,需要自己去hadoop的家目录/home/hadoop 去创建,也可以自主指定,无限制