Apache Hbase最新官网指南中文翻译 详细配置调优篇
知识点
保持集群内节点配置同步 当你的集群运行在分布式模式时,当你编辑完你的HBase配置后,一定要记得将整个conf/目录覆盖到其群中的所有节点。这个操作HBase是不会自动为你做的。可以应用rsync远程同步服务,scp或者其他安全的方式复制配置文件到你所有的节点。除了动态配置以外大多数配置需要你重启服务来加载新的配置。接下来会详细描述。
4.先决条件(当然是部署HBase的咯)
这部分将列出部署HBase所需要的基础服务及必须的系统配置。
JDK环境 表2. Java
HBase Version JDK 6 JDK 7 JDK 8 1.2 1.1 1.0 Not SupportedNot SupportedNot Supportedyes yes yes yes 可以运行但测试不完全 可以运行但测试不完全 可以运行但测试不完全. 当采用JDK8构建时需要移除Pool0.98 yes yes Map类中的弃用的方法remove()。参考HBASE-7608 关于JDK8的支持。 0.94 yes yes N/A 11
Apache Hbase最新官网指南中文翻译 详细配置调优篇
注 在HBase0.98.5及以后的版本中需要在每个节点上设置JAVA_HOME环境变量。配置hbase-env.sh文件是一个很好的方式。 操作系统基础服务
ssh
HBase采用ssh服务来进行集群中所有节点之间的通讯。集群中的所有服务器都必须运行ssh服务以便管理Hadoop和Hbase的服务。你必须保证能应用ssh命令能访问集群中的任何一台机器,包括localhost节点哦,不管是主节点还是后备节点,使用共享密钥总要比口令好的多。如果你采用linux或unix操作系统可以参考【之一中的配置SSH免密码访问】配置,如果你采用的osx操作系统需要参考Hadoop wiki SSH: Setting up Remote Desktop and Enabling Self-Login DNS
HBase应用本地主机名来向它自己报告IP地址。在HBase0.92及之前版本都
必须要正向和反向的DNS服务。hadoop-dns-checker工具能被用来测试集群中的dns
是否工作正常。项目README文件提供了关于使用的详细说明。
Loopback IP
HBase0.96及之前版本,HBase仅仅采用127.0.0.1作为localhost的对应
的ip地址,而且不能被配置。详细信息请参考【之一中的Loopback IP】。
12
Apache Hbase最新官网指南中文翻译 详细配置调优篇
NTP
在集群中所有机器的时钟是需要同步的。小的偏差是可以的,但大的偏差将
导致不稳定和意外的问题。当你碰到无法解释的问题是,你应该第一时间检查时间是否同步。建议您的集群中运行NTP(Net Time Protocl)服务或其他的时间同步服务,集群中所与的节点都以这个服务时间为准。参考Basic NTP Configuration安装配置NTP服务。
文件和进程的数量限制(与文件系统及程序的限制关系)
Apache HBase 是一个数据库。它需要一次打开很多文件。很多linux系统
都限制一个用户代开的文件个数不能超过1024个(很多老版本的OSX系统只允许打开256个)。你可以用运行HBase的用户登录系统,然后用ulimit -n 命
令查看限制。限制太低会带来的问题请参见 the Troubleshooting section。你可能会碰到如下错误信息:
2010-04-06 03:04:37,542 INFO
org.apache.hadoop.hdfs.DFSClient: Exception increateBlockOutputStream java.io.EOFException 2010-04-06 03:04:37,542 INFO
org.apache.hadoop.hdfs.DFSClient: Abandoning block blk_-6935524980745310745_1391901
推荐最好把限制提高到10000,但更有可能是配置为10240,因为通常配置值一般都是1024的倍数。每个ColumnFamily最少需要一个StoreFile,而且当一个region正在加载时可能同时打开6个以上的StroeFile。打开的文件数量的需求取决于ColumnFamilies的数量和region的数量。下面提供一个不是很准确的算法来估算一个RegionServer上需要同时打开文件的数量。
算法:计算一个RegionServer上需要同时打开的文件数量
13
Apache Hbase最新官网指南中文翻译 详细配置调优篇
(每个ColumnFamily需要的StoreFile数量) x (每个regionserver上的region
数量)
比如,假设我们的schema中定义每个region中包含3个ColumnFamilies,
平均每个ColumnFamilies需要三个StoreFile,同时每个RegionServer上有100个region,那么JVM虚拟机可能需要同时打开3*3*100=900个文件,而且不包括jar,配置文件等其他文件,打开一个文件并不需要耗费太多的资源,打开很多文件给系统带来的风险也是很小的。
另一个相关的设置是系统同时允许启动的进程数。在linux和unix系统中
你可以采用ulimit –u命令去查看。这个不要与分配用户cpu资源的命令nproc混淆。配置过低将会引起OutOfMemoryError 异常。See Jack Levin’s major
HDFS issues thread on the hbase-users mailing list, from 2011.?
为使用HBase的用户配置最大文件打开数目和进程数目不是HBase的配
置而是一项操作系统的配置。同样重要的是检查配置是否是针对将要运行HBase用户的,要确认这个只需要检查一下对应HBase进程的log日志的第一行就可以了。 A useful read setting config on your hadoop cluster is Aaron Kimball’s Configuration Parameters: What can you just ignore?
例 6. Ulimit在Ubuntu上的设置
在ubuntu系统中编辑/etc/security/limits.conf文件,这是一个四行以空格分隔的文件。你可以参考limits.conf文件的用户手册以获得更多的格式信息。在下面的例子中,第一行为操作系统的用户hadoop设置通过软件或硬件打开文件的总数量为32768。第二行为同一个用户配置最大进程数为32000。 hadoop - nofile 32768 hadoop - nproc 32000
可以使这些配置只在Pluggable Authentication Module(PAM)环境中生效。为了配置PAM使用这些配置,要确认在/etc/pam.d/common-session 文件中添加了下面这行:
14
Apache Hbase最新官网指南中文翻译 详细配置调优篇
session required pam_limits.so
Linux shell
所有域HBase相关的shell脚本都依赖于GNU Bash;
Windows
0.96及之前的版本是不支持在Windows版本上测试运行的。到目前为止在
windows系统之上不建议运行生产环境节点。
4.1 Hadoop
下面表中标注了不同HBase版本所需要或支持的Hadoop版本。根据不同的
版本,你应该选择最合适的Hadoop版本。你可以用Apache提供的Hadoop,也可以使用不同提供商发布的版本,没有太大区别。关于其他Hdoop提供商的信息请参考the Hadoop wiki。
我们建议使用Hadoop 2.x 版本 注 Hadoop 2.x 更快而且具备其他很多特性, 如 short-circuit reads它将提高HBase随机读写文件的性能。2.x还修复了很多bug,能很大的提升HBase使用过程中的体验。HBase0.98降低Hadoop支持的版本到Hadoop1.0,不建议使用Hadoop1.1以上版本,HBase1.0将不支持Hadoop1.x。 使用下面的图例来解释这个表:
Hadoop 版本支持矩阵
? ? ?
15
\支持 \不支持 \没有测试
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库HBase官方指南(2015最新版本)-配置详解篇-for-baidu(3)在线全文阅读。
相关推荐: