HADOOP2.2.0安装配置指南
一、 集群环境搭建
这里我们搭建一个由三台机器组成的集群:
|
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用户
|
|
2. 创建hadoop用户
|
|
3. 给hadoop用户添加权限
1) 打开/etc/sudoers文件
|
|
2) 在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL,给hadoop用户赋予root用户同样的权限
|
|
- 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. 解压文件
将第一部分中下载的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安装配置指南的更多相关文章
- Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)
http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...
- Hadoop2.2.0安装配置手册
第一部分 Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独 ...
- linux上hadoop2.4.0安装配置
1 环境准备 安装java-1.6(jdk) 安装ssh 1.1 安装jdk (1)下载安装jdk 在/usr/lib下创建java文件夹,输入命令: cd /usr/lib mkdir java 输 ...
- hadoop2.4.0 安装配置 (2)
hdfs-site.xml 配置如下: <?xml version="1.0" encoding="UTF-8"?> <?xml-styles ...
- 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...
- Hadoop2.6.0安装 — 集群
文 / vincentzh 原文连接:http://www.cnblogs.com/vincentzh/p/6034187.html 这里写点 Hadoop2.6.0集群的安装和简单配置,一方面是为自 ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
- Hadoop-2.4.0安装和wordcount执行验证
Hadoop-2.4.0安装和wordcount执行验证 下面描写叙述了64位centos6.5机器下,安装32位hadoop-2.4.0,并通过执行 系统自带的WordCount样例来验证服务正确性 ...
- 大数据应用日志采集之Scribe 安装配置指南
大数据应用日志采集之Scribe 安装配置指南 大数据应用日志采集之Scribe 安装配置指南 1.概述 Scribe是Facebook开源的日志收集系统,在Facebook内部已经得到大量的应用.它 ...
随机推荐
- err: exp-00056 rra-12154 exp-00000
一直用的是win7系统+oracle11g r1 server端(后简称r1). 由于工作需要装了oracle11g r2 client端(后简称r2). 在装r2之前,r1的导出exp是没有问题的. ...
- 解决mac os x 10.9.1 AppStore ‘Use the Purchases page to try again’ 问题
方法一: 关闭AppStore Terminal: open $TMPDIR/../C 删除 com.apple.appstore 下所有文件后进入AppStore重新下载 方法二: Terminal ...
- 开发设计模式(二) ActiveObject模式
ActiveObject模式: ActiveObject模式和Command模式的配合使用是实现多线程控制的一项古老的技术,该模式有多种使用方式,为许多工业系统提供了一个简单的多任务核心. // 活动 ...
- hdu 2665 Kth number(划分树模板)
http://acm.hdu.edu.cn/showproblem.php?pid=2665 [ poj 2104 2761 ] 改变一下输入就可以过 http://poj.org/problem? ...
- PHP漏洞全解(四)-xss跨站脚本攻击
本文主要介绍针对PHP网站的xss跨站脚本攻击.跨站脚本攻击是通过在网页中加入恶意代码,当访问者浏览网页时恶意代码会被执行或者通过给管理员发信息 的方式诱使管理员浏览,从而获得管理员权限,控制整个网站 ...
- PYTHON的CGIServer的进化
按例程,一步一步理解如何从SOCKET,TCP,HTTP,CGIHTTP进化的. 最终,静态文件和脚本分享,且能处理FORM提交和展示. 下一步,到数据库??:) A,SOCKET #HTTPserv ...
- javaweb学习总结(三十三)——使用JDBC对数据库进行CRUD
一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...
- wait和waitpid详解
wait的flag参数不是很明确,考虑多个进程同时结束的情况,信号时如何处理的,是否会出现覆盖情况 wait的函数原型是: #include<sys/types.h> #include & ...
- WebBrowser控件的高级定制+mshtml
--> blog:WebBrowser控件的高级定制---以下为三篇重要的参考文献, 第一篇可以禁用了js弹窗和声音 第二篇的引用文献禁用了IE弹窗,但是原文的说明很好 第3篇 ...
- bzoj1670
第一道凸包 采用Andrew算法,不论实现还是理解都非常简单 ..] of longint; i,j,k,m,n:longint; ans:double; procedure swap ...