目录
- 16.1. 安装 Apache Hbase
-
- 16.1.1. 单机模式安装
- 16.1.2. 伪分布式模式
- 16.1.3. 分布式模式部署
- 16.1.4. 运维技巧
- 16.2. 配置 Apache Hbase
-
- 16.2.1. hbase-env.sh
- 16.2.2. hbase-site.xml
- 16.3. Hbase Shell
-
- 16.3.1. 表操作
- 16.4. Web UI
- 16.5. Phoenix
-
- 16.5.1. 安装 Phoenix
- 16.5.2. sqlline.py 命令行界面
-
- 16.5.2.1. 帮助信息
- 16.5.2.2. 创建表
- 16.5.3. SQuirreL SQL Client
- 16.6. FAQ
-
- 16.6.1. HBaseConfTool : Unsupported major.minor version 51.0
- 16.6.2. ignoring option PermSize=128m; support was removed in 8.0
16.1. 安装 Apache Hbase
注意:Apache Hbase 不能使用 OpenJDK 启动,需要去 Oracle 网站下载 Server JRE
16.1.1. 单机模式安装
如果你是第一次安装Hbase,建议你从单机安装开始,这样成功率比较高,不会受挫。Hbase 不比关系型数据库复杂,只是安装比较麻烦,一旦安装号使用起来还是很容易上手的,请直接粘贴复制下面的命令即可完成安装:
cd /usr/local/src wget http://mirrors.hust.edu.cn/apache/hbase/stable/hbase-1.2.6-bin.tar.gz tar zxf hbase-1.2.6-bin.tar.gz cp hbase-1.2.6/conf/hbase-site.xml{,.original} mv hbase-1.2.6 /srv/apache-hbase-1.2.6 ln -s /srv/apache-hbase-1.2.6 /srv/apache-hbase cp /srv/apache-hbase/conf/hbase-env.sh{,.original} cat > /srv/apache-hbase/conf/hbase-env.sh <<EOF export JAVA_HOME=/srv/java #export HBASE_CLASSPATH= export HBASE_MANAGES_ZK=true EOF cat > /srv/hbase/conf/hbase-site.xml <<EOF <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>hbase.rootdir</name> <value>file:///tmp/hbase-${user.name}</value> </property> </configuration> EOF
启动 Apache Hbase
/srv/apache-hbase/bin/start-hbase.sh
进入 Hbase shell
/srv/apache-hbase/bin/hbase shell
关闭 Hbase
/srv/apache-hbase/bin/stop-hbase.sh
16.1.2. 伪分布式模式
单机模式基本可能满足我们的学习需要,但无法满足更复杂的需求,例如集成Hive等其他软件,这时我们就需要借助 Hadoop 的HDFS功能实现与其他软件的集成。所谓的伪分布式,就是只有一个Hbase节点,即Master。
这里我假设 Hadoop 已经正确安装,无论你采用什么模式只要能提供 hdfs 服务处即可。Hadoop 安装可以参考作者的相关文档。
首先编辑 conf/hbase-site.xml 配置文件,增加以下配置:
<property> <name>hbase.cluster.distributed</name> <value>true</value> </property>
hbase.cluster.distributed 属性值设置为 true HBase 将运行于分布式模式
然后配置 hbase.rootdir 属性值,指向 HDFS 地址。
<property> <name>hbase.rootdir</name> <value>hdfs://localhost:9000/hbase</value> </property>
现在启动 Hbase , 如果正常使用 jps 可以下面三个线程
[hadoop@netkiller conf]$ su - hadoop -c "/srv/apache-hbase/bin/start-hbase.sh" [hadoop@netkiller conf]$ jps | egrep "(HMaster|HRegionServer|HQuorumPeer)"
如果启动正常,你将会看到 HDFS 中的 Hbase目录。
[hadoop@netkiller ~]$ /srv/hadoop/bin/hdfs dfs -ls /hbase Found 7 items drwxr-xr-x - hadoop supergroup 0 2017-06-28 21:55 /hbase/.tmp drwxr-xr-x - hadoop supergroup 0 2017-06-28 21:55 /hbase/MasterProcWALs drwxr-xr-x - hadoop supergroup 0 2017-06-28 21:55 /hbase/WALs drwxr-xr-x - hadoop supergroup 0 2017-06-28 21:55 /hbase/data -rw-r--r-- 3 hadoop supergroup 42 2017-06-28 21:55 /hbase/hbase.id -rw-r--r-- 3 hadoop supergroup 7 2017-06-28 21:55 /hbase/hbase.version drwxr-xr-x - hadoop supergroup 0 2017-06-28 21:55 /hbase/oldWALs
16.1.3. 分布式模式部署
上一节所讲的伪分不出,就是只有一个Master节点,而真正的分布式摸就是每个节点均独立部署,实现可伸缩,水平扩展,但作为例子这里我们仅仅采用最小化节点配置。
16.1.4. 运维技巧
检查 Hbase 线程是否启动
[neo@netkiller conf]$ jps | grep HMaster 17719 HMaster
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。