3

我正在使用带有 Hadoop (HDFS + YARN) 和 HBase 的 Vagrant + VirtualBox 设置一个用于开发目的的虚拟机。我的 HDFS 和 YARN 按预期工作 - 我可以使用来宾的主机名(我将其设置为“bigdatavm”)从主机连接到来宾(VM),但是连接到 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返回“连接被拒绝”。

我还尝试使用 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。

4

0 回答 0