您的位置:首页 > 运维架构

Hadoop-2.4.1完全分布式环境搭建

2015-01-25 11:21 597 查看

Hadoop-2.4.1完全分布式环境搭建

Hadoop-2.4.1完全分布式环境搭建

一、配置步骤如下:

主机环境搭建,这里是使用了5台虚拟机,在ubuntu 13系统上进行搭建hadoop环境。

创建hadoop用户组以及hadoop用户,并给hadoop用户分配权限。

免密码登陆,为5台主机进行免密码登陆配置。

安装hadoop以及jdk,并配置环境变量。

Hadoop分布式环境参数配置。

二、主机环境搭建:

在虚拟机上安装5台虚拟主机并分别安装好hadoop系统,然后分别完成以下操作。

1. 设定静态ip地址,这里的虚拟机使用的是NAT上网模式,配置命令如下:

a) 配置静态地址

sudo gedit /etc/network/interfaces

auto eth0

iface eth0 inet static

address 192.168.182.132

netmask 255.255.255.0

gateway 192.168.182.1

b) 配置网关

sudo gedit /etc/resolv.conf

nameserver 192.168.182.1

c) 重启网络

/etc/init.d/networking restart

2. 修改主机名,打开hostname文件,分别将主机名修改为master,slave1,slave2,slave3,slave4

sudo gedit /etc/hostname

3. 修好主机配置文件,打开hosts文件,我的主机配置是这样的:

sudo gedit /etc/hosts

192.168.182.132 master

192.168.182.134 slave1

192.168.182.135 slave2

192.168.182.136 slave3

192.168.182.137 slave4

三、添加用户

1. 创建hadoop用户组

sudo addgroup hadoop

2. 创建hadoop用户

sudo adduser -ingroup hadoop hadoop

3. 给hadoop用户添加权限,打开/etc/sudoers文件

sudo gedit /etc/sudoers

按回车键后就会打开/etc/sudoers文件了,给hadoop用户赋予root用户同样的权限

在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL

四、配置master到slave的免密码登陆

1. 安装ssh服务

sudo apt-get install ssh openssh-server

2. 配置master到slave的免密码登陆(这里以slave1为例,其他slave操作一致)

master生成authorized_key

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cd .ssh/

cat id_dsa.pub >> authorized_keys

slave1添加master的authorized_key到本地

scp yss@master:~/.ssh/id_dsa.pub ./master_dsa.pub

cat master_dsa.pub >> authorized_keys

五、安装hadoop和jdk,配置环境变量

hadoop安装包版本是2.4.1,jdk使用的是1.7.0_65版本,分别到官网上去下载。

hadoop,jdk分别解压到/home/hadoop/hadoop-2.4.1,/home/hadoop/jdk1.7.0_65目录下,配置环境变量如下:

sudo gedit /etc/profile

HADOOP_HOME=/home/hadoop/hadoop-2.4.1

JAVA_HOME=/home/hadoop/jdk1.7.0_65

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

CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$HADOOP_HOME/lib:$CLASSPATH

export HADOOP_HOME

export JAVA_HOME

export PATH

export CLASSPATH

source /etc/profile

注:配置环境变量应该在最后一步,各个节点都需要单独配置

六、配置hadoop环境

core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://master:9000</value>

<final>true</final>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/hadoop/hadoop-2.4.1/tmp</value>

<description>A base for other temporary directories.</description>

</property>

</configuration>

Hdfs-site.xml

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/home/hadoop/hadoop-2.4.1/name</value>

<final>true</final>

</property>

<property>

<name>dfs.data.dir</name>

<value>/home/hadoop/hadoop-2.4.1/data</value>

<final>true</final>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

<final>true</final>

</property>

</configuration>

mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>192.168.182.132:9001</value>

</property>

</configuration>

注:五、六步骤中都只是配置的master节点,master配置完成后将/home/hadoop/文件夹拷到各个slave

scp -r ./hadoop slave1:/home

七、启动Hadoop

1. 格式化namenode

在master节点执行下面命令:

hadoop namenode format

2. 启动服务

进去master节点/home/hadoop/hadoop-2.4.1/sbin目录,执行如下命令:

./start-all.sh

下面是停止Hadoop服务命令:

./stop-all.sh

3. master有如下进程:

hadoop@master: /home/hadoop/hadoop-2.4.1/sbin $jps

21211 Jps

7421 SecondaryNameNode

7154 NameNode

7968 ResourceManager

4. slave1有如下进程

hadoop@ slave1: /home/hadoop/hadoop-2.4.1/sbin $jps

3612 NameNode

3723 Jps

3367 DataNode

5. 查看集群状态
http:// href="http://cpro.baidu.com/cpro/ui/uijs.php?rs=1&u=http%3A%2F%2Fwww%2Eaboutyun%2Ecom%2Fthread%2D7684%2D1%2D1%2Ehtml&p=baidu&c=news&n=10&t=tpclicked3_hc&q=92051019_cpr&k=master&k0=java&kdi0=8&k1=master&kdi1=8&k2=ssh&kdi2=8&k3=jdk&kdi3=8&k4=etc&kdi4=8&sid=6d8b57f094ba2df8&ch=0&tu=u1692056&jk=ba4034a6de1d93c9&cf=29&rb=0&fv=15&stid=9&urlid=0&luki=2&seller_id=1&di=128" target=_blank>master:8088/

分类: hadoop
标签: hadoop, 环境搭建, 完全分布式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: