2.3. 分布式集群安装Hadoop
为了方便阐述,这里只搭建简单的只有三台主机的集群环境。
2.3.1. 环境信息
Hadoop对主机的三种定位方式:Master/Slave,JobTracker/TaskTracker,NameNode/DataNode。一下为主机名、IP地址和主机的角色。
IP地址 | 主机名 | Master/Slave | NameNode/DataNode | JobTracker/TaskTracker |
---|---|---|---|---|
192.168.233.201 | mastre.hadoop | Master | NameNode | JobTracker |
192.168.233.202 | slave1.hadoop | Slave | DataNode | TaskTracker |
192.168.233.203 | slave2.hadoop | Slave | DataNode | TaskTracker |
2.3.2. 前期准备
2.3.2.1. 新建用户
在每台主机上新建相同的用户,这是安装Hadoop集群的基本要求。
PS:我们使用VirtualBox虚拟机,此处可以集成,不需要额外的配置。
2.3.2.2. 安装JDK
安装JDK1.6+并设置环境变量,注意不要使用默认的OpenJDK。
PS:我们使用VirtualBox虚拟机,此处可以集成,不需要额外的配置。
2.3.2.3. 安装配置SSH
安装并配置SSH,请查看前面对应的章节。
PS:我们使用VirtualBox虚拟机,此处可以集成,不需要额外的配置。
2.3.2.4. 设置机器名
2.3.2.4.1. mastre.hadoop
打开的配置文件
[root@hadoop /]# whoami
root
[root@hadoop /]# vi /etc/sysconfig/network
原来的内容
NETWORKING=yes
HOSTNAME=hadoop.hadoop
修改后的内容
NETWORKING=yes
HOSTNAME=mastre.hadoop
2.3.2.4.2. slave1.hadoop
打开的配置文件
[root@hadoop /]# whoami
root
[root@hadoop /]# vi /etc/sysconfig/network
原来的内容
NETWORKING=yes
HOSTNAME=hadoop.hadoop
修改后的内容
NETWORKING=yes
HOSTNAME=slave1.hadoop
2.3.2.4.3. slave2.hadoop
打开的配置文件
[root@hadoop /]# whoami
root
[root@hadoop /]# vi /etc/sysconfig/network
原来的内容
NETWORKING=yes
HOSTNAME=hadoop.hadoop
修改后的内容
NETWORKING=yes
HOSTNAME=slave2.hadoop
2.3.2.5. 设置本地DNS解析
三台机器都需要如此修改即可。
打开配置文件
[root@hadoop /]# whoami
root
[root@hadoop /]# vi /etc/hosts
原来内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 hadoop.hadoop
修改后内容
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.233.201 master.hadoop
192.168.233.202 slave1.hadoop
192.168.233.203 slave2.hadoop
2.3.3. 配置Hadoop
2.3.3.1. 上传安装文件
使用hadoop用户将安装文件上传到Master节点的/home/hadoop目录下并解压。
[hadoop@mastre ~]$ pwd
/home/hadoop
[hadoop@mastre ~]$ whoami
hadoop
[hadoop@mastre ~]$ ls
hadoop-1.0.1.tar.gz
[hadoop@mastre ~]$ tar -zxvf hadoop-1.0.1.tar.gz
PS:此处省略解压过程
[hadoop@mastre ~]$ ls
hadoop-1.0.1 hadoop-1.0.1.tar.gz
2.3.3.2. 配置JDK主目录
修改Hadoop环境配置脚本
[hadoop@mastre conf]$ whoami
hadoop
[hadoop@mastre conf]$ pwd
/home/hadoop/hadoop-1.0.1/conf
[hadoop@mastre conf]$ vi hadoop-env.sh
原来内容
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
修改后的内容
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_45
2.3.3.3. 修改Hadoop配置文件
核心配置文件
conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master.hadoop:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp</value>
</property>
</configuration>
HDFS配置文件
conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
MapReduce配置文件
conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>master.hadoop:9001</value>
</property>
</configuration>
Master节点配置文件
conf/masters
master.hadoop
Slave节点配置文件
conf/slaves
slave1.hadoop
slave2.hadoop
2.3.3.4. 配置所有节点
通过一下命令将配置好的hadoop安装文件直接复制到对应的Slave节点
[hadoop@mastre ~]$ pwd
/home/hadoop
[hadoop@mastre ~]$ whoami
hadoop
[hadoop@mastre ~]$ scp -r hadoop-1.0.1 hadoop@slave1.hadoop:~/
PS:将/home/hadoop目录下的hadoop-1.0.1文件夹复制到slave1的/home/hadoop目录下
[hadoop@mastre ~]$ scp -r hadoop-1.0.1 hadoop@slave2.hadoop:~/
PS:将/home/hadoop目录下的hadoop-1.0.1文件夹复制到slave2的/home/hadoop目录下
2.3.4 启动Hadoop
[hadoop@mastre bin]$ pwd
/home/hadoop/hadoop-1.0.1/bin
[hadoop@mastre bin]$ whoami
hadoop
[hadoop@mastre bin]$ ./hadoop namenode -format
PS:格式化Hadoop文件系统
[hadoop@mastre bin]$ ./start-all.sh
PS:省略启动过程,具体启动过程请查看/home/hadoop/hadoop-1.0.1/logs/目录下的日志文件
2.3.5. 验证Hadoop是否安装成功
打开浏览器,分别输入以下地址:
http://master.hadoop:50030 MapReduce的WEB页面
http://master.hadoop:50070 HDFS的WEB页面
如果可以访问,则表示安装成功`
2.3.6. 查看集群状态
使用如下命令查看集群的状态
[hadoop@mastre bin]$ ./hadoop dfsadmin -report
Configured Capacity: 17714659328 (16.5 GB)
Present Capacity: 13879955486 (12.93 GB)
DFS Remaining: 13879898112 (12.93 GB)
DFS Used: 57374 (56.03 KB)
DFS Used%: 0%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
-------------------------------------------------
Datanodes available: 2 (2 total, 0 dead)
Name: 192.168.233.203:50010
Decommission Status : Normal
Configured Capacity: 8857329664 (8.25 GB)
DFS Used: 28687 (28.01 KB)
Non DFS Used: 1917349873 (1.79 GB)
DFS Remaining: 6939951104(6.46 GB)
DFS Used%: 0%
DFS Remaining%: 78.35%
Last contact: Tue May 26 11:08:35 CST 2015
Name: 192.168.233.202:50010
Decommission Status : Normal
Configured Capacity: 8857329664 (8.25 GB)
DFS Used: 28687 (28.01 KB)
Non DFS Used: 1917353969 (1.79 GB)
DFS Remaining: 6939947008(6.46 GB)
DFS Used%: 0%
DFS Remaining%: 78.35%
Last contact: Tue May 26 11:08:34 CST 2015