VMware12使用三台虚拟机Ubuntu 16.04系统搭建Hadoop(12)

(1)conf/hbase-site.xml文件的配置
hbase.rootdir和hbase.cluster.distributed两个参数的配置对于HBase来说是必须的。我们通过hbase.rootdir来指定本台机器HBase的存储目录;通过hbase.cluster.distributed来说明其运行模式(true为全分布式模式,false为单机模式或伪分布式模式);另外hbase.master指定的是HBase的master位置,hbase.zookeeper.quorum指定的是Zookeeper集群的位置。如下所示为示例配置文档:
同样,通过Ubuntu的目录查找hbase-site.xml
/home/hadoop/hbase-1.2.4/conf
配置如下:

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="https://www.linuxidc.com/configuration.xsl"?> <!-- /** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --> <configuration> <property> <name>hbase.rootdir</name> <value>hdfs://master:9000/hbase</value> <description>HBase Data storge directory</description> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> <description>Assign HBase run mode</description> </property> <property> <name>hbase.master</name> <value>hdfs://master:60000</value> <description>Assign Master position</description> </property> <property> <name>hbase.zookeeper.quorum</name> <value>master,slave1,slave2</value> <description>Assign Zookeeper cluster</description> </property> </configuration>

(2)conf/regionservers的配置
regionservers文件列出了所有运行HBase RegionServer CHRegion Server的机器。此文件的配置和Hadoop的slaves文件十分类似,每一行指定一台机器。当HBase启动的时候,会将此文件中列出的机器启动;同样,当HBase关闭的时候,也会同时自动读取文件并将所有机器关闭。
在我们配置中,HBase Master及HDFS NameNode运行在hostname为Master的机器上,HBase RegionServers运行在master、slave1、slave2上。根据上述配置,我们只需要将每台机器上HBase安装目录下的conf/regionservers文件的内容设置为:
/home/hadoop/hbase-1.2.4/conf

master slave1 slave2

另外,我们可以将HBase的Master和HRegionServer服务器分开。这样只需要在上述配置文件中删除master一行即可。
(3)Zookeeper配置
完全分布式的HBase集群需要Zookeeper实例运行,并且需要所有的HBase节点能够与Zookeeper实例通信。默认情况下HBase自身维护着一组默认的Zookeeper实例。不过,用户可以配置独立的Zookeeper实例,这样能够使HBase系统更加健壮。
conf/hbase-env.sh配置文档中HBASE_MANAGES_ZK的默认值为true,它表示HBase使用自身所带的Zookeeper实例。但是,该实例只能为单机或者伪分布式模式下的HBase提供服务。当安装完全分布模式时需要配置自己的Zookeeper实例。在HBase-site.xml文档中配置了hbase.zookeeper.quorum属性后,系统将有限使用该属性所指定的Zookeeper列表。此时,若HBASE_MANAGES_ZK变量值为true,那么在启动HBase时,Hbase将把Zookeeper作为自身的一部分运行,其对应进程为“HQuorumPeer”;若该变量值为false,那么在启动HBase之前必须首先手动运行hbase.zookeeper.quorum属性所指定的Zookeeper集群,其对应的进程显示为QuorumPeerMain.若将Zookeeper作为HBase的一部分来运行,那么关闭HBase时Zookeeper将被自动关闭,否则需要手动停止Zookeeper服务。

运行Hbase

运行之前,在hdfs文件系统中添加hbase目录:

hdfs dfs -mkdir hdfs://master:9000/hbase

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/2e2d9454e6a15ca40dd3262ddd1a67a7.html