首页 > 代码库 > 分布式Hadoop安装

分布式Hadoop安装

本文旨在介绍通过两台物理节点,实现完全分布式hadoop程序的部署

writen by Bob@20140609

环境介绍:

主机名

机器IP

用途

描述

Hadoop0

192.168.80.101

Namenode

secondaryNamenode

jobTracker

CentOS6.4

jdk-6u24-linux-i586

hadoop-1.1.2

Hadoop1

192.168.80.102

Datanode

taskTracker

CentOS6.4

jdk-6u24-linux-i586

hadoop-1.1.2

 

1、 安装JDK

a)         把 jdk 移动到/usr/local 目录下。进入到/usr/local 目录下,通过“.”解压文件

                         i.              ./jdk-6u24-linux-i586.bin

b)         将解压后的目录jdk1.6.0_24重命名为jdk

                         i.              mv jdk1.6.0_24/ jdk

c)         将jdk配置到环境变量中,设置全局环境变量,文件“/etc/profile”后添加:

                         i.              export JAVA_HOME=/usr/local/jdk

                       ii.              export PATH=.:$PATH:$JAVA_HOME/bin

d)         执行Source命令

                         i.              #source /etc/profile

e)         “export”是关键字,用于设置环境变量。我们设置了两个环境变量,一个是 JAVA_HOME,一个是 PATH。对于环境变量的引用,使用“$”,多个环境变量之间的连接,使用“:”。大家在设置环境变量的时候,一定与 windows 下的操作区分开,不要混淆。命令“source”是为了让文件中的设置立刻生效。

f)          执行java –version命令

2、 关闭防火墙

a)         执行Setup命令

b)         选择“Firewall configuration”,然后按回车;

c)         关闭防火墙,只需要按一下空格键,符号“*”就会消失。最后使用“tab”键移动到“OK”,回车,一步步退出就行了。

d)         检查防火墙是否关闭命令“service iptables status”

3、 设置DNS解析

a)         打开etc/sysconfig/network

b)         修改为“HOSTNAME=hadoop0”(hadoop1)

c)         reboot

4、 Hadoop0设置SSH免密码登录

a)         ssh-keygen –t rsa

b)         三次回车

c)         cd .ssh/

d)         ls –l

e)         cp id_rsa.pub authorized_keys

f)          ssh localhost验证

5、 Hadoop1设置SSH免密码登录

a)         同上

6、 配置hadoop0和hadoop1的/etc/hosts

a)         每个节点均添加了所有节点的 ip 与主机名映射

b)         192.168.80.101      hadoop0

c)         192.168.80.102        hadoop1

7、 集群间SSH免密码登录

a)         在hadoop0执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1

b)         在hadoop1执行命令:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop0

8、 Hadoop压缩包上传至hadoop0节点的/usr/local目录下

9、 Hadoop0节点解压缩hadoop

a)         tar -xzvf hadoop-1.1.2.tar.gz

10、Hadoop0节点解压缩后的文件夹重命名

a)         #mv hadoop-1.1.2 hadoop

11、 设置Hadoop0节点的环境变量

alias cdha=’cd /usr/local/hadoop’

 export JAVA_HOME=/usr/local/jdk

export HADOOP_HOME=/usr/local/hadoop

 export PATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

12、修改hadoop0节点的Hadoop配置文件

a)         修改hadoop-env.sh

第9行改为:export JAVA_HOME=/usr/local/jdk(去掉前面的#)

b)         修改hadoop核心配置文件core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop0:9000</value>
        <description>change your own hostname</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>  
</configuration>

 

c)         修改hdfs配置文件hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

d)         修改MapReduce 配置文件 mapred-site.xml

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hadoop0:9001</value>
        <description>change your own hostname</description>
    </property>
</configuration>

13、在hadoop0节点执行命令,将hadoop0节点的hadoop文件夹复制到hadoop1节点

a)         scp -rq /usr/local/hadoop hadoop1:/usr/local

b)         scp -rq /etc/profile hadoop1:/etc

c)         ssh hadoop1

d)         exit

14、配置hadoop0节点的集群核心文件slaves

a)         打开/conf/slaves文件后,修改为hadoop1.

b)         修改后,意味着在节点 hadoop1运行datanode和tasktracker节点.

15、格式化文件系统

a)         hadoop namenode –format

16、启动集群

a)         在节点 hadoop0 中执行命令:start-all.sh

17、Hadoop0节点jps验证,SecondaryNameNode、NameNode、JobTracker,处于运行状态。

18、Hadoop1节点jps验证,DataNode、TaskTracker,处于运行状态。