随着互联网的发展,大数据运算需求日益剧增,开源的Hadoop出现至今,几乎已成为了业界的默认标准,下面,笔者就开始构建一个简单的hadoop并行运算集群。
一、 环境介绍
模拟环境使用三台rhel5.8 32bit,各自IP和主机名如下:
IP 主机名
192.168.88.253 none.mos.com
192.168.88.129 lab1.mos.com
192.168.88.130 lab2.mos.com
其中
none.mos.com负责任务管理和数据名称节点,在生产环境中,建议将此两项分开;
lab1.mos.com为第二名称节点,其并不提供名称节点的功能,但默认情况下,负责周期性的将编辑日志合并至名称节点,并自己也保存一份,其提供了名称节点的冗余,但其数据依然落后于名称节点;
lab3.mos.com为实际数据存储节点和任务执行节点。
使用的软件版本及下载地址:
JDK: jdk-7u5-linux-i586.rpm
下载地址: Oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
Hadoop: hadoop-0.20.2-cdh3u5.tar.gz
下载地址:
二、 准备工作
2.1 修改每个主机的/etc/hosts文件如下:
192.168.88.253 none.mos.com none
192.168.88.129 lab1.mos.com lab1
192.168.88.130 lab2.mos.com lab2
2.2 在集群的每个节点建立用于运行hadoop的用户及设定密码
# useradd hduser && echo "RedHat" | passwd --stdin hduser
2.3 为master节点的hduser用户能够管理并监控其他节点,在none节点做如下操作。
# su – hduser
$ ssh-keygen -t rsa -P ''
$ ssh-copy-id -i .ssh/id_rsa.pub hduser@lab1
$ ssh-copy-id -i .ssh/id_rsa.pub hduser@lab2
2.4 确保每个节点时间的一致性,并清空iptables和关闭selinux,此处操作略
三、 配置hadoop运行所需的java环境,此操作需在每个节点执行一遍。
3.1 安装jdk
# rpm -ivh ~/root/Download/jdk-7u5-linux-i586.rpm
3.2 配置java环境变量
# vim /etc/profile.d/java.sh
JAVA_HOME=/usr/java/latest
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
3.3 使刚才配置的环境其生效(或重新登陆控制台亦可)
# source /etc/profile.d/java.sh
3.4 测试java环境是否OK
# su – hduser
$ java –version
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)