192.168.1.103 node1
192.168.1.101 node2
export HADOOP_HOME=/home/hadoop/Downloads/hadoop-1.0.4
export PATH=$PATH:$HADOOP_HOME/bin
node1
node2
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
<description></description>
</property>
<property>
<name>Hadoop.tmp.dir</name>
<value>/myhadoop</value>
<description></description>
</property>
</configuration>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
8、对 Master虚拟主机进行克隆,其节点名称为 node1,node2
1、修改 node1虚拟机下的 /etc/hostname内容为 node1,node2虚拟机下的 /etc/hostname为node2
2、在Master虚拟主机下, 添加认证公钥,并设置权限:
chmod 644 ~/.ssh/authorized_keys
3、配置集群的SSH服务
(1) 远程拷贝master的公钥到node1结点上
scp ~/.ssh/id_rsa.pub root@node1:/home/hadoop/.ssh/id_rsa.pub.master
这时,因为结点之间(master到node1)要进行数据交换,需要输入node1结点的登录密码(hadoop用户),才能执行文件的远程拷贝。这里输入密码是正常的,不要与结点之间通过ssh进行无密码公钥认证混淆。注意:分发公钥时,主要修改目标master公钥文件副本名称,以防覆盖掉从结点上已经存在并且正在使用的公钥文件。
同时,在node1结点上,将master生成的密钥加入到认证密钥文件:
cat ~/.ssh/id_rsa.pub.master >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
(2) 远程拷贝master的公钥到node2结点上
scp ~/.ssh/id_rsa.pub hadoop@node2:/home/hadoop/.ssh/id_rsa.pub.master
同时,在node2结点上,将master生成的密钥加入到认证密钥文件
cat ~/.ssh/id_rsa.pub.master >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
(3) 这时,可以验证从master结点分别登录到slave-01和slave-02结点:
ssh node1
ssh node2
如果不需要输入密码,则配置成功
10 启动 Hadoop 集群服务
cd /home/hadoop/Downloads/hadoop-1.0.4
./hadoop namenode -format (注:运行hadoop之前一定要格式化创建相关文件)
./start-all.sh
11 停止hadoop 集群服务
./stop-all.sh