轻松构建分布式Hadoop

随着互联网的发展,大数据运算需求日益剧增,开源的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)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/06594e77307a1edaa2a841a558b3c0d4.html