Hadoop的单节点安装见:http://blog.csdn.net/deqingguo/article/details/6907372
在单节点的基础上做一些小的改动,集群就ok了~
假如有两台机器,59.77.132.34和59.77.132.155,前者做master,后者作为slave:
1、可以修改/etc/hosts,对ip进行映射,方便管理。比如在其中添加:
59.77.132.34 master
59.77.132.155 slave1
2、master上的id_dsa.pub追加到slave的authorized_keys上:
a、在34的机器上:
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/id_dsa.pub hadoop@59.77.132.155:/home/hadoop/.ssh
b、在155的机器上:
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3、验证从34到155的无密码ssh:
ssh hadoop@59.77.132.155
4、配置conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://59.77.132.34:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-1.0.1/tmp/hadoop-${user.name}</value>
</property>
</configuration>
5、配置conf/hdfs-site.xml
<configuration>
<property>
<!-- DFS中存储文件命名空间信息的目录 -->
<name>dfs.name.dir</name>
<value>/home/hadoop/data/dfs.name.dir</value>
</property>
<property>
<!-- DFS中存储文件数据的目录 -->
<name>dfs.data.dir</name>
<value>/home/hadoop/data/dfs.data.dir</value>
</property>
<property>
<!-- 是否对DFS中的文件进行权限控制(测试中一般用false)-->
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
6、配置conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>59.77.132.34:9001</value>
</property>
<property>
<!-- map/reduce的系统目录(使用的HDFS的路径) -->
<name>mapred.system.dir</name>
<value>/system/mapred.system.dir</value>
</property>
<property>
<!-- map/reduce的临时目录(可使用“,”隔开,设置多重路径来分摊磁盘
IO) -->
<name>mapred.local.dir</name>
<value>/home/hadoop/data/mapred.local.dir</value>
</property>
</configuration>
7、配置conf/masters和conf/slaves
masters为:
59.77.132.34
slaves为:
59.77.132.155
8、将master:34下的配置文件(conf目录下)考到slave:155上:特别注意conf/hadoop-env.sh 下的环境变量,比如JAVA_HOME等。如果slave上的JAVA_HOME和master上的不一样,需要做相应修改。
9、在34上运行:
bin/hadoop namenode -format
bin/start-all.sh
在34上jps可看到:
hadoop@guoguo:~/hadoop-1.0.1$ jps
9513 SecondaryNameNode
9700 Jps
9594 JobTracker
9245 NameNode
在155上jps可看到:
hadoop@guoguo:~/hadoop-1.0.1$ jps
11941 Jps
11547 DataNode
11901 TaskTracker