准备工作:
安装jdk、ssh,修改hosts主机解析等;
配置java环境变量 详见:http://blog.csdn.net/hunkyguy/article/details/8064527
配置ssh免密码登录 详见:http://blog.csdn.net/hunkyguy/article/details/8030634
将master,slave的主机解析信息添加到各master、slave的/etc/hosts文件中
搭建hadoop环境:
1.创建hadoop用户、修改密码:(master、slaves做同样操作)
#useradd hadoop
#passwd hadoop
2.安装hadoop
#mv hadoop-1.0.3.tar.gz ~hadoop
#chown hadoop.hadoop ~hadoop/hadoop-1.0.3.tar.gz
#su - hadoop
$pwd
/home/hadoop
$tar zxf hadoop-1.0.3.tar.gz
$mv hadoop-1.0.3.tar.gz hadoop
3.配置hadoop
$pwd
/home/hadoop/hadoop
$cd conf
$vi hadoop-env.sh
#修改java环境变量
export JAVA_HOME=/usr/local/java
这个文件中要注意“HADOOP_LOG_DIR ”变量,hadoop日志的存储位置,有问题首先查看日志
$vi core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/hadooptmp</value>
<description>A base for other temporary directories.</description>
</property>
$ vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
$vi mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
</configuration>
4.格式化hdfs
$pwd
/home/hadoop/hadoop
$./bin/hadoop namenode -format
。。。(输出信息省略)
注意:多次进行格式化,需要保证master和slave的namespaceID保持一致,否则datanode无法启动
http://blog.csdn.net/hunkyguy/article/details/8030652
5.将配置好的hadoop分发到各slave的hadoop用户下
$pwd
/home/hadoop
$scp -r hadoop hadoop@slaveX:~
6.启动hadoop集群:
$pwd
/home/hadoop/hadoop
$./bin/start-all.sh
。。。(输出信息省略)
7.检查启动结果:
$pwd
/home/hadoop/hadoop
$./bin/hadoop fs -ls /
显示hdfs文件系统信息
如果是hadoop的伪分布
只需将上述配置中的master的相关信息,改成localhost的信息,hdfs-site.xml文件中dfs.replication配置项的值改为1.