云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04操作系统中安装HBase的方法

在Ubuntu 18.04操作系统中安装HBase的方法

2019-04-07 20:51:20作者:戴进稿源:云网牛站

本文介绍在Ubuntu 18.04操作系统中安装Apache HBase的方法,你可以选择在独立模式或伪分布模式下安装HBase。安装Hadoop请参考在Ubuntu Server 18.04.1中安装Hadoop系统环境一文。

 

一、下载并安装HBase

当前所用的版本是HBase 1.4.9,你也可以使用其它的版本,比如2.0.5/2.1.4:

wget http://apache.mirror.gtcomm.net/hbase/stable/hbase-1.4.9-bin.tar.gz

注:Apache HBase下载地址。

提取下载的Hbase文件:

tar xvf hbase-1.4.9-bin.tar.gz

sudo mv hbase-1.4.9/ /usr/local/HBase/

更新$PATH值:

cat <<EOF | sudo tee /etc/profile.d/hadoop_java.sh

export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))

export HADOOP_HOME=/usr/local/hadoop

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export YARN_HOME=$HADOOP_HOME

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HBASE_HOME=/usr/local/HBase

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

EOF

更新shell环境值:

$ source /etc/profile.d/hadoop_java.sh

$ echo $HBASE_HOME

/usr/local/HBase

在shell脚本hbase-env.sh中编辑JAVA_HOME:

$ sudo vim /usr/local/HBase/conf/hbase-env.sh

# Set JAVA_HOME - Line 27

export JAVA_HOME=/usr/lib/jvm/java-8-oracle

安装Java 8参考:在Ubuntu 18.04/16.04系统上安装Java 8的两种方法

 

二、配置HBase

HBase的所有配置文件都位于/usr/local/HBase/conf/目录中。

hbase-site.xml-将数据目录设置为此文件上的适当位置。

选项1:在独立模式下安装HBase(不推荐)

在独立模式下,所有后台进程(HMaster、HRegionServer和ZooKeeper)都在一个jvm进程/实例中运行。

创建HBase根目录:

sudo mkdir -p /hadoop/HBase/HFiles

sudo mkdir -p /hadoop/zookeeper

sudo chown -R hadoop:hadoop /hadoop/

打开文件进行编辑:

sudo vim /usr/local/HBase/conf/hbase-site.xml

现在在<configuration>和</configuration>标记之间添加以下配置,如下所示:

<configuration>

<property>

<name>hbase.rootdir</name>

<value>file:/hadoop/HBase/HFiles</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/hadoop/zookeeper</value>

</property>

</configuration>

默认情况下,除非配置hbase.rootdir属性,否则你的数据仍存储在/tmp/中。

现在使用HBase bin目录中的start-hbase.sh脚本启动HBase:

$ sudo su - hadoop

$ start-hbase.sh 

running master, logging to /usr/local/HBase/logs/hbase-hadoop-master-hbase.out

选项2:以伪分布式模式安装HBase(推荐)

我们之前设置的hbase.rootdir值将以独立模式启动,伪分布模式意味着HBase仍然在单个主机上完全运行,但每个HBase守护程序(HMaster、HRegionServer和ZooKeeper)作为单独的进程运行。

要在伪分布式模式下安装HBase,请将其值设置为:

<configuration>

<property>

<name>hbase.rootdir</name>

<value>hdfs://localhost:8030/hbase</value>

</property>

<property>

<name>hbase.zookeeper.property.dataDir</name>

<value>/hadoop/zookeeper</value>

</property>

<property>

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

<value>true</value>

</property>

</configuration>

在此设置中,数据将数据存储在HDFS中。

确保已创建Zookeeper目录:

sudo mkdir -p /hadoop/zookeeper

sudo chown -R hadoop:hadoop /hadoop/

现在使用HBase bin目录中的start-hbase.sh脚本启动HBase:

$ sudo su - hadoop

$ start-hbase.sh 

localhost: running zookeeper, logging to /usr/local/HBase/bin/../logs/hbase-hadoop-zookeeper-hbase.out

running master, logging to /usr/local/HBase/logs/hbase-hadoop-master-hbase.out

: running regionserver, logging to /usr/local/HBase/logs/hbase-hadoop-regionserver-hbase.out

检查HDFS中的HBase目录:

$ hadoop fs -ls /hbase

在Ubuntu 18.04操作系统中安装HBase的方法

 

三、管理HMaster和HRegionServer

HMaster服务器控制HBase集群,你可以启动最多9个备用HMaster服务器,这使得10个HMaster服务器成为主服务器。

HRegionServer按照HMaster的指示管理其StoreFiles中的数据,通常,一个HRegionServer在群集中的每个节点上运行,在同一系统上运行多个HRegionServers对于以伪分布式模式进行测试非常有用。

可以分别使用脚本local-master-backup.sh和local-regionservers.sh来启动和停止主服务器和区域服务器:

$ local-master-backup.sh start 2 # Start backup HMaster

$ local-regionservers.sh start 3 # Start multiple RegionServers

注:每个HMaster使用两个端口(默认为16000和16010),端口偏移量被添加到这些端口,因此使用偏移量2,备份HMaster将使用端口16002和16012。

以下命令使用端口16002/16012,16003/16013和16005/16015启动3个备份服务器:

$ local-master-backup.sh start 2 3 5

注:每个RegionServer都需要两个端口,默认端口为16020和16030。

以下命令启动另外四个RegionServers,在16022/16032(基本端口16020/16030加2)的顺序端口上运行:

$ local-regionservers.sh start 2 3 4 5

要停止,请为每个命令替换start参数,然后将服务器的偏移量替换为停止,例:

$ local-regionservers.sh stop 5

 

四、启动HBase Shell的方法

在使用HBase shell之前,应该运行Hadoop和Hbase,这里正确的启动服务顺序:

$ start-all.sh

$ start-hbase.sh

然后使用HBase shell:

hadoop@hbase:~$ hbase shell

2019-04-07 10:44:43,821 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/usr/local/HBase/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

HBase Shell

Use "help" to get list of supported commands.

Use "exit" to quit this interactive shell.

Version 1.4.9, rd625b212e46d01cb17db9ac2e9e927fdb201afa1, Wed Dec  5 11:54:10 PST 2018

hbase(main):001:0>

停止HBase:

stop-hbase.sh

至此,在Ubuntu 18.04中安装Apache HBase全部完成了。

 

相关主题

Ubuntu18.04系统中编译hadoop2.7.6支持snappy

精选文章
热门文章