1,环境说明
机器是三台,都是linux RHEL6系统,三台机器的IP是192.168.1.99、192.168.1.98、192.168.1.97。
各自设置主机名
192.168.1.99 namenode
192.168.1.98 datanode1
192.168.1.97 datanode2
设置主机名的方法:
http://stranger2008.iteye.com/blog/1825953
每台机器都已经安装好了java,安装目录在/usr/local/java,安装方法:
http://stranger2008.iteye.com/blog/1820548
在每台机器上的/etc/hosts内加入以下代码:
192.168.1.99 namenode 192.168.1.98 datanode1 192.168.1.97 datanode2
2,设置SSH无密码登录
hadoop运行集群需要各机器支持ssh无密码登录,我这里直接用root登录。
进入root主目录,执行生成密钥代码
#cd ~ #ssh-keygen -t rsa
执行以上代码,一直回车即可,在root的主目录下会生成.ssh文件夹,文件夹内包括两个文件id_rsa.pub和id_rsa。
以上这步操作每台机器都相同的做一遍。
生成id_rsa.pub和id_rsa这两个文件后,在本地创建一个文件authorized_keys,再把三台服务器上的id_rsa.pub下载下来,并把里面的内容都加到authorized_keys文件里,然后在把authorized_keys上传到各个服务器的/root/.ssh/目录下。
然后试着连接即可,本机也可以连自己,第一次连接需要输入密码,后面就不需要了。
ssh namenode ssh datanode1 ssh datanode2
3,安装hadoop
下载地址:
http://labs.xiaonei.com/apache-mirror/hadoop/core/hadoop-0.20.1/hadoop-0.20.2.tar.gz
a,创建安装目录
mkdir /usr/local/hadoop/
b,解压安装文件hadoop-0.21.0.tar放入到安装目录
tar -zxvf hadoop-0.21.0.tar
c,设置环境变量
/etc/profile增加如下内容
#config hadoop export HADOOP_HOME=/usr/local/hadoop/ export PATH=$HADOOP_HOME/bin:$PATH #hadoop logs file path export HADOOP_LOG_DIR=${HADOOP_HOME}/logs
让设置生效: source /etc/profile
d,设置主从配置
/usr/local/hadoop/conf/masters的配置如下:
namenode
/usr/local/hadoop/conf/slaves的配置如下:
datanode1 datanode2
e,修改配置文件
/usr/local/hadoop/conf/hadoop-env.sh
把JAVA_HOME该为安装jdk的路径
# The java implementation to use. Required. export JAVA_HOME=/usr/local/java/
core-site.xml
<configuration> <property> <name>fs.default.name</name> <value>hdfs://Namenode:9000/</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp/</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> #set bak file number <value>1</value> </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name> <value>Namenode:9001</value> </property> </configuration>
f,初始化Hadoop
#cd /usr/local/hadoop/ #./bin/hadoop namenode -format
以上a-f的步骤三台机器一模一样做一遍。
4,在namenode机器上启动hadoop
#cd /usr/local/hadoop/ #./bin/start-all.sh
启动后用命令JPS查看结果如下:
[root@namenode hadoop]# jps
1806 Jps
1368 NameNode
1694 JobTracker
1587 SecondaryNameNode
然后到Datanode1/2上去查看,执行JPS,结果如下:
[root@datanode2 hadoop]# jps
1440 Jps
1382 TaskTracker
1303 DataNode
[root@datanode2 hadoop]# jps
1382 TaskTracker
1303 DataNode
1452 Jps
说明你成功集群安装了Hadoop
5,查看状态
查看集群状态:$ hadoop dfsadmin -report
Hadoop 的web 方式查看:http://192.168.1.99:50070
http://192.168.1.99:50030 可以查看运行的job和结果