1、准备必要的软件,vmware与centos,jdk-6u24-linux-i586与hadoop-1.0.4.tar。
2、安装好vmware虚拟机后,直接打开centos,用来做namenode节点。
3、拷贝centos三份,用来做datanode节点。
4、安装jdk
1)、在各虚拟机上机器上,把jdk-6u24-linux-i586放在/home目录上
2)、解压# ./jdk-6u24-linux-i586 ,并重命名#mv jdk-6u24-linux-i586.bin jdk
3)、配置JAVA_HOME环境变量。#vi /etc/profile
在文件末尾添加
export JAVA_HOME=/home/jdk
export PATH=$JAVA_HOME/bin:$PATH
退出事,执行#source /etc/profile 验证jdk配置是否成功 #java -version
5、各服务器的网络配置
1)、网络名及ip地址配置
#vi /etc/sysconfig/network 在该文件中添加如下内容
hostname=网络名
退出执行source /etc/sysconfig/network
2)、修改/etc/hosts文件内容,#vi /etc/hosts
在文件里添加 各虚拟机ip地址 网络名
3)、修改/etc/sysconfig/network-scripts/相应的网络配置
参考:
ifcfg-eth0文件参考:
DEVICE="eth0"
BOOTPROTO="static"
ONBOOT="yes"
TYPE="Ethernet"
IPADDR=192.168.1.240(不同的虚拟机,ip地址是不同的)
PREFIX=24
GATEWAY=192.168.1.1
6、关闭防火墙
执行命令#chkconfig iptables off关闭自动启动#service iptables stop停掉防火墙 验证#service iptables status
7、面ssh密码登录
1)、在各机器上执行 #ssh-keygen -b 1024 -t rsa 一路回车,在~/.ssh下会产生id_rsa id_rsa.pub文件。
2)、在namenode虚拟机上执行#cd ~/.ssh
3)、#scp id_rsa.pub root@<各nodenameip地址>:/home 即把id_rsa.pub传到各datanode虚拟机节点的/home目录下
4)、在各机器上执行
#cd /home/
#cat id_rsa.pub >>/root/.ssh/authorized_keys
这样ssh免密码登录就配置完成,验证,ssh root@<各节点的Ip地址或者主机名>:/home 若不需要输入密码则配置完成,或者配置失败。
8、在namenode上开始安装hadoop
1)、把 hadoop-1.0.4.tar.gz 放到/home目录地下
2)、解压hadoop-1.0.4.tar.gz ,即执行#cd /home
#tar -zxvf hadoop-1.0.4.tar.gz
#mv hadoop-1.0.4 hadoop
3)、修改/etc/profile
#vi /etc/profile
export JAVA_HOME=/home/java
export HADOOP_HOME=/home/hadoop
export PATH=$JAVA_HOME/bin:$PATH::$HADOOP_HOME/bin
保存退出
#source /etc/profile
4)、hadooop配置文件的修改
cd /home/hadoop/conf 进入到配置文件目录下
《1》、修改conf/hadoop-env.sh
export JAVA_HOME=/home/java
export HADOOP_HEAPSIZE=1024
export HADOOP_PID_DIR=/home/hadoop/pids
保存退出
《2》、配置conf/core-site.xml,增加以下内容
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value><!--hadoop0对于的网络名-->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
《3》、配置conf/hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/conf/excludes</value>
</property>
《4》、配置conf/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>hdfs://hadoop0:9001/</value><!--hadoop0对于的网络名-->
</property>
《5》配置conf/masters
hadoop0<!--namenode网络名-->
配置conf/slaves
hadoop1<!--datanode网络名-->
hadoop2<!--datanode网络名-->
hadoop3<!--datanode网络名-->
5)、把hadoop目录复制到其他虚拟机上
#cd $HADOOP_HOME/..
#scp -r hadoop hadoop1:/home
#scp -r hadoop hadoop2:/home
#scp -r hadoop hadoop3:/home
9、启动/停止hadoop集群
在hadoop0上
第一次启动Hadoop,必须先格式化namenode
#cd $HADOOP_HOME /bin
#hadoop namenode –format
启动Hadoop
#cd $HADOOP_HOME/bin
#./start-all.sh
如果启动过程,报错safemode相关的Exception
执行命令
# hadoop dfsadmin -safemode leave
然后再启动Hadoop
停止Hadoop
cd $HADOOP_HOME/bin
#./stop-all.sh