hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用
本文原创,如需转载,请注明原文链接和作者
所用到的命令的总结:
yarn:启动start-yarn.sh 停止stop-yarn.sh
zk :zkServer.start ;:zkServer.stop;
启动hdfs : start-dfs.sh 停止:stop-dfs.sh
当然可以需要在zk集群已经跑起来的情况下在头结点上用start-all.sh命令去启动整个集群,
这个命令会启动的进程如下所示
之后还需要两个命令去启动两个yarn的resource manager进程 :yarn-daemon.sh start resourcemanager
1、基本配置
现结点的配置情况
1、单节点的yarn管理的配置
需要配置mapread-site.xml
- Configure parameters as follows:
- etc/hadoop/mapred-site.xml:
- #mapread-site.xml
- <configuration>
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
- etc/hadoop/yarn-site.xml:
- #和yarn-site.xml
- <configuration>
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- </configuration>
2、配置HA高可用中的yarn管理
需要配置的是yarn-site.xml文件
- Here is the sample of minimal setup for RM failover.
- <property>
- <name>yarn.resourcemanager.ha.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>yarn.resourcemanager.cluster-id</name>
- <value>cluster1</value>
- </property>
- <property>
- <name>yarn.resourcemanager.ha.rm-ids</name>
- <value>rm1,rm2</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname.rm1</name>
- <value>node03</value>
- </property>
- <property>
- <name>yarn.resourcemanager.hostname.rm2</name>
- <value>node04</value>
- </property>
- <property>
- <name>yarn.resourcemanager.zk-address</name>
- <value>node02:,node03:,node04:</value>
- </property>
3、具体的自己在搭建的过程中将那几个结点当做resourcemanager所在的结点,则需要将这两个结点互相的分发秘钥,实现互相的免秘钥登录
node03
- [root@node03 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
自己实现对自己的免秘钥登录
- [root@node03 ~]# cd .ssh/
- [root@node03 .ssh]# ll
- 总用量
- -rw-r--r-- root root 9月 : authorized_keys
- -rw------- root root 10月 : id_dsa
- -rw-r--r-- root root 10月 : id_dsa.pub
- -rw-r--r-- root root 9月 : known_hosts
- -rw-r--r-- root root 9月 : node01.pub
- [root@node03 .ssh]# cat id_dsa.pub >> authorized_keys
在node03将秘钥发给node04结点并改名
- [root@node03 .ssh]# scp id_dsa.pub node04:`pwd`/node03.pub
之后在node中执行追加命令
- [root@node04 .ssh]# cat node03.pub >> authorized_keys
node04进行同样的和node03一样的命令且将自己的秘钥文件发给Node03并在03上将node04的秘钥文件追加到自己的验证文件中
4、启动集群步骤
概括:
- 启动:node01:
- zookeeper
- hdfs (注意,有一个脚本不要用,start-all)start-dfs.sh
- 如果nn 和 nn2没有启动,需要在node06,node07分别手动启动:
- hadoop-daemon.sh start namenode
- start-yarn.sh (启动nodemanager)
- 在03,04节点分别执行脚本: yarn-daemon.sh start resourcemanager
- UI访问: ip:
- 停止:
- node01: stop-dfs.sh
- node01: stop-yarn.sh (停止nodemanager)
- node03,node04: yarn-daemon.sh stop resourcemanager (停止resourcemanager)
先启动zk集群;command: zkServer.sh start
因为mr是在hdfs的基础是哪个的,所以在主结点上先启动hdfs 命令:start-dfs.sh
hdfs集群启动:
在主结点上启动Node Manager,这个进程会分别的在DataNode的结点上启动
- [root@node01 hadoop]# start-yarn.sh
注意到这里并没有启动,需要到两个配置resourcemanager的结点去分别的去启动它
- [root@node03 .ssh]# yarn-daemon.sh start resourcemanager
- starting resourcemanager, logging to /opt/sxt/hadoop-2.6./logs/yarn-root-resourcemanager-node03.out
- [root@node04 .ssh]# yarn-daemon.sh start resourcemanager
- starting resourcemanager, logging to /opt/sxt/hadoop-2.6./logs/yarn-root-resourcemanager-node04.out
之后可以通过ss -nal命令查看端口 8088是yarn和浏览器的默认通信端口,
而3888是zk集群选举机制所用的端口,2888是zk集群内部通信所用的端口,2181是服务器和客户单通信的端口
浏览器访问yarn
2、 运用它的计算功能:
先自己创建以及上传一个文件
- [root@node01 hadoop-2.6.]# for i in `seq `;do echo "hello sxt $i" >> test.txt;done
- [root@node01 software]# hdfs dfs -D dfs.blocksize= -put test.txt
具体的运用计算功能的过程
找到自己的hadoop安装路径
- cd /opt/sxt/hadoop-2.6./share/hadoop/mapreduce
对test.txt进行单词统计
- [root@node01 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.6..jar wordcount /test.txt /wordcount
可以看滚动条的计算进度过程
后台的linux命令行中的执行过程
先执行map 作业在执行 reduce作业
浏览器端观察计算已经完成
通过命令行看完成的现象
这种状态代表正常的执行完毕了计算,没有出现语法问题,但是这并不代表计算的结果是正确的
等待之心完毕之后,可以在命令行下通过命令
- 查看hdfs中的文件
- hdfs dfs -cat /文件 查看统计的结果
- hdfs dfs -cat /wordcount/part-r-
结果
完成最基本的mr的计算的功能!!
hadoop学习笔记(九):mr2HA高可用环境搭建及处步使用的更多相关文章
- Hadoop学习笔记1:伪分布式环境搭建
在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...
- Java web与web gis学习笔记(一)——Tomcat环境搭建
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- hadoop学习(三)----hadoop2.x完全分布式环境搭建
今天我们来完成hadoop2.x的完全分布式环境搭建,话说学习本来是一件很快乐的事情,可是一到了搭环境就怎么都让人快乐不起来啊,搭环境的时间比学习的时间还多.都是泪.话不多说,走起. 1 准备工作 开 ...
- hadoop学习笔记(八):hadoop2.x的高可用环境搭建
本文原创,转载请注明作者及原文链接 高可用集群的搭建: 几个集群的启动顺序问题: 1.先启动zookeeper --->zkServer.sh start 2.启动journalNodes集群 ...
- Kafka学习笔记-如何保证高可用
一.术语 1.1 Broker Kafka 集群包含一个或多个服务器,服务器节点称为broker. broker存储topic的数据. 如果某topic有N个partition,集群有N个broker ...
- 大数据学习(07)——Hadoop3.3高可用环境搭建
前面用了五篇文章来介绍Hadoop的相关模块,理论学完还得操作一把才能加深理解.这一篇我会花相当长的时间从环境搭建开始,到怎么在使用Hadoop,逐步介绍Hadoop的使用. 本篇分这么几段内容: 规 ...
- Kafka高可用环境搭建
Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统. 它最初由LinkedIn公司开发,Linkedin于2010年贡献给 ...
- haproxy + rabbitmq + keepalived的高可用环境搭建
一.rabbitmq的搭建:参考rabbimq的安装及集群设置 二.安装和配置haproxy 1.安装haproxyyum install haproxy 2.安装rsysloga. 检查rsyslo ...
- Eureka高可用环境搭建
1.创建govern-center 子工程 包结构:com.dehigher.govern.center 2.pom文件 (1)父工程pom,用于依赖版本管理 <dependencyManage ...
随机推荐
- 针对mysql8.0报错:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create
折腾了好久,后来发现是版本问题,驱动和数据库不匹配导致. 原来用的是5.1.37的驱动.数据库是mysql5.7,可以连接成功. 就在我把数据库换成了8.0之后,所有的买点啥都报标题里的错误了. ...
- windows10 node-gyp安装
本机环境:win10,已安装vs2017,Node版本 10.13.0 1.安装node-gyp npm install -g node-gyp 2.安装完毕之后node-gyp list看一下 no ...
- 使用ADO.NET 访问数据库
一.ADO.NET :用于连接数据库的技术 1.ADO.NET分为两大组件 DataSet:数据集 .NET FRAMWORK :用于连接到数据库,发送命令,检索结果 2.ADO.NET四大核心对象 ...
- SpringBoot整合WEB开发--(十)配置AOP
简介: SpringBoot框架中对AOP有很好的支持,简单AOP概念: JoinPoint(连接点):类里面可以被增强的方法即为连接点,例如,想修改哪个方法的功能,那么该方法就是一个连接点. Poi ...
- ElementUI的el-table的多选的取消选择和筛选的取消所有过滤器之ref冲突问题
写此文的缘由:现如今,网络上,没有同下的解释形式(或者在外网,所以我没找到,或者大佬觉得太简单所以不屑解释).然而,我认为这是对VUE+ElementUI的底层框架的理解深入化问题.(为什么要深入理解 ...
- The sklearn preprocessing
Recently, I was writing module of feature engineering, i found two excellently packages -- tsfresh a ...
- c# 删除功能
html界面: js: controller: app:
- hadoop 部署在centos 7 上
一.准备工作 (文章写于 2019-6) 根据官方文档而来,请注意时间,官方可能有更新,以官方文档为准 1. 配置网站参考: http://hadoop.apache.org/docs/r1.0.4 ...
- yii2表单提交CSRF验证
Yii2表单提交默认需要验证CSRF,如果CSRF验证不通过,则表单提交失败,解决方法如下: 第一种解决办法是关闭Csrf public $enableCsrfValidation = false; ...
- app点击底部菜单切换标题
<!DOCTYPE HTML><html><head> <meta charset="utf-8"> <meta name=& ...