如果你想看到你改变所有者时该命令chown命令所做的工作,可以用以下命令:
sudo chown -vR cdh:cdh /home/cdh/Hadoop-0.19.0/
执行完成以后,我们再执行命令:ls -lrt,得到的结果是:
drwxr-xr-x 14 cdh cdh 4096 2009-01-19 02:59 hadoop-0.19.0
-rw------- 1 root root 42266180 2009-01-18 03:59 hadoop-0.19.0.tar.gz
这就为以后,启动hadoop创造了条件。
现在需要配置ssh,因为hadoop是通过ssh来启动所有的slaves,命令如下:
sudo ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
显示结果如下,一路回车,具体就不解释了,参照ssh的相关文档。
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cdh/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/cdh/.ssh/id_rsa.
Your public key has been saved in /home/cdh/.ssh/id_rsa.pub.
The key fingerprint is:
2e:57:e2:bf:fd:d4:45:5c:a7:51:3d:f1:51:3c:69:68 cdh@Ubuntu1
再创建一个authorized_keys文件:
sudo cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
cat命令本来是是用来显示文件文件内容的命令,但是这里作为生成文件的命令,表示一种追加某文件的内容到另一个文件中。
然后用ssh localhost来测试一下是不是ssh连接本机不再需要密码了,第一次连接会出现以下提示:
The authenticity of host [ubuntu1] can't be established. The key fingerprint is: 74:32:91:f2:9c:dc:2e:80:48:73:d4:53:ab:e4:d3:1a Are you sure you want to continue connecting (yes/no)?
输入yes后回车。然后再次ssh localhost将不再需要密码。
剩下的就是配置hadoop的配置文件了。我欣喜地把这些文件copy下来,并保存成hadoop-site.xml文件,上传到/home/cdh/hadoop-0.19.0/conf/下面,然后修改conf/hadoop-env.sh,修改了export Java_HOME=/usr/lib/jvm/java-6-sun,并把前面的注释#号去掉。
由于hadoop是运行在多个server上的编程框架,因此我们利用VMware来clone虚拟机,我由于担心三个虚拟机拖垮我的小黑,于是只clone了一个,并将clone机命名为ubuntu2。虚拟机clone完成以后,需要修改两个机器的/etc/hosts,别忘了修改clone机的hostname文件。