欢迎投稿

今日深度:

Mac下Hbase伪分布安装和使用,machbase分布安装

Mac下Hbase伪分布安装和使用,machbase分布安装


Hbase是一个分布式的、面向列的开源数据库,是构建在HDFS分布式文件系统上的分布式存储系统。

1.下载安装

官网下载地址apache.fayea.com/hbase/,这里选择1.1.9版本hbase-1.1.9-bin.tar.gz。

1.1 abase-site.xml

解压文件到文件夹,进入/conf文件夹,打开hbase-site.xml,加入以下配置:

<configuration>
<property>
    <name>hbase.rootdir</name>
    <value>file:///Users/kangkang/hadoop/hbase-1.1.9</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/Users/kangkang/hadoop/hbase-1.1.9/zookeeper</value>
  </property>

  <property>  
        <name>hbase.table.sanity.checks</name>  
        <value>false</value>  
    </property>  
    <property>
        <name>hbase.master.info.port</name>
        <value>60010</value>
    </property>
</configuration>

1.2 hbase-env.sh

编辑/conf文件夹下的hbase-env.sh文件,修改以下的配置(可能是注释掉的,需把注释去掉):

集群pid存放目录配置:

# The directory where pid files are stored. /tmp by default.
 export HBASE_PID_DIR=/Users/kangkang/hadoop/pids

Zookeeper管理界面激活:

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true

Jdk配置(1.1.9版本对应的jdk版本要求是1.7以上):

# The java implementation to use.  Java 1.7+ required.
 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

安装配置完毕。

2.启动Hbase

命令:bin/start-hbase.sh

进入shell操作hbase命令:bin/hbase shell,进入shell命令行后可以通过shell命令操作hbase,实现对数据的操作。

3.关闭Hbase

命令:bin/stop-hbase.sh

4.遇到的问题

4.1在启动Hbase之后,在浏览器中输入localhost:60010不能显示Hbase的运行状态

解决办法:

conf->hbase-site.xml配置中添加以下配置:

<property>
  <name>hbase.master.info.port</name>
  <value>60010</value>
</property>

在conf->hbase-env.sh中的配置

#Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=true

设置为true,默认是注释掉的,把注释去掉即可,调试可以通过Zookeeper对象来管理Hbase自己的实例。

4.2 在启动的时候提示以下警告

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0

错误表示在Java8版本中MaxPermSize=128m;这个配置信息已经被移除了,所以不需要再配置,但是配置了并不报错,而是警告。

解决办法:在conf->hbase-env.sh中更改配置(表示只有在JDK7中需要)

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+  -XX:MaxPermSize=128m
export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

将配置中的两行注释即可。结果:

# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+  -XX:MaxPermSize=128m
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"

4.3 使用Phoenix操作Hbase时报错

1.在使用Phoenix进行Hbase数据库的操作时,出现如下错误,错误显示了找不到ImmutableMap这个类。

java.lang.NullPointerException
    at vbap_hbase_test.hbase.ConnHbase.main(ConnHbase.java:29)
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
    at org.apache.phoenix.util.ReadOnlyProps.<init>(ReadOnlyProps.java:68)
    at org.apache.phoenix.util.ReadOnlyProps.<clinit>(ReadOnlyProps.java:47)
    at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.<clinit>(PhoenixEmbeddedDriver.java:82)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at vbap_hbase_test.hbase.ConnHbase.main(ConnHbase.java:15)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more

很奇怪,而我在Maven依赖里面看到的却有这个类。但是却不能点进这个类去看具体的内容,而且报错:

 invalid LOC header

于是网上搜了一下,将maven库中的该jar包删除,重新让maven下载一下就可以了。

具体操作:

1.删除com/google文件夹下的所有内容。

2.Maven—>update project

www.htsjk.Com true http://www.htsjk.com/hbase/25623.html NewsArticle Mac下Hbase伪分布安装和使用,machbase分布安装 Hbase是一个分布式的、面向列的开源数据库,是构建在HDFS分布式文件系统上的分布式存储系统。 1.下载安装 官网下载地址apache.fayea.com/hbas...
相关文章
    暂无相关文章
评论暂时关闭