centos6.5之Hadoop1.2.1完全分布式部署安装
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/
如果都可以正常访问,则集群部署 成功。