《HBase管理指南》一1.6 修改内核参数设置

简介:

本节书摘来异步社区《HBase管理指南》一书中的第1章,第1.6节,作者: 蒋燚峰 译者: 苏南,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.6 修改内核参数设置

HBase是运行在Hadoop上的数据库,和其他数据库一样,它也要同时打开很多个文件。Linux对于一个进程可打开文件描述符的个数有所限制。默认的限制是每个进程可打开1024个文件。为了使HBase能够顺畅运行,你需要调高启动HBase的那个用户允许打开的文件描述符的最大个数。在本书中,就是hadoop用户。

你还要调高Hadoop的nproc设置。nproc设置指定了用户可以同时启动的最大进程数量。如果nproc过低,就会遇到OutOfMemoryError这种错误。

本节将描述如何显示和更改这些内核参数。

1.6.1 准备

请确保你在所有服务器上都有root权限。

1.6.2 操作步骤

你需要对集群中的所有服务器进行如下的内核参数设置修改。

1.以hadoop用户的身份登录并执行以下命令,以确认可打开文件数的当前限制。

hadoop$ ulimit -n
1024

2.使用-u选项的ulimit命令来查看最大进程数的当前设置。

hadoop$ ulimit -u
unlimited

3.以root用户身份进行登录并调高可打开文件数和nproc的限制。在limits.conf文件中添加下列设置。

root# vi /etc/security/limits.conf
hadoop soft nofile 65535
hadoop hard nofile 65535
hadoop soft nproc 32000
hadoop hard nproc 32000

4.为使上述修改生效,使用如下命令在/etc/pam.d/common-session文件中增加一行内容。

root# echo "session required pam_limits.so" >> /etc/pam.d/common-session

5.注销登录,再以hadoop用户的身份重新进行登录,然后再次确认这些设置的当前值,你应该能够看到前面的修改已经生效了。

hadoop$ ulimit -n
65535
hadoop$ ulimit -u
32000

1.6.3 运行原理

上述的内核参数修改将hadoop用户的可打开文件数限制调高到了65535,同时将hadoop用户的最大进程数限制调高到了32000。经过这种内核参数的修改,HBase就可以同时打开足够多的文件,因此也就可以顺畅运行了。

1.6.4 参考章节
第8章“基本性能调整”

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
Shell 分布式数据库 Hbase
Hbase shell管理操作
Hbase shell管理操作
65 0
|
分布式数据库 Hbase
|
分布式数据库 Hbase
|
运维 Java 分布式数据库
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(二)
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(二)
350 0
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(二)
|
存储 SQL 缓存
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(一)
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(一)
276 0
硬吃一个P0故障,「在线业务」应该如何调优HBase参数?(一)
|
SQL 缓存 安全
如何正确管理HBase的连接
如何正确管理HBase的连接
761 0
如何正确管理HBase的连接
|
分布式数据库 Hbase
Hbase插入参数测试与对比
HBase读写性能和几个参数有密切关系,比如cache和batch会影响读, 而write buffer会影响写,另外除了参数会影响,在程序里怎么处理也极大的影响插入性能,诸如List比一条一条put性能是否要高呢? 网上大部分言论是否正确呢?今天我会通过程序读取HBASE,然后再原封不动的写入另外一张表,对比各个参数的组合对插入的影响。 HTable htable1 = new HTable(hbaseconf, "test2"); Scan scan1 = new Scan(); ResultScanner scaner = htable.getScanner(scan1); List
319 0
|
分布式计算 分布式数据库 数据库
Spark on HBase Connector:如何在Spark侧设置HBase参数
前言 X-Pack Spark可以使用Spark on HBase Connector直接对接HBase数据库,读取HBase数据表数据。有时在读取HBase时需要设置HBase的一些参数调整性能,例如通过设置hbase.client.scanner.caching的大小调整读取HBase数据的性能。
2169 0
|
分布式数据库 Hbase
HBase内核及能力
HBase内核及能力 包括:HBase的特性与生态:自动分区、LSM Tree、存储计算分离、HBase生态;全新的HBase2.0版本新功能:小对象存储MOB、读写链路Off-heap 、Region Replica 、In Memory Compaction 、Assignment MangerV2 ;HBase未来规划。
2195 0
|
存储 Java 分布式数据库
云HBase内核解析
摘要:在2018年1月25号数据库直播大讲堂上云HBase技术团队郭泽晖带来“云HBase内核”演讲,比如先讲对HBase做了简介,接着云HBase内核解析,并重点介绍了GC优化和更适合随机读的编码格式,分享了两个实战优化案例,还对云HBase 2.0进行了展望。
4953 0
下一篇
无影云桌面