hbase rest 绑定到内网localhost

通过开启Hbase 的REST 服务我们可以很方便的以API的形式访问Hbase,

1
2
3
4
5
# Foreground
$ bin/hbase rest start -p <port>
# Background, logging to a file in $HBASE_LOGS_DIR
$ bin/hbase-daemon.sh start rest -p <port>

但是其默认是绑定0.0.0.0地址的,也就是对外网开放,而通过REST 服务别有用心的人是可以删表的。。。如何只对内网开放呢?

查了无数中英文网页不得,最后决定:看源码!最后在这里发现如下片段,hbase/RESTServer.java at master · apache/hbase
Screen Shot 2017-08-29 at 16.30.16
那么解决方法就显而易见了:

1
2
3
4
5
6
7
# sudo vim /usr/local/hbase/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rest.host</name>
<value>127.0.0.1</value>
</property>
</configuration>