Yarn内存分配管理机制及相关参数配置

  categories:资料  author:
理解Yarn的内存管理与分配机制,对于我们搭建、部署集群,开发维护应用都是尤为重要的,对于这方面我做了一些调研供大家参考。

一、相关配置情况

关于Yarn内存分配与管理,主要涉及到了ResourceManage、ApplicationMatser、NodeManager这几个概念,相关的优化也要紧紧围绕着这几方面来开展。这里还有一个Container的概念,现在可以先把它理解为运行map/reduce task的容器,后面有详细介绍。

1.1  RM的内存资源配置, 配置的是资源调度相关

RM1:yarn.scheduler.minimum-allocation-mb 分配给AM单个容器可申请的最小内存

RM2:yarn.scheduler.maximum-allocation-mb 分配给AM单个容器可申请的最大内存

注:

l 最小值可以计算一个节点最大Container数量

l 一旦设置,不可动态改变

1.2 NM的内存资源配置,配置的是硬件资源相关

NM1:yarn.nodemanager.resource.memory-mb 节点最大可用内存

NM2:yarn.nodemanager.vmem-pmem-ratio 虚拟内存率,默认2.1

注:

l RM1、RM2的值均不能大于NM1的值

l NM1可以计算节点最大最大Container数量,max(Container)=NM1/RM2

l 一旦设置,不可动态改变

1.3 AM内存配置相关参数,配置的是任务相关

AM1:mapreduce.map.memory.mb 分配给map Container的内存大小

AM2:mapreduce.reduce.memory.mb 分配给reduce Container的内存大小

l 这两个值应该在RM1和RM2这两个值之间

阅读全文

如何在xshell中激活X11转发功能

  categories:资料  author:

X11转发是TCP/IP端口转发服务的特殊情况,可以轻松的搞定端口转发设置,为操作带来很多便利,本集xshell教程就同大家讲如何在xshell中激活X11转发功能。

X11协议由PC X 服务器软件使用,从远程主机到用户PC建立连接,可以说是与电子邮件或Telnet等的其他客户端程序相反的情况。利用X11转发功能,无需进行复杂的端口转发设置,通过安全的加密隧道在用户PC上使用远程的X11 应用程序。

如要使用X11转发服务,需对Xshell和SSH服务器进行设置,具体操作如下:

1.打开会话对话框。

2.选择要激活X11转发功能的会话。

3.点击[属性]按钮。

4.在[类别]中选择[连接: SSH: 隧道]

1
图1:X11转移连接

5.选择[转发X11连接到]。

6. 如用户的PC上已安装Xmanager,请勾选[Xmanager(M)]。

如使用其他PC X 服务器,请选择[X DISPLAY(D)]后输入适用的DISPLAY。

7.点击[确定]。

* 注释:

Xmanager会把X DISPLAY选项自动查找为Xshell。其他 PC X 服务器程序需由用户进行设置。如果PC X 服务器使用TCP 6000号端口,DISPLAY设置为“localhost:0.0”。

来源: http://www.xshellcn.com/xsh_column/x11-jih4.html

———————————–

Xmanager 安装教程

Xmanager 是Windows平台下强力的Linux/UNIX管理工具,使用Xmanager,能够使安装在远程的基于UNIX系统的X应用程序与一般的Windows应用程序完全一样。本集主题是如何安装xmanager

阅读全文

Linux中sudo的用法和sudoers配置详解

  categories:资料  author:

1.sudo的配置文件是/etc/sudoers ,我们可以用他的专用编辑工具visodu ,此工具的好处是在添加规则不太准确时,保存退出时会提示给我们错误信息;配置好后,可以用切换到您授权的用户下,通过sudo -l 来查看哪些命令是可以执行或禁止的;/etc/sudoers 文件中每行算一个规则,前面带有#号可以当作是说明的内容,并不执行;如果规则很长,一行列不下时,可以用\号来续行,这样看来一个规则也可以拥有多个行。

2./etc/sudoers 的规则可分为两类;一类是别名定义,另一类是授权规则;别名定义并不是必须的,但授权规则是必须的。

3、/etc/sudoers 配置文件中别名规则

别名规则定义格式如下:
Alias_Type NAME = item1, item2, … 或 Alias_Type NAME = item1, item2, item3 : NAME = item4, item5
别名类型(Alias_Type):别名类型包括如下四种
Host_Alias 定义主机别名;
User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,即sudo 允许切换至的用户;
Cmnd_Alias 定义命令别名;
NAME … 阅读全文

Linux Nano编辑为初学者解释(10个例子)

  categories:资料  author:

在本教程中,我们将讨论Nano编辑器的基本用法,以及它提供的一些功能。

我们在Howtoing 已经详细介绍了Vim编辑器。 但Vim不是Linux提供的唯一的命令行编辑器。 有一些在一些Linux用户或其他部分中受欢迎。 所以,考虑到这一点,在本教程中,我们将讨论Nano编辑器的基本用法,以及它提供的一些功能。

请注意,本文中提到的所有示例和说明都已在Ubuntu 16.10 LTS上进行了测试,而我们使用的Nano版本为2.2.6。

关于纳米

Nano编辑器旨在模拟UW Pico文本编辑器的功能和用户友好性。 以下屏幕截图显示了编辑器的操作:

Linux Nano编辑器

官方文档如何解释编辑器的各个部分:

There are four main sections of the editor. The top line shows the program version, the current filename being edited, and whether or
阅读全文

android开发环境搭建

  categories:资料  author:

现在主流的Android开发环境有: ①Eclipse + ADT + SDK ②Android Studio + SDK ③IntelliJ IDEA + SDK 现在国内大部分开发人员还是使用的Eclipse,而谷歌宣布不再更新ADT后,并且官网也去掉了集成Android开发环境的Eclipse下载链接,各种现象都表示开发者最后都终将过渡到Android Studio,当然这段过渡时间会很长,但如果你是刚学Android的话建议直接冲Android Studio着手;而且很多优秀的开源项目都是基于Android Studio!当然,在本教程中对两种开发环境都会进行一个介绍,用哪个取决与你自己~ 还有一个IntelliJ,和Android Studio差不多的,并不对此进行讲解!

1.JDK安装与配置

  • Step 1:下载JDK 可以到官网进行下载:Jdk官方下载 也可到笔者网盘下载:笔者网盘 PS:这个随便下一个都可以,关系不大,32位的只能下32位哦!
  • Step 2:JDK安装 傻瓜式的下一步即可!
  • Step 3:环境变量的配置 配置环境变量是为了方便我们一些命令行的操作,后续会用到! 右键我的电脑——>高级——>环境变量 Java环境变量配置1
  • 新建JAVA_HOME 新建JAVA_HOME 修改PATH变量,别把原本的东西删掉!!!! 修改PATH变量 新建CLASSPATH 新建CLASSPATH 验证环境是否配置完成 打开电脑的cmd(命令行),win键
阅读全文

Android开发工具汇总

  categories:资料  author:

这是Android开发工具汇总、 开发者必备的小工具。包含了Android开发所需要的环境、在线小工具、开发神器、辅助工具、开发文档、学习教程。提供SDK 、AndroidSudio、 ADT、Gradle等等各个版本的下载。 欢迎更多的同学加入我们,和我们一起把Android 开发工具汇总编辑完善。如果你有好工具,本站没有收录,欢迎发送邮箱luzhensheng72@gmail.com 或者在下方留言。
特别感谢DuGuang、 程序员之家、 inferjay 、qunlunsoft等对本站的支持。

Android Studio 版本

版本描述WindowsMacLinux
2.1 preview1支持Java 8 语言特性、向导用于配置生成针对Android N 预览版本的项目。下载下载下载
2.0 preview9包含Instant Run、更快的模拟器、全新GPU分析器等多项功能改进。下载下载下载
2.0 preview4
阅读全文

学习曲线与学习

  categories:资料  author:

学习曲线 (在一定时间内获得的技能或知识的速率)这个对我们的学习方法有很大影响, 下面先看一些学习曲线

1

 

上面这个图我们可以明显看出  在前10分钟, 前20分钟, 注意力是明显非常高, 后面30分钟有注意力就下降了, 并且这个还同孩子大小等有关系。因此上课前面最好直接讲重要内容。 后面在讲各种。。。

-2

上面这个图中有3条曲线

其中a   明确的看出  练习的时间越少, 生产出的东西或者做出的题就越少, 因此要适当增加练习会有合适的改善, 但是也不能无限增加, 在曲线的最后 看到曲线是平的了, 这个就说明 当练习量到达一定的程度后, 在多的练习也无法带来产出量的增加了!   这个很重要

其中b  明确看出 当练习次数或者练习量少时, 完成一定量的任务需要的时间 就很多, 随着练习次数的增加, 需要的完成时间就 变少(单位时间少是好事情), 但是仍然 当练习次数增加到一定的时候,  在多的练习也无法带来 时间的减少了

其中c 表明若是练习次数少错误次数就会多, 若是随着练习次数的变多, … 阅读全文

Cat统一监控平台简单使用

  categories:资料  author:

问题:

1、如何实时查看线上接口的性能,包括压测,接口太慢如何定位?

2、如何实时统计线上流量以及接口调用量?

3、线上接口可用率达不到100%,如何进行告警?

4、线上服务器 缓存,jvm内存,GC 如何进行实时监控?

…..

带着这些疑问,我们找到了大众点评的Cat,有了Cat这些问题都可以迎刃而解!接下来我们将介绍Cat的简单使用

环境:jdk7,git,maven,mysql

一、下载源码

git clone https://github.com/dianping/cat

二、maven打包安装

mvn clean install -DskipTests
#此步骤将动态生成java代码提供给项目使用

三、数据库环境配置

mvn cat:install
#中间提示输入数据库连接地址 数据库连接用户名和密码
#eg:jdbc:mysql://192.168.0.149:3306
#用户名 root 密码 root
#若提示 /data/appdatas/cat 目录不存在 手动添加即可 mkdir -p /data/appdatas/cat

四、修改配置

cd 
阅读全文

通过实时监控系统CAT打造7*24服务

  categories:资料  author:

看大众点评如何通过实时监控系统CAT打造7*24服务

CAT是一个实时监控系统,它侧重于Java应用的监控,基本接入了点评所有核心应用。CAT已经在中间件框架(MVC框架、RPC框架、数据库框架、缓存框架等)中得到广泛应用,为点评各业务线提供系统的性能指标、健康状况、基础告警等。

CAT很大的优势是它是一个实时系统,从数据生成到服务端处理结束是毫秒级别;第二个优势,数据是接近全量统计。

CAT背景介绍

大众点评监控系统CAT是由@吴其敏@携程(前大众点评首席架构师,现携程架构负责人)主导设计。我们平常都称吴其敏为老吴,老吴之前在eBay工作超过10年,对于eBay的CAL系统有深入了解,CAL是CAT系统当初的原型。

为什么要做监控

  1. 线上发布了服务,怎么知道它一切正常,比如发布5台服务器,如何直观了解是否有请求进来,访问一切正常。
  2. 当年有一次将线上的库配置到了Beta,这么低级的错误,排错花了一个通宵,十几个人。
  3. 某个核心服务挂了,导致大量报错,如何确定到底是哪里出了问题。
  4. SOA带来的问题,调用XX服务出问题,很慢,是否可以衡量?
  5. 应用程序有性能瓶颈,如何提供一些有效工具发现?
    ……

监控应该是一个很宽泛的问题,任何可能出问题地方都需要加入监控。

服务端监控

我们把服务端监控的报表分为两类:

  1. 故障快速发现类,这类主要是面向运维,让运维直观看到生产环境出现的问题。
  2. 系统问题分析类,这类主要是面向开发,让开发能了解自己系统实时运行状态,发现问题,分析瓶颈等。

故障发现类的报表有如下几个:

  • 实时业务指标监控 :核心业务都会定义自己的业务指标,这不需要太多,主要用于24小时值班监控,实时发现业务指标问题,图中一个是当前的实际值,一个是基准值,基准值是根据历史趋势计算的预测值。1
  • 实时报错大盘: 所有应用的topN的报错大盘,下图是一个出现故障的图。2
  • 实时数据库大盘3
  • A. 实时数据库大盘,实时知道数据库访问情况的大盘。如何确定存在问题,是根据实时的数据在加一些配置的访问规则。
    B. 这里不要用DB服务端性能采集的数据(比如io,load,qps等),要用应用程序访问这个database得出的响应时间、错误、访问量的数据,这里称之为端到端的数据。
    C. 应用程序采集的数据和服务端的数据得出的结果会有很大很大的差异。
    D. 后面的闪电符号是一个url link,这边可以直接跳转到运维的自动化平台上,做database故障降级处理。
  • 实时核心网络拓扑大盘
    这里采集了核心接入层网络交换机的一些信息,将一些状态定制到监控大盘上,主要的采集指标包括:进入口流量、丢包、错包等。5

以上讲了我们做的给运维,更准确的是24小时值班监控团队的监控大屏,主要目的是快速发现问题,这里不需要很华丽的数字,主要用精确的红色来代表发现故障,需要立刻通知解决。

什么东西才可以作为一个大盘:这里需要看公司整体运维的故障情况,TopN以及业务指标应该属于通用,数据库和网络大盘是点评在实际经验中经常容易出故障的地方,所以我们做成大盘这样比较直观的形式,用于发现问题。比如平时因为发布引起故障比较多,他们也做了一个发布大盘,实时监控线上的发布情况。

下面我会讲到服务端分析问题的报表,在这之前我介绍几个CAT监控的几个基础概念。

首先第一点就是监控的模型,监控最需要解决的两个问题,响应时间和访问量。

  1. 响应时间,一段代码的响应时间,一段代码可大可小,比如一段sql,一个服务访问,一个url整个请求。
  2. 访问量,走到一行code的次数,比如抛出的异常,走到代码某个if的路径等。
阅读全文

一键安装Docker图形化管理界面-Shipyard

  categories:资料  author:
Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便。复制、粘贴、使用,就这么简单。先不研究他是如何实现的,安装使用起来再说。

$ curl -s https://shipyard-project.com/deploy | bash -s

Deploying Shipyard
-> Starting Database
-> Starting Discovery
-> Starting Cert Volume
-> Starting Proxy
-> Starting Swarm Manager
-> Starting Swarm Agent
-> Starting Controller
Waiting for Shipyard on 192.168.2.xxx:8080
..

阅读全文


快乐成长 每天进步一点点