今年来觉得数据还蛮有意思的,打算往这个方向努力了

这里主要还是以manjaro为案例进行安装,用了很长时间这个系统,逐渐觉得这个发行版确实是比Ubuntu要舒服。

安装JDK

其实shell命令也不重要,主要是安装JDK,然后设置JAVA_HOME环境变量,虽然在manjaro中默认可以使用java命令,但是安装并没有设置JAVA_HOME环境变量,hbase启动脚步还是通过环境获取java的目录。所以只要在当前执行目录中能获取JAVA_HOME就可以成功启动hbase。

这个我感觉不少程序员都没有真正理解环境变量这玩意,环境变量在日常开发中还是比较有用的一个东西,在Linux下可以用env获取当前全部的环境,或者使用echo ${name}, {name}指你需要的获取环境变量名,如echo $JAVA_HOME,使用echo打印环境变量是一个很基本的操作。
sudo pacman -S jdk8-openjdk

# 在添加java到环境变量中
echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk' >>  conf/hbase-env.sh

下载hbase的二进制压缩包

hbase官方下载地址

下载的话可以根据需要,我觉得个人学习还是下最新的吧,哈哈哈

一般来说都是下载带有releasebin的链接,src代表源码,至于sha512/asc这种就是校验下载是不是完整的。

下载完成可以解压到你想放的目录,我习惯放在home目录下

tar -C $HOME/Bin/ -zxvf hbase-2.2.2-bin.tar.gz

修改配置

进入解压的目录,找到conf/hbase-site.xml的文件,原来的文件应该是

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="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
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * 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>
</configuration>

在<configuration>中添加

    <property>
        <name>hbase.rootdir</name>
        <value>file://{pathname}</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>{zookeeper-pathname}</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
    </property>
讲解下参数
  • hbase.rootdir:hbase写入数据的位置,默认是在/tmp目录下新建,不过这样开关机就会消失,所以需要你指定一个路径,我一般指定home目录下的某个位置,这样启动时不需要目录的权限什么的。
  • hbase.zookeeper.property.dataDir: 这个是zookeeper写入数据的位置
  • hbase.unsafe.stream.capability.enforce: 在local模式下禁用stream.capability (hflush/hsync)的功能,反正单机部署不需要严格数据保证就禁用吧

启动

启动hbase:

./bin/start-hbase.sh

启动shell:

➜  bin ./hbase shell
2019-12-15 22:38:39,788 WARN  [main] util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
HBase Shell
Use "help" to get list of supported commands.
Use "exit" to quit this interactive shell.
For Reference, please visit: http://hbase.apache.org/2.0/book.html#shell
Version 2.2.2, re6513a76c91cceda95dad7af246ac81d46fa2589, Sat Oct 19 10:10:12 UTC 2019
Took 0.0019 seconds                                                                                           
hbase(main):001:0> 

关闭hbase:

./bin/stop-hbase.sh

这里就已经可以算是完成了。


已注销
11 声望9 粉丝