首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从本地IDE连接到docker hbase

无法从本地IDE连接到docker hbase
EN

Stack Overflow用户
提问于 2018-07-25 23:12:15
回答 1查看 434关注 0票数 1

我有一台ip为10.101.48.150的docker机器。我的独立hbase在哪里使用下一个docker-compose.yml:

代码语言:javascript
复制
version: "3"

services:
  namenode:
    image: bde2020/hadoop-namenode:2.0.0-hadoop2.7.4-java8
    container_name: namenode
    volumes:
      - hadoop_namenode:/hadoop/dfs/name
    networks:
      hbasenetwork:
        aliases:
            - namenode
    environment:
      - CLUSTER_NAME=test
    env_file:
      - ./hadoop.env

  datanode:
    image: bde2020/hadoop-datanode:2.0.0-hadoop2.7.4-java8
    container_name: datanode
    volumes:
      - hadoop_datanode:/hadoop/dfs/data
    networks:
      hbasenetwork:
        aliases:
            - datanode
    environment:
      SERVICE_PRECONDITION: "namenode:50070"
    env_file:
      - ./hadoop.env

  resourcemanager:
    image: bde2020/hadoop-resourcemanager:2.0.0-hadoop2.7.4-java8
    container_name: resourcemanager
    networks:
      hbasenetwork:
        aliases:
            - resourcemanager
    environment:
      SERVICE_PRECONDITION: "namenode:50070 datanode:50075"
    env_file:
      - ./hadoop.env

  nodemanager1:
    image: bde2020/hadoop-nodemanager:latest
    container_name: nodemanager
    networks:
      hbasenetwork:
        aliases:
            - nodemanager1
    environment:
      SERVICE_PRECONDITION: "namenode:50070 datanode:50075 resourcemanager:8088"
    env_file:
      - ./hadoop.env

  historyserver:
    image: bde2020/hadoop-historyserver:2.0.0-hadoop2.7.4-java8
    container_name: historyserver
    volumes:
      - hadoop_historyserver:/hadoop/yarn/timeline.
    networks:
      hbasenetwork:
        aliases:
            - historyserver
    environment:
      SERVICE_PRECONDITION: "namenode:50070 datanode:50075 resourcemanager:8088"
    env_file:
      - ./hadoop.env

  hbase:
    image: bde2020/hbase-standalone:latest
    container_name: hbase
    volumes:
      - hbase_data:/hbase-data
      - hbase_zookeeper_data:/zookeeper-data
    ports:
      - 16000:16000
      - 16010:16010
      - 16020:16020
      - 16030:16030
      - 2888:2888
      - 3888:3888
      - 2182:2181
    hostname: hbase
    networks:
      hbasenetwork:
        aliases:
            - hbase
    environment:
      SERVICE_PRECONDITION: "namenode:50070 datanode:50075"
    env_file:
      - ./hbase-standalone.env

volumes:
  hadoop_namenode:
  hadoop_datanode:
  hadoop_historyserver:
  hbase_data:
  hbase_zookeeper_data:
networks:
  hbasenetwork:
    driver: bridge

我的java代码:

代码语言:javascript
复制
HBaseAdmin.checkHBaseAvailable(config);

我的配置是:

代码语言:javascript
复制
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>10.101.48.150</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2182</value>
    </property>
</configuration>

当我尝试在我的java中使用它时,我看到了下面的消息:

代码语言:javascript
复制
running.java.net.UnknownHostException: hbase

我理解我的java使用10.101.48.150:2082从docker hbase容器请求的东西,响应smt并获得作为"hbase“的返回地址,我的本地网络不知道任何关于"hbase”和错误的任何东西。我尝试向主机文件添加行10.101.48.150 hbase,但随后看到以下错误:

代码语言:javascript
复制
java.net.ConnectException: Connection refused: no further information

我不知道如何将本地IDE与Hbase容器连接起来。

EN

回答 1

Stack Overflow用户

发布于 2018-07-26 02:42:34

在docker-compose中的hbase服务上,您确实映射了这些端口:

代码语言:javascript
复制
ports:
  - 16000:16000
  - 16010:16010
  - 16020:16020
  - 16030:16030
  - 2888:2888
  - 3888:3888
  - 2182:2181

端口2082没有端口映射,因此您的应用程序无法成功连接到该端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51522346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档