三、建立ssh互信
hadoop 需要通过ssh互信来启动slave里表中各个主机的守护进程,所以SSH是必须安装的(redhat 5.5
Enterprise
以默认安装)。但是是否建立ssh互信(即无密码登陆)并不是必须的,但是如果不配置,每次启动hadoop,都需要输入密码以便登录到每台机器的
Datanode上,而一般的hadoop集群动辄数百或数千台机器,因此一般来说都会配置ssh互信。
① 生成密钥并配置ssh无密码登陆主机(在master主机)
#ssh -keygen -t dsa -P '' -f ~/.ssh/id_dsa root@ubuntu:~/.ssh# ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): /root/.ssh/id_dsa
Enter passphrase (empty for no passphrase): (设置密码为空,直接回车)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
15:cd:dc:6c:1d:56:a3:82:3a:2a:e3:64:35:0b:dc:cc root@ubuntu
The key's randomart image is:
+--[ DSA 1024]----+
| .+ o =+|
| ..+ * o|
| ... o |
| . + .. . |
| o E oS |
| o + . |
| = o |
| + o |
| . |
+-----------------+
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
② 将authorized_keys文件拷贝到两台slave主机
scp authorized_keys slave1:~/.ssh/
scp authorized_keys slave2:~/.ssh/
③ 检查是否可以从master无密码登陆slave机
ssh slave1(在master主机输入) 登陆成功则配置成功,exit退出slave1返回master 四、配置Hadoop
① 下载:点击到下载页面,选择hadoop-0.20.2.tar.gz
② 放到~/bin下解压: tar -xzvf hadoop-0.20.2.tar.gz
③ 解压后进入:~/bin/hadoop-0.20.2/conf/,修改配置文件:
修改hadoop-env.sh:
[iyunv@master ~]# hadoop
Usage: hadoop [--config confdir] COMMAND
where COMMAND is one of:
namenode -format format the DFS filesystem
secondarynamenode run the DFS secondary namenode
namenode run the DFS namenode
datanode run a DFS datanode
dfsadmin run a DFS admin client
mradmin run a Map-Reduce admin client
fsck run a DFS filesystem checking utility
fs run a generic filesystem user client
balancer run a cluster balancing utility
jobtracker run the MapReduce job Tracker node
pipes run a Pipes job
tasktracker run a MapReduce task Tracker node
job manipulate MapReduce jobs
queue get information regarding JobQueues
version print the version
jar run a jar file
distcp copy file or directories recursively
archive -archiveName NAME * create a hadoop archive
daemonlog get/set the log level for each daemon
or
CLASSNAME run the class named CLASSNAME
Most commands print help when invoked w/o parameters.
转载注明出处:博客园 石头儿 http://www.iyunv.com/shitouer/