本文介绍在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
三、管理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全部完成了。
相关主题 |