日期:2014-05-16  浏览次数:20629 次

linux hadoop安装配置

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和结果