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这两个值之间

阅读全文

Windows快速切换DNS服务器地址的4款小工具推荐

  categories:资料  author:

大家平常都是用哪些 DNS 来进行域名解析呢?相信不少人在用自己本地 ISP 的 DNS 进行解析,有不少朋友在用国内互联网厂商所提供的公共 DNS 服务,也有相当多的用户在使用国外服务商如 Google Public DNS 和 OpenDNS 所提供的名称解析服务。

说到这里,我们到底应该怎样选择适合自己的 DNS 服务商呢?我想至少有如下两方面的原因:

  • 快速、稳定、正确

快速、稳定、结果正确应该是选择 DNS 服务商的首要因素。现在国内外很多网站和应用都采用了 CDN 加速,正确将域名解析到就近的 IP 地址可以加快对网站或应用服务的访问,错误的将 IP 解析到较远的省份或把电信用户解析到联通或移动 IP 上,肯定会增大访问延迟。

稳定和快速也是大家应该需要考虑的首要因素,连接 DNS Server 时就很大延迟或无故掉包或者不稳定的话,不如不用。

  • 安全解析

一个好的 DNS 服务商可以为用户提供更加安全的解析服务,如今国内外的知名 DNS 服务商如 … 阅读全文

对Serverless架构的一点体验和思考

  categories:资料  author:

发端
云计算机经过这么多年的发展,逐渐进化到用户仅需关注业务和所需的资源。通过Swarm、K8S这些编排工具,容器服务让开发者的体验达到很完美的境界。我曾经觉得Docker可以替代虚机,用户只要关注自己的计算和需要的资源就行,不需要操心到机器这一层。但是因为Docker对资源的隔离不够好,各大云厂商的做法还是一个Docker对应一台虚机,不仅成本高,给用户暴露虚机也多余了。

用户为什么需要关注业务运行所需要的CPU、内存、网络情况?还有没有更好的解决方案?Serverless架构应运而生,让人们不再操心运行所需的资源,只需关注自己的业务逻辑,并且为实际消耗的资源付费。可以说,随着Serverless架构的兴起,真正的云计算时代才算到来了。

容器在开发模式方面并没有提出新的想法,大家还是在用传统的那一套开发模式,需要写一个大而全的后端服务。与之对比,Serverless架构是事件驱动的,这样让后端的开发体验变得跟前端和移动端很类似了。针对不同客户的需求,先让其购买好相关的资源,然后一个个填坑,给不同的产品添加各种事件处理逻辑就行。这就跟iOS开发一样,界面写出来,然后处理一个个事件就好了,大家都很容易理解这种开发模式。

image.png

AWS Lambda体验

AWS在2014年11月的re:Invent大会上推出Lambda,经过将近三年的发展,已经达到了非常完善的程度。Lambda主要有三个作用。

  1. 跟API Gateway结合起来,方便快捷地提供API服务。
  2. 串联关键产品,比如在DDB插入一条新数据之后,触发Lambda执行,读取新记录送给搜索引擎建索引。
  3. 扩展功能,比如Cognito User Pool提供非常多的点,方便用户在登录的时候增加自己的处理逻辑。
    image.png

AWS Lambda支持多种语言开发,比如C#、Java、Node.js和Python,拥有广泛的群众基础。

AWS Lambda在除北京之外的所有region均可用。AWS中国支持的产品可以参考:地区表。

image.png

Serverless Reference Architecture: Mobile Backend是一个非常好的实例,讲述了如何通过Serverless架构实现一个App。

这个App的主要功能类似Evernote,支持上传图片,编写和上传文章。功能非常简单,但是涉及到的产品非常多,玩法也非常老练。

1 2 3
image.png
image.png
image.png

整个demo用到的云产品和它们相互之间的关系如下图所示。除了Lambda本身,IAM、API Gateway等产品也发挥了巨大的作用。

$ tree cloudformation lambda-functions 
cloudformation
├── 
阅读全文

小红书在Kubernetes容器环境的CD实践

  categories:资料  author:

前言

容器推出以来,给软件开发带来了极具传染性的振奋和创新,并获得了来自各个行业、各个领域的巨大的支持——从大企业到初创公司,从研发到各类IT人员等等。跨境知名电商小红书随着业务的铺开,线上部署单元的数量急剧增加,以 Jenkins 调用脚本进行文件推送的部署模式已经不能适应需求。这一期实践日,小红书运维团队负责人孙国清将为大家带来小红书如何以最小的投入,最低的开发量快速的实现容器化镜像部署,以及由此带来的收益。以下是此次演讲的整理。

小红书运维团队负责人

浙大计算机系毕业,曾在传统企业 IT 部门工作多年, 最近几年开始在互联网行业从事技术及技术管理工作,曾就职于携程基础架构,负责 Linux 系统标准化及分布式存储的研究和落地,目前在小红书带领运维团队,负责业务应用,基础架构以及IT支持。个人接触的技术比较杂,从开发到运维的一些领域都有兴趣,是 Scala 语言的爱好者,曾翻译了”The Neophyte’s Guide to Scala”,有上千 Scala 开发者从中受益,到小红书后开始负责系统化落地 DevOps 和提高运维效率。

小红书

图 1

小红书本身是一个社区做起来的。一开始是大家在平台上发帖子,分享一些生活中的好东西,健身什么的。目前我们已经有有 5 千万的用户,1 千万的图文,每日 有1 亿次笔记曝光,涉及彩妆、护肤,健身,旅游等等各种领域。

现在小红书是最国内早践行社区电商这个商业模式并获得市场认可的一家电商,我们从社区把流量引入电商,现在在电商平台的 SKU 已经上到了十万级。我们从社区里的用户创建的笔记生成相关的标签,关联相关商品, 同时在商品页面也展示社区内的用户相关笔记。

小红目前还处在创业阶段,我们的技术团队规模还不大, 当然运维本身也是一个小团队,现在整个运维是八个同学。小公司资源有限,一个是人力资源有限,二是我们很多业务往前赶,在如何做好 CI/CD,怎么务实的落地方面, 我们的策略就是开源优先,优先选择开源的产品,在开源的基础上,发现不足的地方做补缺。

小红书应用上线流程

阅读全文

如何在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 … 阅读全文



快乐成长 每天进步一点点      京ICP备18032580号-1