ITPub博客

首页 > 大数据 > > HBase 运行模式:单服务器和分布式

HBase 运行模式:单服务器和分布式

作者:浪花小雨滴 时间:2020-05-12 15:52:14 0 删除 编辑

5.HBase有两种运行模式:独立模式和分布式模式。


安装即用,HBase以独立模式运行。 无论您的模式是什么,您都需要通过编辑HBase conf目录中的文件来配置HBase。 至少,您必须编辑conf / hbase-env.sh以告知HBase使用哪个java。 在此文件中,您可以设置HBase环境变量,例如JVM的heapsize和其他选项,日志文件的首选位置等。将JAVA_HOME设置为指向java安装的根目录。


5.1 单服务器 HBase


这是默认模式。 独立模式是快速入门部分中描述的内容。 在独立模式下,HBase不使用HDFS - 它使用本地文件系统 - 它在同一个JVM中运行所有HBase守护进程和本地ZooKeeper。 ZooKeeper绑定到一个众所周知的端口,这样客户端可以与之通信。


5.1.1 使用HDFS的独立HBase

独立hbase的一个有时有用的变体是所有守护进程在一个JVM内部运行,不是持久存储到本地文件系统,而是持久存储到HDFS实例。

当您想要一个简单的部署配置文件时,您可能会考虑此配置文件,负载很轻,但数据必须在节点的运行中保持不变。 写入复制数据的HDFS可确保后者。

要配置此独立变量,请编辑hbase-site.xml设置hbase.rootdir以指向HDFS实例中的目录,但随后将hbase.cluster.distributed设置为false。 例如:


<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://namenode.example.org:8020</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>false</value>

</property></configuration>


5.2 分布式


分布式模式可以细分为分布式,但所有守护进程都在单个节点上运行 - a.k.a.伪分布式 - 完全分布式,其中守护程序分布在集群中的所有节点上。 伪分布与完全分布的命名法来自Hadoop。


伪分布式模式可以针对本地文件系统运行,也可以针对Hadoop分布式文件系统(HDFS)的实例运行。 完全分布式模式只能在HDFS上运行。 有关如何设置HDFS的信息,请参阅Hadoop文档。 有关在Hadoop 2上设置HDFS的详细信息,请访问alexjf.net/blog/distrib。


5.2.1 伪分布式

伪分布式模式只是在单个主机上运行的简单完全分布式模式。 使用此HBase配置仅用于测试和原型设计。 请勿将此配置用于生产或性能评估。


5.3 完全分布式

默认情况下,HBase以独立模式运行。 提供独立模式和伪分布模式都是为了进行小规模测试。 对于生产环境,建议使用分布式模式。 在分布式模式下,的多实例的HBase守护进程在群集中多个服务器上运行。

与伪分布式模式一样,完全分布式配置要求您将hbase.cluster.distributed属性设置为true。 通常,hbase.rootdir配置为指向高可用性的HDFS文件系统。

此外,还配置群集,以便多个群集节点登记为RegionServers,ZooKeeper QuorumPeers和备份HMaster服务器。


分布式的 RegionServer


通常,您的群集将包含多个在不同服务器上运行的RegionServers,以及主和备份Master和ZooKeeper守护程序。 主服务器上的conf/regionservers文件包含RegionServers与此集群关联的主机列表。 每个主机都在一个单独的行上。 当主服务器启动或停止时,此文件中列出的所有主机都将启动和停止其RegionServer进程。

ZooKeeper 和HBase


这是分布式HBase集群的简单conf / hbase-site.xml。 用于实际工作的集群将包含更多自定义配置参数。 大多数HBase配置指令都有默认值,除非在hbase-site.xml中覆盖该值,否则将使用这些默认值。

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://namenode.example.org:8020</value>

</property>

<property>

<name>hbase.cluster.distributed</name>

<value>true</value>

</property>

<property>

<name>hbase.zookeeper.quorum</name>

<value>node-a.example.com,node-b.example.com,http://node-c.example.com</value>

</property></configuration>


这是一个示例conf/regionservers文件,其中包含应在群集中运行RegionServer的节点列表。 这些节点需要安装HBase,并且需要使用与主服务器相同的conf/directory


http://node-a.example.com

http://node-b.example.com

http://node-c.example.com


这是一个示例conf/backup-masters文件,其中包含应运行备份主实例的每个节点的列表。 除非主Master变为不可用,否则备份Master实例将处于空闲状态。

http://node-b.example.com

http://node-c.example.com


分布式 HBase 快速启动

有关多个ZooKeeper,备份HMaster和RegionServer实例的简单三节点群集配置的详细信息,请参阅quickstart-full-distributed。


过程:HDFS客户端配置


1.值得注意的是,如果您在Hadoop集群上进行了HDFS客户端配置更改(例如HDFS客户端的配置指令),而不是服务器端配置,则必须使用以下方法之一来使HBase能够查看和使用这些配置更改:

a.将指向HADOOP_CONF_DIR的指针添加到hbase-env.sh中的HBASE_CLASSPATH环境变量中。


b.在${HBASE_HOME}/conf下添加hdfs-site.xml(或hadoop-site.xml)或更好的符号链接的副本,或者


c.如果只有一小部分HDFS客户端配置,请将它们添加到hbase-site.xml。

这种HDFS客户端配置的一个示例是dfs.replication。 例如,如果要以复制因子5来运行,HBase将创建默认值为3的文件,除非您执行上述操作以使配置可用于HBase。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3155526/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Docker安装FastDFS
请登录后发表评论 登录
全部评论

注册时间:2018-05-16

  • 博文量
    4259
  • 访问量
    40010