Hbase优化(三)Linux优化+Zookeeper优化
一、Linux优化
1) 开启文件系统的预读缓存可以提高读取速度
|
$ sudo blockdev --setra 32768 /dev/sda |
尖叫提示:ra是readahead的缩写
2) 关闭进程睡眠池
即不允许后台进程进入睡眠状态,如果进程空闲,则直接kill掉释放资源
|
$ sudo sysctl -w vm.swappiness=0 |
3) 调整ulimit上限,默认值为比较小的数字
|
$ ulimit -n 查看允许最大进程数 $ ulimit -u 查看允许打开最大文件数 |
优化修改:
|
$ sudo vi /etc/security/limits.conf 修改打开文件数限制 末尾添加: * soft nofile 1024000 * hard nofile 1024000 Hive - nofile 1024000 hive - nproc 1024000
$ sudo vi /etc/security/limits.d/20-nproc.conf 修改用户打开进程数限制 修改为: #* soft nproc 4096 #root soft nproc unlimited * soft nproc 40960 root soft nproc unlimited |
4) 开启集群的时间同步NTP-永久的时间同步
集群中某台机器同步网络时间服务器的时间,集群中其他机器则同步这台机器的时间。
5) 更新系统补丁
更新补丁前,请先测试新版本补丁对集群节点的兼容性。
二、Zookeeper优化
优化Zookeeper会话超时时间
hbase-site.xml
|
参数:zookeeper.session.timeout 解释:In hbase-site.xml, set zookeeper.session.timeout to 30 seconds or less to bound failure detection (20-30 seconds is a good start).该值会直接关系到master发现服务器宕机的最大周期,默认值为30秒(不同的HBase版本,该默认值不一样),如果该值过小,会在HBase在写入大量数据发生而GC-清理垃圾时,导致RegionServer短暂的不可用,从而没有向ZK发送心跳包,最终导致认为从节点shutdown。一般20台左右的集群需要配置5台zookeeper。 |
浙公网安备 33010602011771号