hadoop1.0.3真集群安装
实验环境
192.168.56.2 Master.Hadoop
192.168.56.3 Slave1.Hadoop
192.168.56.4 Slave2.Hadoop
一 安装JDK
# /etc/profile
export JAVA_HOME=/usr/local/java/default
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# source /etc/profile
二 无密码ssh登录
# 本地执行:生成密钥对
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
# 远程服务器执行:用公钥给远程机器授权,首先需要将本地公钥拷贝到远程服务器上
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
# 远程机器授权全后,可以删除公钥
三 配置hadoop
1)配置conf/hadoop-env.sh
export JAVA_HOME=/usr/local/java/default
2)配置conf/core-site.xml
如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<!--备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹-->
<description>A base for other temporary directories.</description>
</property>
<!-- file system properties -->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.56.2:9000</value>
</property>
</configuration>
3)配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<!--备注:replication 是数据副本数量,例如:设置为3的话,salve少于3台就会报错,副本数量没必要设置太多-->
</property>
<configuration>
4)配置mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.56.2:9001</value>
</property>
</configuration>
5)配置masters,使用hosts
Master.Hadoop
6)配置slaves ,namenode特有datanode可以不配置,使用hosts
Slave1.Hadoop
Slave2.Hadoop
7)其他datanode复制namenode的hadoop即可
四 启动
bin/hadoop namenode -format
sh bin/start-all.sh
验证端口
http://192.168.56.2:50030/
http://192.168.56.2:50070/
五 扩展性
直接拷贝datanode到其他机器,同时增加配置namenode的masters即可
注意新扩展机器的hosts配置,如果用IP配置则可以不关心这个
注意:
namenode必须要配置masters和slaves
datanode只需要配置masters即可,不需要slaves的配置
其他配置完全相同
切记要配置无密码SSH登录,否则无法启动
切记启动之前,先要执行格式化命令bin/hadoop namenode -format,否则无法启动
切记启动之前,要配置conf/hadoop-env.sh的JAVA_HOME,否则无法启动