一、     集群环境搭建

这里我们搭建一个由三台机器组成的集群:

Ip地址

用户名/密码

主机名

集群中角色

操作系统版本

192.168.0.1

hadoop/hadoop

Hadoop-master

nn/snn/rm

Ubuntu1132bit

192.168.0.2

hadoop/hadoop

Hadoop-slave1

dn/nm

Ubuntu1132bit

192.168.0.3

hadoop/hadoop

Hadoop-slave2

dn/nm

Ubuntu1132bit

注:集群角色分(namenode nn, secondary namenode sn, datanode  dn, resourcemanager rm, nodemanager nm)

1. 安装ubuntu

       略。

2. 创建用户

1、创建hadoop用户

sudo addgroup hadoop

2. 创建hadoop用户

sudo adduser -ingroup hadoop hadoop

3. 给hadoop用户添加权限

1)     打开/etc/sudoers文件

sudo gedit /etc/sudoers

2)   在root   ALL=(ALL:ALL)   ALL下添加hadoop   ALL=(ALL:ALL)  ALL,给hadoop用户赋予root用户同样的权限

hadoop   ALL=(ALL:ALL)  ALL

  1. 3.    安装配置JDK建议每台机器的JAVA_HOME路径信息相同

1)     下载安装JDK

a)   从 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载jdk

对于32位的系统可以下载以下两个Linux x86版本(uname -a 查看系统版本)。

b)   选择要安装java的位置,如/usr/lib目录下

c)   将文件jdk-7u40-linux-i586.tar.gz移动到/usr/lib

d)   解压:tar -zxvf jdk-7u40-linux-i586.tar.gz

2)     配置JAVA环境变量:

a)   打开/etc/profile(vim /etc/profile),在最后面添加如下内容:

JAVA_HOME=/usr/java/jdk1.7.0_40(这里的版本号1.7.40要根据具体下载情况修改)CLASSPATH=.:$JAVA_HOME/lib.tools.jar

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

b)   加载修改后的环境变量,在命令行执行

source /etc/profile

c)   查看java环境变量是否配置成功,在命令行执行

java -version

查看不出错说明成功。

【注意】每台机器执行相同操作,最后将java安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)

4. 修改机器名

打开/etc/hostname文件:

sudo gedit /etc/hostname

将/etc/hostname文件中的机器名改为你想取的机器名。 重启系统后才会生效。

5. 关闭每台机器的防火墙

ufw disable

重启后生效。

6. 安装ssh服务

使用命令ssh即可查看是否安装了ssh。如果提示找不到命令则没有安装。执行以下命令安装:

sudo apt-get install ssh openssh-server

7. 建立ssh无密码登录本机

安装完成ssh后会在当前用户主目录(/home/hadoop)下产生一个隐藏文件夹.ssh(ls  -a 可以查看隐藏文件)。如果没有,自己新建即可(mkdir .ssh)。

1)   具体配置步骤如下:

a)   进入.ssh文件夹

b)   ssh-keygen -t  rsa 之后一路回 车(产生秘钥)

c)   把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

d)   重启 SSH 服 务命令使其生效 :service ssh restart此时已经可以进行ssh localhost的无密码登陆

【注意】:以上操作在每台机器上面都要进行。

2)   设置远程无密码登陆

这里只有Hadoop-master是master,如果有多个namenode,或者rm的话则需要打通所有master于其他剩余节点的免密码登陆。

a)   进入master的.ssh目录执行:

scp authorized_keys hadoop@hadoop-slave1:~/.ssh/ authorized_keys_from_master

b)   进入hadoop-slave1的.ssh目录,执行:

cat authorized_keys_from_ master >> authorized_keys

至此,可以在hadoop-master上面ssh hadoop@hadoop-slave1进行无密码登陆了。hadoop-slave2的操作相同。

c)    修改/etc/hosts 文件,增加三台机器的ip和hostname的映射关系

192.168.0.1     hadoop-master

192.168.0.2     hadoop-slave1

192.168.0.3     hadoop-slave2

此处的ip地址应该为三台机器的真实IP

二、    Hadoop 2.2安装过程

Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/。如下图所示,下载红色标记部分即可。如果要自行编译则下载src.tar.gz.

由于hadoop集群中每个机器上面的配置基本相同,所以我们先在namenode上面进行配置部署,然后再复制到其他节点。所以这里的安装过程相当于在每台机器上面都要执行。但需要注意的是集群中64位系统和32位系统的问题。

  1. 1.  解压文件

将第一部分中下载的hadoop-2.2.tar.gz解压到/home/hadoop路径下(或者将在64位机器上编译的结果存放在此路径下)。注意:每台机器的安装路径要相同!!

2. hadoop配置过程

配置之前,需要在hadoop-master本地文件系统创建以下文件夹:

/home/hadoop/dfs/name

/home/hadoop/dfs/data

/home/hadoop/temp

这里要涉及到的配置文件有7个:

~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

~/hadoop-2.2.0/etc/hadoop/slaves

~/hadoop-2.2.0/etc/hadoop/core-site.xml

~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

以上个别文件默认不存在的,可以复制相应的template文件获得。

1)     配置文件1:hadoop-env.sh

修改JAVA_HOME值

export JAVA_HOME=/usr/java/jdk1.7.0_40

2)     配置文件2:yarn-env.sh

修改JAVA_HOME值

export JAVA_HOME=/usr/java/jdk1.7.0_40

3)     配置文件3:slaves (这个文件里面保存所有slave节点)

写入以下内容:

hadoop-slave1

hadoop-slave2

4)     配置文件4:core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

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

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<property>

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

<value>file:/home/hduser/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>hadoop.proxyuser.hduser.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.hduser.groups</name>

<value>*</value>

</property>

</configuration>

5)     配置文件5:hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop-master:9001</value>

</property>

<property>

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

<value>file:/home/hadoop/dfs/name</value>

</property>

<property>

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

<value>file:/home/hadoop/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

6)   配置文件6:mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop-master:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop-master:19888</value>

</property>

</configuration>

7)     配置文件7:yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>hadoop-master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>hadoop-master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>hadoop-master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>hadoop-master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>hadoop-master:8088</value>

</property>

</configuration>

8)     复制到其他节点

这里可以写一个shell脚本进行操作(有大量节点时比较方便),cp2slave.sh。将在hadoop-master上的hadoop文件夹中的所有内容复制至其余节点。在hadoop集群中节点之间是对等的,区别在于配置文件中指明了主从关系。

scp –r /home/hduser/hadoop-2.2.0 hadoop@hadoop-slave1:~/

scp –r /home/hduser/hadoop-2.2.0 hadoop@hadoop-slave2:~/

9)     启动验证

a)      启动hdfs(hadoop文件系统)

进入安装目录:

cd  ~/hadoop-2.2.0/

格式化namenode:.

/bin/hdfs namenode –format

启动hdfs:

./sbin/start-dfs.sh

通过jps查看hadoop进程,此时在hadoop-master上面运行的进程有:

namenode

secondarynamenode

hadoop-slave1,hadoop-slave2上面运行的进程有:

datanode

b)     启动yarn:

./sbin/start-yarn.sh

通过jps查看hadoop进程,此时在hadoop-master上面运行的进程有:

Namenode

Secondarynamenode

resourcemanager

hadoop-slave1,hadoop-slave2上面运行的进程有:

datanode

nodemanaget

c)      查看集群信息

查看集群状态:

./bin/hdfs dfsadmin –report

查看文件块组成:

./bin/hdfsfsck / -files -blocks

查看HDFS:

http:// 192.168.0.1:50070

查看RM:

http:// 192.168.0.1:8088

HADOOP2.2.0安装配置指南的更多相关文章

  1. Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)

    http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...

  2. Hadoop2.2.0安装配置手册

    第一部分 Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独 ...

  3. linux上hadoop2.4.0安装配置

    1 环境准备 安装java-1.6(jdk) 安装ssh 1.1 安装jdk (1)下载安装jdk 在/usr/lib下创建java文件夹,输入命令: cd /usr/lib mkdir java 输 ...

  4. hadoop2.4.0 安装配置 (2)

    hdfs-site.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?> <?xml-styles ...

  5. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  6. Hadoop2.6.0安装 — 集群

    文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6034187.html 这里写点 Hadoop2.6.0集群的安装和简单配置,一方面是为自 ...

  7. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  8. Hadoop-2.4.0安装和wordcount执行验证

    Hadoop-2.4.0安装和wordcount执行验证 下面描写叙述了64位centos6.5机器下,安装32位hadoop-2.4.0,并通过执行 系统自带的WordCount样例来验证服务正确性 ...

  9. 大数据应用日志采集之Scribe 安装配置指南

    大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...

随机推荐

  1. linux磁盘设备知识

    linux分区数字编号: 1.分区数字编号1至4留给主分区或扩展分区使用,逻辑分区编号从5开始. 2.IDE硬盘设备名均以/dev/hd开头,不同硬盘编号依次是/dev/hda/./dev/hdb./ ...

  2. sum_series() 求一列数的指定个数的数和(5个数字的和)

    #include <stdio.h> #include <stdarg.h> /*用sum_series() 求一列数的指定个数的数和(5个数字的和)*/ double sum ...

  3. 4、Hbase

    1).逻辑模型 Hbase 以表的形式存储数据,每个表由行和列组成,每个列属于一个特定的列族. 表中由行和列确定的存储单元称为一个元素,每个元素保存了同一份数据的多个版本,由时间戳来标识.行健是数据行 ...

  4. 导入NGUI插件

    在Unity编辑器顶部菜单栏中的Assets菜单中选择Import Package,然后选择Custom Package(自定义资源包),弹出资源路径窗口,在其中找到NGUI资源包所在的位置,单击”打 ...

  5. listview滚动时背景闪烁,背景黑或白问题解决

    android在使用listview时出现滚动时背景闪烁,变成背景黑或白的问题这样处理: 1:在布局文件中listview标签中加入: android:cacheColorHint="#00 ...

  6. iOS 8 定位失败问题

    首先plist定义两个string:  NSLocationWhenInUseUsageDescription NSLocationAlwaysUsageDescription 然后调用 [self. ...

  7. Portal:十大免费建站程序推荐

    TOP1 独立网店系统 ShopEx,是上海商派网络科技有限公司推出的一个网上商店系列程序.是目前网店软件行业内比较知名的公司.ShopEx旗下的网上商店系统.网上商城系统以及丰富的网商工具,以专业的 ...

  8. sublime text 2 前端编码神器-快捷键与使用技巧介绍

    介绍网址:http://www.xuanfengge.com/sublime-text-2-artifact.html

  9. 常用的python模块

    http://tiankonghaikuo1000.blog.163.com/blog/static/18231597200812424255338/ adodb:我们领导推荐的数据库连接组件bsdd ...

  10. UINavigationController使用的注意事项

    1.常用属性viewControllers //所有在栈中的控制器topViewController //栈顶控制器navigationBar //导航栏 竖屏下默认44,横屏默认32 2.对navi ...