我正在使用Vagrant + VirtualBox和Hadoop(HDFS + YARN)和HBase来设置虚拟机以进行开发。我有HDFS和YARN按预期工作 - 我可以使用guest虚拟机的主机名从主机连接到guest虚拟机(VM)(我将其设置为" bigdatavm")但是我有一个问题需要连接到HBase大师。我的hbase-site.xml看起来像这样:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>bigdatavm:16000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>bigdatavm</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://bigdatavm:9000/hbase</value>
</property>
</configuration>
如果我ssh到机器,我可以使用bin / start-hbase.sh启动HBase,连接到bin / hbase shell,创建和查询表。但是,如果我尝试从主机连接到bigdatavm:2181(通过ZooKeeper的标准方式),我无法连接。我也试过了:
telnet bigdatavm 2181
telnet bigdatavm 16000
连接到端口2181成功,但16000返回&#34;连接被拒绝&#34;。
我还尝试使用hbase.master属性将其设置为bigdatavm而不使用任何端口,并且还完全删除该属性(以回退到默认值)。没运气。知道为什么我不能从外面连接?
编辑: 它解决了。 Ubuntu的默认/ etc / hosts条目是罪魁祸首。我替换了一个条目: 127.0.1.1 bigdatavm 有: 127.0.1.1 localhost 192.168.33.10 bigdatavm 其中192.168.33.10是我分配给VM的固定IP。