官网上的帮助:
问:我配置了ZK地址以后,还是无法连接上HBase
a) 首先。目前HBase还没有提供公网的访问地址。所以使用公网是无法访问到HBase的。您需要在和HBase相同的地域的ECS机器上才能正确访问到HBase。
b) 请确认您的HBase的网络设置和您访问的ECS是相同的。如果ECS是经典网络,那么HBase需要设置为经典网络,如果ECS是VPC的,那么HBase就需要设置为VPC。
c) 请确认您的HBase的白名单是否开启,对需要访问HBase的所有节点,均需要开启白名单后,才能正确的访问。具体操作请参考白名单设置
使用方法如下:(注:由于在阿里hbase公测时就申请了实例,因此下面的例子为公测时的地址,现已被回收)
1. 设置用户名密码
第一次进来需要设置软件访问密码:
2. 设置白名单
下一步是设置白名单,将当前机器的公网ip及ESC服务器的公网和内网地址写入,到时在上面发布程序才有权限访问:
可以在这里http://ip.taobao.com/查看自己的公网IP.
修改后:
3. 进入开源软件的链接
现在就可以直接进入各web页面,用户名密码为上面刚设置的值。
如hbase页面:
其中conf按钮可以看到当前hbase的一些配置,如master的端口号:
或者点击上面的
第一行中就显示hbase的地址和端口:
Master status for hb-2ze01x2m98hi9bu6w-003.hbase.rds.aliyuncs.com,16000,1490839106699 as of Sun Apr 02 16:01:33 CST 2017
4. 通过shell访问hbase
https://help.aliyun.com/document_detail/52056.html?spm=5176.product49055.6.551.BfpOoJ
1) 准备访问用ECS
因为HBase只提供了内网的访问,所以如果要访问HBase,需要在相同的Region内准备一台ECS。如果已经有ECS了那么请继续下一步。如果还没有,您可以在ECS的购买页面上购买一台按量的ECS进行测试。
2) 下载HBase Shell
从 Apache HBase 的官网下载 HBase-1.1.x 版本的资源包。这里我们以1.1.8举例,我们选择中国的服务器地址进行下载。
(下载地址)http://www.apache.org/dyn/closer.cgi/hbase/?spm=5176.doc52056.2.3.FYK9Ea
请注意HBase社区随时在进行更新,如果包下载不到,请前往上面的下载地址,选择最新的版本下载
wget http://mirror.bit.edu.cn/apache/hbase/1.1.8/hbase-1.1.8-bin.tar.gz .
进入上面的网址:
3) 下载完成以后,解压缩
把下载的文件放到ESC机器/opt/hbase目录中,解压:
tar -zxf hbase-1.1.9-bin.tar.gz
4) 配置 ZK 地址
解压后,修改 conf/hbase-site.xml 文件,添加集群的 ZK 地址,如下所示:
<configuration>
<property>
<name>hbase.zookeeper.quorum</name>
<value>hb-2ze01x2m98hi9bu6w-002.hbase.rds.aliyuncs.com, hb-2ze01x2m98hi9bu6w-003.hbase.rds.aliyuncs.com, hb-2ze01x2m98hi9bu6w-004.hbase.rds.aliyuncs.com
</value>
</property>
</configuration>
5) 访问集群
通过如下命令就可以访问集群了。
bin/hbase shell
5. 通过代码访问
和之前本地的hbase访问一样,配置文件如下:
hbase.zookeeper.property.clientPort=2181
hbase.zookeeper.quorum=hb-2ze01x2m98hi9bu6w-002.hbase.rds.aliyuncs.com
hbase.master=hb-2ze01x2m98hi9bu6w-003.hbase.rds.aliyuncs.com:16000
fs.defaultFS=hdfs://emr-cluster
delete-connection=true
配置中需要的值在上面都可以找到。
但是需要注意的是,在本地启动服务是访问不了的,因为只有和线上hbase在同一地区的esc服务器能访问,因此需要把war包放到对应的esc服务器上才能访问成功,经测试,创建和读取表都已成功。