HBase基础条件:需要的服务和一些必需的系统配置

2020-05-1905:55:00数据库教程Comments2,416 views字数 3196阅读模式

列出了使用HBase时所需要的服务和一些必需的系统配置。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

安装Java文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Java是Hadoop和HBase主要先决条件。首先应该使用"java -verion"检查java是否存在在您的系统上。 java -version 命令的语法如下。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

如果一切正常,它会得到下面的输出。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

如果Java还没有安装在系统中,请你安装Java!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase版本与JDK文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

在下表中你可以看到HBase版本与其对应支持的JDK版本:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

注意:HBase不会使用Java 6构建或编译,并且,您必须在群集的每个节点上设置JAVA_HOME, 提供了一个方便的机制来做到这一点。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

操作系统文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

SSH文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

(必须的)HBase广泛使用安全Shell(ssh)命令和实用程序在集群节点之间进行通信。集群中的每台服务器都必须运行ssh,以便可以管理Hadoop和HBase后台进程。您必须能够使用共享密钥而不是密码,通过SSH(包括本地节点)从主服务器和任何备份主服务器连接到所有节点。您可以在Linux或Unix系统中的“Procedure:Configure Passwordless SSH Access ”(配置无密码SSH访问)中看到这种设置的基本方法。如果群集节点使用OS X,请参阅Hadoop wiki上的,SSH:设置远程桌面和启用自登录。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

DNS文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase使用本地主机名来自行报告其IP地址。正向和反向DNS解析必须在之前的HBase版本中工作。hadoop-dns-checker 工具,可以用来验证DNS在集群上是否正常工作。项目README文件提供了有关使用的详细说明。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Loopback IP文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

在之前,HBase只使用IP地址来引用localhost,而这是不可配置的。有关更多详细信息,请参阅Loopback IP。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

NTP文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

群集节点上的时钟应该同步。少量的变化是可以接受的,但是大量的不同会导致不稳定和意外的行为。如果在群集中看到无法解释的问题,则时间同步是首先要检查的事项之一。建议您在群集上运行网络时间协议(NTP)服务或其他时间同步机制,并且所有节点都查找相同的服务以进行时间同步。请参阅Linux文档项目(TLDP)中的基本NTP配置以设置NTP。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

文件和进程数限制(ulimit)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Apache HBase是一个数据库。它需要能够一次打开大量的文件。许多Linux发行版限制了允许单个用户打开的文件数量1024(或者256,在旧版本的OS X上)。当以运行 HBase 的用户身份登录时,您可以通过在服务器上运行ulimit -n命令来检查服务器上的限制。您也可能会注意到以下错误:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

建议将ulimit提高到至少10,000,但更可能是10,240,因为该值通常以1024的倍数表示。每个ColumnFamily至少有一个StoreFile,如果该区域处于加载状态,则可能有多于六个的StoreFile。所需的打开文件的数量取决于ColumnFamilies的数量和区域的数量。以下是计算RegionServer上打开的文件的潜在数量的粗略公式。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

计算打开文件的潜在数量:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

例如,假设一个模式的每个区域有3个ColumnFamilies,每个ColumnFamily平均有3个StoreFiles,每个RegionServer有100个区域,则JVM将打开3 * 3 * 100 = 900文件描述符,不包括打开的JAR文件、配置文件等等。打开一个文件不需要很多资源,而且允许用户打开太多文件的风险很小。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

另一个相关设置是允许用户同时运行的进程数量。在Linux和Unix中,使用该ulimit -u命令设置进程的数量。这不应与nproc命令混淆,该命令控制给定用户可用的CPU数量。在负载下,ulimit -u太低会导致OutOfMemoryError异常。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

为运行HBase进程的用户配置文件描述符和进程的最大数量是操作系统配置,而不是HBase配置。确保为实际运行HBase的用户更改设置也很重要。要查看哪个用户启动了HBase,以及该用户的ulimit配置,请查看该实例的HBase日志的第一行。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

示例:ulimit在Ubuntu上的设置文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

要在Ubuntu上配置ulimit设置,请编辑:/etc/security/,它是一个由四列组成的空格分隔的文件。在以下示例中,第一行将用户名为hadoop的操作系统用户的打开文件数(nofile)的软限制和硬限制设置为32768。第二行将同一用户的进程数设置为32000。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

这些设置仅适用于可插入身份验证模块(PAM)环境指示使用它们的情况。要配置PAM以使用这些限制,请确保/etc/文件包含以下行:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

Linux Shell文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

所有HBase附带的shell脚本都依赖于 GNU Bash shell。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Windows文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

在HBase 0.96之前,在Microsoft Windows上运行HBase仅限于测试目的。不建议在Windows计算机上运行生产系统。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

下表总结了每个HBase版本支持的Hadoop版本。基于HBase的版本,您应该选择最合适的Hadoop版本。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

建议使用 Hadoop 2.x:Hadoop 2.x 速度更快,包括短路读取功能,这将有助于提高您的 HBase 随机读取配置文件;Hadoop 2.x 还包括重要的 bug 修复,可以改善您的整体 HBase 体验;HBase 不支持使用早期版本的 Hadoop 运行;有关特定于不同 HBase 版本的要求,请参见下表;Hadoop 3.x 仍处于早期访问版本中,尚未被 HBase 社区对生产用例进行充分测试。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

使用以下的注解来解释下面的这个表格:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop版本支持矩阵:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

  • “S”=支持
  • “X”=不支持
  • “NT”=未测试
HBase基础条件:需要的服务和一些必需的系统配置

Hadoop Pre-2.6.1 和 JDK 1.8 Kerberos文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

在 Kerberos 环境中使用 pre-2.6.1 Hadoop 版本和 JDK 1.8 时,HBase 服务器可能因 Kerberos keytab relogin 错误而失败并中止。JDK 1.7 (1.7. 0_80) 的后期版本也有问题。在这种情况下考虑升级到Hadoop 2.6.1 。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

如果您计划在 HDFS 加密区域的顶部运行 HBase,则基于 行的 Hadoop 发行版必须具有 HADOOP-11710 应用。如果不这样做,将导致群集故障和数据丢失。此修补程序存在于Apache Hadoop 2.6.1 版本中。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop 2.7.x文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop 2.7.0版本未经测试或不受支持,因为Hadoop PMC明确将该版本标记为不稳定。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop 2.8.x文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

Hadoop 2.8.0和版本未经测试或不受支持,因为Hadoop PMC明确标记版本不稳定。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

更换与 HBase 捆绑的 Hadoop文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

因为 HBase 依赖于Hadoop,它将Hadoop jar的一个实例捆绑在其 lib 目录下。捆绑的 jar 仅用于在独立模式下使用。在分布式模式下,群集上的 Hadoop 版本与 HBase 下的内容相匹配是至关重要的。将在 HBase lib 目录中找到的 hadoop jar 替换为您在群集上运行的 hadoop jar,以避免版本不匹配问题。确保在整个集群中替换 HBase 中的 jar。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HDFS DataNode在任何时候都会有一个文件数上限。在进行任何加载之前,请确保您已经配置了Hadoop的conf / ,并将该值设置为至少如下的值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

进行上述配置后,务必重新启动HDFS。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

没有这个配置就会造成奇怪的故障。其中一种表现是对缺失区块的投诉。例如:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

HBase基础条件:需要的服务和一些必需的系统配置

ZooKeeper要求文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

动物园管理员 是必需的。HBase 使用的多功能, 只可从动物园管理员。 配置属性默认为 true。参考 HBASE-12241 (在采用deadserver的复制队列时会中断复制的regionServer的崩溃) 和 HBASE-6775 (在可用于HBASE-6710 0.92 / 0.94兼容性修补程序时使用)。该属性被弃用,并且在 HBase 2.0 中始终启用 useMulti。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/sjk/19133.html

  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/sjk/19133.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定