没有合适的资源?快使用搜索试试~ 我知道了~
由于工作需要,最近一段时间开始接触学习 Hadoop 相关的东西,目前公司的实时任务和离线任务都跑在一个 Hadoop 集群,离线 任务的特点就是每天定时跑,任务跑完了资源就空闲了,为了合理的利用资源,我们打算在搭一个集群用于跑离线任务,计算节点和 储存节点分离,计算节点结合 aws 的 Auto Scaling(自动扩容、缩容服务)以及竞价实例,动态调整,在跑任务的时候拉起一批实 例,任务跑完就自动释放掉服务器,本文记录下 Hadoop 集群的搭建过程,方便自己日后查看,也希望能帮到初学者,本文所有软 件都是通过 yum 安装,大家也可以下载相应的二进制文件进行安装,使用哪种方式安装,从属个人习惯。
资源推荐
资源详情
资源评论
CDH5发行版Hadoop集群部署实例
一、概要
由于工作需要,最近一段时间开始接触学习 Hadoop 相关的东西,目前公司的实时任务和离线任务都跑在一个 Hadoop 集群,离线
任务的特点就是每天定时跑,任务跑完了资源就空闲了,为了合理的利用资源,我们打算在搭一个集群用于跑离线任务,计算节点和
储存节点分离,计算节点结合 aws 的 Auto Scaling(自动扩容、缩容服务)以及竞价实例,动态调整,在跑任务的时候拉起一批实
例,任务跑完就自动释放掉服务器,本文记录下 Hadoop 集群的搭建过程,方便自己日后查看,也希望能帮到初学者,本文所有软
件都是通过 yum 安装,大家也可以下载相应的二进制文件进行安装,使用哪种方式安装,从属个人习惯。
二、环境
1、角色介绍
10.10.103.246 NameNode zkfc journalNode QuorumaPeerMain DataNode ResourceManager NodeManager
WebAppProxyServer JobHistoryServer
10.10.103.144 NameNode zkfc journalNode QuorumaPeerMain DataNode ResourceManager NodeManager
WebAppProxyServer
10.10.103.62 zkfc journalNode QuorumaPeerMain DataNode NodeManager
2、基础环境说明
a、系统版本
我们用的是 aws 的 ec2,用的 aws 自己定制过的系统,不过和 redhat 基本相同,内核版本:4.9.20-10.30.amzn1.x86_64
b、java 版本
java version "1.8.0_121"
c、hadoop 版本
hadoop-2.6.0
d、cdh 版本
cdh5.11.0
e、关于主机名,因为我这里用的 aws 的 ec2,默认已有主机名,并且内网可以解析,故就不单独做主机名的配置了,如果你的主机
名内网不能解析,请一定要配置主机名,集群内部通讯很多组件使用的是主机名
下面关于 Hadoop 的文章您也可能喜欢,不妨看看:
Ubuntu14.04 下 Hadoop2.4.1 单机/伪分布式安装配置教程 http://www .linuxidc.com/Linux/2015-02/113487.htm
CentOS 6.3 下 Hadoop 伪分布式平台搭建 http://www.linuxidc.com/Linux/2016-11/136789.htm
Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式) http://www.linuxidc.com/Linux/2016-09/135406.htm
Ubuntu 上搭建 Hadoop 环境(单机模式+伪分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm
实战 CentOS 系统部署 Hadoop 集群服务 http://www .linuxidc.com/Linux/2016-11/137246.htm
Hadoop 2.6.0 HA 高可用集群配置详解 http://www.linuxidc.com/Linux/2016-08/134180.htm
Spark 1.5、Hadoop 2.7 集群环境搭建 http://www.linuxidc.com/Linux/2016-09/135067.htm
在 Ubuntu X64 上编译安装 Hadoop http://www.linuxidc.com/Linux/2016-12/138568.htm
本文档由Linux公社 www.linuxidc.com 整理
CentOS 6.7 安装 Hadoop 2.7.3 http://www .linuxidc.com/Linux/2017-01/139089.htm
CentOS7+Hadoop2.5.2+Spark1.5.2 环境搭建 http://www .linuxidc.com/Linux/2017-01/139364.htm
更多 Hadoop 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
三、配置部署
1、设置 yum 源
vim /etc/yum.repos.d/cloudera.repo
[cloudera-cdh5-11-0]
# Packages for Cloudera's Distribution for Hadoop, Version 5.11.0, on RedHat
or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5.11.0
baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5.11.0/
gpgkey=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
gpgcheck=1
[cloudera-gplextras5b2]
# Packages for Cloudera's GPLExtras, Version 5.11.0, on RedHat or CentOS 6
x86_64
name=Cloudera's GPLExtras, Version 5.11.0
baseurl=http://archive.cloudera.com/gplextras5/redhat/6/x86_64/gplextras/5.11.0/
gpgkey=http://archive.cloudera.com/gplextras5/redhat/6/x86_64/gplextras/RPM-GPG-KEY-
cloudera
gpgcheck=1
PS:我这里安装的 5.11.0,如果想安装低版本或者高版本,根据自己的需求修改版本号即可
2、安装配置 zookeeper 集群
yum -y install zookeeper zookeeper-server
vi /etc/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=0
server.1=10.10.103.144:2888:3888
server.2=10.10.103.226:2888:3888
server.3=10.10.103.62:2888:3888
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
mkdir /data/zookeeper #创建 datadir 目录
/etc/init.d/zookeeper-server init #所有节点先初始化
echo 1 > /data/zookeeper/myid #10.10.103.144 上操作
echo 2 > /data/zookeeper/myid #10.10.103.226 上操作
本文档由Linux公社 www.linuxidc.com 整理
echo 3 > /data/zookeeper/myid #10.10.103.62 上操作
/etc/init.d/zookeeper-server #启动服务
/usr/lib/zookeeper/bin/zkServer.sh status #查看所有节点状态,其中只有一个节点是
Mode: leader 就正常了
3、安装
a、10.10.103.246 和 10.10.103.144 安装
yum -y install hadoop hadoop-client hadoop-hdfs hadoop-hdfs-namenode hadoop-hdfs-
zkfc hadoop-hdfs-journalnode hadoop-hdfs-datanode hadoop-mapreduce-
historyserver hadoop-yarn-nodemanager hadoop-yarn-proxyserver hadoop-yarn hadoop-
mapreduce hadoop-yarn-resourcemanager hadoop-lzo* impala-lzo
b、10.10.103.62 上安装
yum -y install hadoop hadoop-client hadoop-hdfs hadoop-hdfs-journalnode hadoop-
hdfs-datanode hadoop-lzo* impala-lzo hadoop-yarn hadoop-mapreduce hadoop-yarn-
nodemanager
PS:
1、一般小公司,计算节点(ResourceManager)和储存节点(NameNode)的主节点部署在两台服务器上做 HA,计算节点
(NodeManager)和储存节点(DataNode)部署在多台服务器上,每台服务器上都启动 NodeManager 和 DataNode 服务。
2、如果大集群,可能需要计算资源和储存资源分离,集群的各个角色都有服务器单独部署,个人建议划分如下:
a、储存节点
NameNode:
需要安装 hadoop hadoop-client hadoop-hdfs hadoop-hdfs-namenode hadoop-hdfs-zkfc hadoop-lzo* impala-lzo
DataNode:
需要安装 hadoop hadoop-client hadoop-hdfs hadoop-hdfs-datanode hadoop-lzo* impala-lzo
QJM 集群:
需要安装 hadoop hadoop-hdfs hadoop-hdfs-journalnode zookeeper zookeeper-server
b、计算节点
ResourceManager:
需要安装 hadoop hadoop-client hadoop-yarn hadoop-mapreduce hadoop-yarn-resourcemanager
WebAppProxyServer:
需要安装 hadoop hadoop-yarn hadoop-mapreduce hadoop-yarn-proxyserver
JobHistoryServer:
需要安装 hadoop hadoop-yarn hadoop-mapreduce hadoop-mapreduce-historyserver
NodeManager:
需要安装 hadoop hadoop-client hadoop-yarn hadoop-mapreduce hadoop-yarn-nodemanager
本文档由Linux公社 www.linuxidc.com 整理
4、配置
a、创建目录并设置权限
mkdir -p /data/hadoop/dfs/nn #datanode 上操作
chown hdfs:hdfs /data/hadoop/dfs/nn/ -R #datanode 上操作
mkdir -p /data/hadoop/dfs/dn #namenode 上操作
chown hdfs:hdfs /data/hadoop/dfs/dn/ -R #namenode 上操作
mkdir -p /data/hadoop/dfs/jn #journalnode 上操作
chown hdfs:hdfs /data/hadoop/dfs/jn/ -R #journalnode 上操作
mkdir /data/hadoop/yarn -p #nodemanager 上操作
chown yarn:yarn /data/hadoop/yarn -R #nodemanager 上操作
b、撰写配置文件
vim /etc/hadoop/conf/capacity-scheduler.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property><name>yarn.scheduler.capacity.maximum-
applications</name><value>10000</value></property>
<property><name>yarn.scheduler.capacity.maximum-am-resource-
percent</name><value>0.4</value></property>
<property><name>yarn.scheduler.capacity.resource-
calculator</name><value>org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator<
/value></property>
<property><name>yarn.scheduler.capacity.node-locality-
delay</name><value>30</value></property>
<property><name>yarn.scheduler.capacity.root.queues</name><value>default,server,offline
</value></property>
<property><name>yarn.scheduler.capacity.root.default.capacity</name><value>95</value></
property>
<property><name>yarn.scheduler.capacity.root.default.maximum-
capacity</name><value>100</value></property>
<property><name>yarn.scheduler.capacity.root.default.user-limit-
factor</name><value>100</value></property>
<property><name>yarn.scheduler.capacity.root.default.state</name><value>running</value>
</property>
<property><name>yarn.scheduler.capacity.root.default.acl_submit_applications</name><val
ue>*</value></property>
<property><name>yarn.scheduler.capacity.root.default.acl_administer_queue</name><value>
*</value></property>
<property><name>yarn.scheduler.capacity.root.server.capacity</name><value>0</value></pr
operty>
<property><name>yarn.scheduler.capacity.root.server.maximum-
capacity</name><value>5</value></property>
<property><name>yarn.scheduler.capacity.root.server.user-limit-
factor</name><value>100</value></property>
<property><name>yarn.scheduler.capacity.root.server.acl_submit_applications</name><valu
e>haijun.zhao</value></property>
本文档由Linux公社 www.linuxidc.com 整理
剩余19页未读,继续阅读
资源评论
tornadom
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功