centos6.5之Hadoop1.2.1完全分布式部署安装

时间:2024-12-28 18:06:14

0. 说明

系统中首先要安装好jdk环境。

已经配置ssh免密码登录。

设置好防火墙,或者关闭防火墙。

如果集群内机器的环境完全一样,可以在一台机器上配置好,然后把master配置好的软件即hadoop-1.2.1整个文件夹拷贝到其他slave机器的相同位置即可。

1. 环境准备

本次配置使用了两个节点:

| IP地址 | 节点(主机)名|

| - | |

|192.168.8.219 | Master |

|192.168.88.220 | Slave1 |

需要在/etc/hosts中配置好主机信息等。

vim /etc/hosts

192.168.88.219 master
192.168.88.220 slave1

2. 配置参数(切换到hadoop-1.2.1/conf目录下)

2.1 配置conf/hadoop-env.sh文件

使用命令vi hadood-env.sh编辑此文件并取消注释的JAVA HOME,然后配上我们自己的的JDK路径。

export JAVA_HOME=/home/jay/jdk1.7.0_25

2.2 配置/conf/core-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. --> <configuration> <property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property> <property>
<name>hadoop.tmp.dir</name>
<value>/jaydisk/hadoopData/tmp</value>
</property> </configuration>

fs.default.name是NameNode的URI。hdfs://主机名:端口 。

hadoop.tmp.dir是Hadoop的默认临时路径。

2.3 配置/conf/mapred-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. --> <configuration> <property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property> </configuration>

mapred.job.tracker是JobTracker的主机(或者IP)和端口。主机:端口。

2.4 配置/conf/hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. --> <configuration> <property>
<name>dfs.replication</name>
<value>2</value>
<description>Hadoop数据备份数量,不能超过集群总机数。一般配置为slave节点数</description>
</property> <property>
<name>dfs.name.dir</name>
<value>/jaydisk/hadoopData/name</value>
<description>namenode上存储hdfs名字空间元数据</description>
</property> <property>
<name>dfs.data.dir</name>
<value>/jaydisk/hadoopData/data</value>
<description>datanode上数据块的物理存储位置</description>
</property> </configuration>

dfs.name.dir是NameNode持久存储名字空间及事务日志的本地文件系统路径。 当这个值是一个逗号分割的目录列表时,nametable数据将会被复制到所有目录中做冗余备份。

dfs.replication是数据需要备份的数量,默认是3,如果此数大于集群的机器数会出错。

此处的name1和data1等目录不能提前创建,如果提前创建会出问题。

2.5 配置master和slaves主从节点

配置conf/masters和conf/slaves来设置主从结点,注意最好使用主机名,并且保证机器之间通过主机名可以互相访问,每个主机名一行。

配置conf/masters:

$ vim masters

192.168.88.219 master

配置conf/slaves:

$ vim slaves

192.168.88.220 slave1

2.6 将配置拷到slave主机

master主机配置结束,把配置好的hadoop文件夹拷贝到slave主机中。

scp -r /jaydisk/hadoop-1.2.1/ jay@slave1:/jaydisk/

如果目标主机的java安装路径不一样,需要修改conf/hadoop-env.sh。

3. 格式化一个新的分布式文件系统

在master主机上操作(已经把Hadoop/bin目录加入到了环境变量中):

hadoop namenode -format #格式化文件系统

4. 启动所有节点

在master主机上操作

start-all.sh

5. 查看集群的状态

5.1 命令行测试

在master主机上操作

hadoop dfsadmin -report

5.2 使用jps命令查看各个进程

在master主机上操作

检查守护进程是否正在运行,可以使用 jps 命令(这是用于JVM 进程的ps实用程序)。这个命令列出 4 个守护进程及其进程标识符。

[jay@master conf]$ jps
11462 NameNode
11699 SecondaryNameNode
11906 JobTracker
15718 Jps

5.3浏览器查看

浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://192.168.88.219:50070/

JobTracker - http://192.168.88.219:50030/

如果都可以正常访问,则集群部署 成功。