Hadoop生产环境搭建(含HA、Federation)
Hadoop生产环境搭建 1. 将安装包hadoop-2.x.x.tar.gz存放到某一目录下,并解压。
2. 修改解压后的目录中的文件夹etc/hadoop下的配置文件(若文件不存在,自己创建。)
包括hadoop-env.sh,mapred-site.xml,core-site.xml,hdfs-site.xml,yarn-site.xml
3. 格式化并启动HDFS
4. 启动YARN
以上整个过程与Hadoop单机Hadoop测试环境搭建基本一致,不同的是步骤2中配置文件设置内容以及步骤3的详细过程。 HDFS2.0的HA配置方法(主备NameNode)
注意事项:
1)主备Namenode有多种配置方法,本次使用JournalNode方式。至少准备三个节点作为JournalNode
2)主备两个Namenode应放于不同的机器上,独享机器。(HDFS2.0中吴煦配置secondaryNamenode,备NameNode已经代替它完成相应的功能)
3)主备NameNode之间有两种切换方式,手动切换和自动切换。其中自动切换是借助Zookeeper实现的。因此需要单独部署一个Zookeeper集群,通常为奇数个,至少3个。 ==================================================================================
HSFS HA部署架构和流程 HSFS HA部署架
三个JournalNode
两个NameNode
N个DataNode HDFS HA部署流程——hdfs-site.xml配置
dfs.nameservices 集群中命名服务列表(自定义)
dfs.ha.namenodes.${ns}命名服务中的namenode逻辑名称(自定义)
dfs.namenode.rpc-address.${ns}.${nn} 命名服务中逻辑名称对应的RPC地址
dfs.namenode.http-address.${ns}.${nn} 命名服务中逻辑名称对应的HTTP地址
dfs.namenode.name.dir NameNode fsimage存放目录
dfs.namenode.shared.edits.dir 主备NameNode同步元信息的共享存储系统
dfs.journalnode.edits.dir Journal Node数据存放目录 HDFS HA部署流程——hdfs-site.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-rokid</value>
</property>
<property>
<name>dfs.ha.namenodes.hadoop-rokid</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid.nn1</name>
<value>nn1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid.nn2</name>
<value>nn2:8020</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid.nn1</name>
<value>nn1:50070</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid.nn2</name>
<value>nn2:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/zhangzhenghai/cluster/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://jnode1:8485;jnode2:8485;jnode3:8485/hadoop-rokid</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/zhangzhenghai/cluster/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/zhangzhenghai/cluster/hadoop/dfs/journal</value>
</property>
</configuration>
HDFS HA部署流程——core-site.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://nn1:8020</value>
</property>
</configuration>
HDFS HA部署流程——slaves配置实例
列出集群中的所有机器名称列表 启动顺序:
Hadoop2.x上机实践(部署多机-HDFS HA+YARN)
HA
注意:所有操作均在Hadoop部署目录下进行。
启动Hadoop集群:
step1:
在各个JournalNode节点上,输入以下命令启动journalNode服务,
sbin/hadoop-daemon.sh start journalnode step2:
在[nn1]上,对其进行格式化,并启动,
bin/hdfs namenode -format
sbin/hadoop-daemon.sh start namenode step3:
在[nn2]上,同步nn1的元数据信息,
bin/hdfs namenode -bootstrapStandby step4:
启动[nn2],
sbin/hadoop-daemon.sh start namenode 经过以上四步骤,nn1和nn2均处于standby状态 step5:
将[nn1]切换成Active
bin/hdfs haadmin -transitionToActive nn1 step6:
在[nn1]上,启动所有datanode
sbin/hadoop-daemons.sh start datanode ==================================================================================
Hadoop HA+Federation部署架构和流程 HSFS HA+Federation部署架构
三个JournalNode
四个Namenode(每两个互备)
N个DataNode HDFS HA+Federation部署流程——hdfs-site.xml配置 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-rokid1,hadoop-rokid2</value>
</property>
<!-- hadoop-rokid1 -->
<property>
<name>dfs.ha.namenodes.hadoop-rokid1</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid1.nn1</name>
<value>nn1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid1.nn2</name>
<value>nn2:8020</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid1.nn1</name>
<value>nn1:50070</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid1.nn2</name>
<value>nn2:50070</value>
</property>
<!-- hadoop-rokid2 -->
<property>
<name>dfs.ha.namenodes.hadoop-rokid2</name>
<value>nn3,nn4</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid2.nn3</name>
<value>nn3:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-adress.hadoop-rokid2.nn4</name>
<value>nn4:8020</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid2.nn3</name>
<value>nn3:50070</value>
</property>
<property>
<name>dfs.namenode.http-adress.hadoop-rokid2.nn4</name>
<value>nn4:50070</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/zhangzhenghai/cluster/hadoop/dfs/name</value>
</property>
<!-- hadoop-rokid1 JournalNode配置 两者配置不一样 每一个namespace下 只存其一-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://jnode1:8485;jnode2:8485;jnode3:8485/hadoop-rokid1</value>
</property>
<!-- hadoop-rokid2 JournalNode配置 两者配置不一样 每一个namespace下 只存其一-->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://jnode1:8485;jnode2:8485;jnode3:8485/hadoop-rokid2</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/zhangzhenghai/cluster/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/zhangzhenghai/cluster/hadoop/dfs/journal</value>
</property>
</configuration> 启动顺序:
在nn1和nn2两个节点上进行如下操作:
步骤1:在各个JournalNode节点上,输入以下命令启动JournalNode服务:
sbin/hadoop-daemon.sh start journalnode
步骤2:在[nn1]上,对其进行格式化,并启动:
bin/hdfs namenode -format -clusterId hadoop-rokid1
sbin/hadoop-daemon.sh start namenode
步骤3:在[nn2]上,同步nn1的元数据信息
bin/hdfs namenode bootstrapStandby
步骤4:在[nn2]上,启动NameNode
sbin/hadooop-daemon.sh start namenode
(经过以上四个步骤,nn1和nn2均处于standby状态)
步骤5:在[nn1]上,将NameNode切换为Active
bin/hdfs haadmin -ns hadoop-rokid1 -transitionToActive nn1
在nn3和nn4两个节点上进行如下操作:
步骤1:在各个JournalNode节点上,输入以下命令启动JournalNode服务:
sbin/hadoop-daemon.sh start journalnode
步骤2:在[nn3]上,对其进行格式化,并启动:
bin/hdfs namenode -format -clusterId hadoop-rokid2
sbin/hadoop-daemon.sh start namenode
步骤3:在[nn4]上,同步nn3的元数据信息
bin/hdfs namenode bootstrapStandby
步骤4:在[nn4]上,启动NameNode
sbin/hadooop-daemon.sh start namenode
(经过以上四个步骤,nn3和nn4均处于standby状态)
步骤5:在[nn3]上,将NameNode切换为Active
bin/hdfs haadmin -ns hadoop-rokid2 -transitionToActive nn3
最后:在[nn1]上,启动所有datanode
sbin/hadoop-daemons.sh start datanode
==================================================================================
Yarn部署架构
ResourceManager
N个NodeManager yarn-site.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>YARN001</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value>
</property>
<property>
<name>yarn.scheduler.fair.allocation.file</name>
<value>${yarn.home.dir}/etc/hadoop/fairscheduler.xml</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/home/zhangzhenghai/cluster/hadoop/yarn/local</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.remote-app-log-dir</name>
<value>/tmp/logs</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>30720</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>12</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration> fairscheduler.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<allocations>
<queue name="basic">
<minResources>102400 mb, 50 vcores</minResources>
<maxResources>153600 mb, 100 vcores</maxResources>
<maxRunningApps>200</maxRunningApps>
<minSharePreemptionTimeout>300</minSharePreemptionTimeout>
<weight>1.0</weight>
<aclSubmitApps>root,yarn,search,hdfs</aclSubmitApps>
</queue>
<queue name="queue1">
<minResources>102400 mb, 50 vcores</minResources>
<maxResources>153600 mb, 100 vcores</maxResources>
</queue>
<queue name="queue2">
<minResources>102400 mb, 50 vcores</minResources>
<maxResources>153600 mb, 100 vcores</maxResources>
</queue>
</allocations> mapred-site.xml配置实例
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>The runtime framework for executing MapReduce jobs. Can be one of local classic or yarn.</description>
</property>
<!-- jobhistory properties -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>jobhistory:10020</value>
<description>MapReduce JobHistory Server IPC host:port</description>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>jobhistory:19888</value>
<description>MapReduce JobHistory Server Web UI host:port</description>
</property>
</configuration> YARN启动/停止步骤
在YARN001上执行以下命令
启动YARN:
sbin/start-yarn.sh
停止YARN:
sbin/stop-yarn.sh
启动MR-JobHistory:
sbin/mr-jobhistory-daemon.sh start historyserver #############################OVER#####################################################################
Hadoop生产环境搭建(含HA、Federation)的更多相关文章
- Hadoop 学习笔记 (十) hadoop2.2.0 生产环境部署 HDFS HA Federation 含Yarn部署
其他的配置跟HDFS-HA部署方式完全一样.但JournalNOde的配置不一样>hadoop-cluster1中的nn1和nn2和hadoop-cluster2中的nn3和nn4可以公用同样的 ...
- 攻城狮在路上(陆)-- hadoop分布式环境搭建(HA模式)
一.环境说明: 操作系统:Centos6.5 Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 ...
- linux 生产环境搭建
Linux基础命令杂记 今天又一次搞Linux生产环境搭建.这是种步骤很多,很繁琐而且又不得不做的事情.虽然做过很多次,但还是有很多步骤.命令不记得,每一次到处找资料很麻烦,于是将一些步骤记下,以 ...
- Hadoop之环境搭建
初学Hadoop之环境搭建 阅读目录 1.安装CentOS7 2.安装JDK1.7.0 3.安装Hadoop2.6.0 4.SSH无密码登陆 本文仅作为学习笔记,供大家初学Hadoop时学习参考. ...
- 【HADOOP】| 环境搭建:从零开始搭建hadoop大数据平台(单机/伪分布式)-下
因篇幅过长,故分为两节,上节主要说明hadoop运行环境和必须的基础软件,包括VMware虚拟机软件的说明安装.Xmanager5管理软件以及CentOS操作系统的安装和基本网络配置.具体请参看: [ ...
- Hadoop单机Hadoop测试环境搭建
Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...
- 分享知识-快乐自己:大数据(hadoop)环境搭建
大数据 hadoop 环境搭建: 一):大数据(hadoop)初始化环境搭建 二):大数据(hadoop)环境搭建 三):运行wordcount案例 四):揭秘HDFS 五):揭秘MapReduce ...
- Hadoop分布环境搭建步骤,及自带MapReduce单词计数程序实现
Hadoop分布环境搭建步骤: 1.软硬件环境 CentOS 7.2 64 位 JDK- 1.8 Hadoo p- 2.7.4 2.安装SSH sudo yum install openssh-cli ...
- Hadoop —— 单机环境搭建
一.前置条件 Hadoop的运行依赖JDK,需要预先安装,安装步骤见: Linux下JDK的安装 二.配置免密登录 Hadoop组件之间需要基于SSH进行通讯. 2.1 配置映射 配置ip地址和主机名 ...
随机推荐
- IEEE发布2017年编程语言排行榜:Python高居首位,java第三,php第八
2017年7月18日,IEEE Spectrum 发布了第四届顶级编程语言交互排行榜.因为有各种不同语言的排行,所以 IEEE Spectrum 依据不同的变量对流行度进行了排行.据 IEEE Spe ...
- MySQL数据库----视图
视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的临时 ...
- 一篇关于Redis的好文章
Redis作为缓存使用,在值大小为1k的情况下,可以支持到每秒近十万次的set操作,可见redis的运行效率是非常的高的.但是为什么我们还会有的时候会遇到redis的瓶颈呢?一般来说,都是因为我们没有 ...
- dba和运维专家们说有丰富的大型分布式系统架构设计经验纯属扯淡
如果,一开始就从事dba和运维的专家们说他们有丰富的大型分布式系统架构设计经验,那纯属扯淡.除非,他们从是从开发专家或者架构师转型而来,那么他们才有资格说自己有丰富的大型分布式系统架构设计经验. 运维 ...
- RabbitMQ详解(一)------简介与安装(Docker)
RABBITMQ详解(一)------简介与安装(DOCKER) 刚刚进入实习,在学习过程中没有接触过MQ,RabbitMQ 这个消息中间件,正好公司最近的项目中有用到,学习了解一下. 首先什么是MQ ...
- php 设置模式 单元素模式(单例模式或单件模式)
单元素模式: 某些应用程序资源是独占的,因为有且只有一个此类型的资源.应用程序每次包含且仅包含一个对象,那么这个对象就是一个单元素.指的是在应用程序的范围内只对指定的类创建一个实例.通常该模式中包含一 ...
- 自动对比度的opencv实现
在http://www.cnblogs.com/Imageshop/archive/2011/11/13/2247614.html 一文中,作者给出了“自动对比度”的实现方法,非常nice 实际实现过 ...
- Git 基础 —— 常用命令
Git 基础学习系列 Git 基础 -- 安装 配置 别名 对象 Git 基础 -- 常用命令 Git 基础 -- 常见使用场景 Git基础 -- Github 的使用 git init 创建 Git ...
- fhq treap抄袭笔记
目录 碎碎念 点一下 注意!!! 模板 fhq treap 碎碎念 我咋感觉合并这么像左偏树呢 ps:难道你们的treap都是小头堆的吗 fhq真的是神人 现在看以前学的splay是有点恶心,尤其是压 ...
- Spyder clear variable explorer from memory
https://stackoverflow.com/questions/45853595/spyder-clear-variable-explorer-along-with-variables-fro ...