前言
在本节中,我们列出了使用HBase时所需要的服务和一些必需的系统配置。
一. 安装 Java
Java是Hadoop和HBase主要先决条件。首先应该使用”java -verion”检查java是否存在在您的系统上。 java -version 命令的语法如下。
如果一切正常,它会得到下面的输出。
如果Java还没有安装在系统中,请你安装Java!
二. HBase版本与JDK
在下表中你可以看到HBase版本与其对应支持的JDK版本:
注意:HBase不会使用Java 6构建或编译,并且,您必须在群集的每个节点上设置JAVA_HOME,hbase-env.sh 提供了一个方便的机制来做到这一点。
三. 操作系统
1. SSH
(必须的)HBase广泛使用安全Shell(ssh)命令和实用程序在集群节点之间进行通信。集群中的每台服务器都必须运行ssh,以便可以管理Hadoop和HBase后台进程。您必须能够使用共享密钥而不是密码,通过SSH(包括本地节点)从主服务器和任何备份主服务器连接到所有节点。您可以在Linux或Unix系统中的“Procedure:Configure Passwordless SSH Access ”(配置无密码SSH访问)中看到这种设置的基本方法。如果群集节点使用OS X,请参阅Hadoop wiki上的,SSH:设置远程桌面和启用自登录。
2. DNS
HBase使用本地主机名来自行报告其IP地址。正向和反向DNS解析必须在0.92.0之前的HBase版本中工作。hadoop-dns-checker 工具,可以用来验证DNS在集群上是否正常工作。项目文件提供了有关使用的详细说明。
3. Loopback IP
在hbase-0.96.0之前,HBase只使用IP地址来引用,而这是不可配置的。有关更多详细信息,请参阅Loopback IP。
4. NTP
群集节点上的时钟应该同步。少量的变化是可以接受的,但是大量的不同会导致不稳定和意外的行为。如果在群集中看到无法解释的问题,则时间同步是首先要检查的事项之一。建议您在群集上运行网络时间协议(NTP)服务或其他时间同步机制,并且所有节点都查找相同的服务以进行时间同步。请参阅Linux文档项目(TLDP)中的基本NTP配置以设置NTP。
5. 文件和进程数限制(ulimit)
Apache HBase是一个数据库。它需要能够一次打开大量的文件。许多Linux发行版限制了允许单个用户打开的文件数量(或者,在旧版本的OS X上)。当以运行 HBase 的用户身份登录时,您可以通过在服务器上运行命令来检查服务器上的限制。您也可能会注意到以下错误:
建议将ulimit提高到至少10,000,但更可能是10,240,因为该值通常以1024的倍数表示。每个ColumnFamily至少有一个StoreFile,如果该区域处于加载状态,则可能有多于六个的StoreFile。所需的打开文件的数量取决于ColumnFamilies的数量和区域的数量。以下是计算RegionServer上打开的文件的潜在数量的粗略公式。
6. 计算打开文件的潜在数量
例如,假设一个模式的每个区域有3个ColumnFamilies,每个ColumnFamily平均有3个StoreFiles,每个RegionServer有100个区域,则JVM将打开文件描述符,不包括打开的JAR文件、配置文件等等。打开一个文件不需要很多资源,而且允许用户打开太多文件的风险很小。
7. 允许用户同时运行的进程数量
另一个相关设置是允许用户同时运行的进程数量。在Linux和Unix中,使用该命令设置进程的数量。这不应与命令混淆,该命令控制给定用户可用的CPU数量。在负载下,太低会导致OutOfMemoryError异常。
为运行HBase进程的用户配置文件描述符和进程的最大数量是操作系统配置,而不是HBase配置。确保为实际运行HBase的用户更改设置也很重要。要查看哪个用户启动了HBase,以及该用户的ulimit配置,请查看该实例的HBase日志的第一行。
示例:在Ubuntu上的设置
要在Ubuntu上配置ulimit设置,请编辑:/etc/security/limits.conf,它是一个由四列组成的空格分隔的文件。在以下示例中,第一行将用户名为hadoop的操作系统用户的打开文件数(nofile)的软限制和硬限制设置为32768。第二行将同一用户的进程数设置为32000。
这些设置仅适用于可插入身份验证模块(PAM)环境指示使用它们的情况。要配置PAM以使用这些限制,请确保/etc/pam.d/common-session文件包含以下行:
8. Linux Shell
所有HBase附带的shell脚本都依赖于GNU Bashshell。
9. Windows
在HBase 0.96之前,在Microsoft Windows上运行HBase仅限于测试目的。不建议在Windows计算机上运行生产系统。
四. Hadoop
领取专属 10元无门槛券
私享最新 技术干货