docker - 在docker和master到tserver双向连接/循环链接问题中运行Kudu-docker composition

标签 docker docker-compose apache-kudu

当两个容器需要通过DNS相互连接时,如何运行Kudu,它需要两个容器-一个用于主服务器,一个用于docker下的tserver。

Kudu可以使用以下命令在Docker下运行:

docker run --name kudu-master --hostname kudu-master --detach --publish 8051:8051 --publish 7051:7051 kunickiaj/kudu master

和:
docker run --name kudu-tserver --hostname kudu-tserver --detach --publish 8050:8050 --publish 7050:7050 --link kudu-master --env KUDU_MASTER=kudu-master kunickiaj/kudu tserver

但是,以上定义了一种单向链接,从kudu-tserverkudu-master,而不是相反。

为了使Kudu正常运行,kudu-masterkudu-tserver都需要能够相互连接。

如何配置Docker容器,以便双向链接起作用?
  • Docker image reference
  • Similar image reference
  • 最佳答案

    docker run中的link参数是一项旧功能,可以将其删除(引用[1][2])。

    您可以引发多个Docker容器,并使用docker-compose将它们彼此连接。

    要使此工作正常,请创建一个名为kudu的文件夹,并将以下docker-compose.yml文件放在其下:

    version: '3'
    services:
      kudu-master:
        image: "kunickiaj/kudu"
        hostname: kudu-master
        ports:
          - "8051:8051"
          - "7051:7051"
        command:
          master
        networks:
          kudu_network:
            aliases:
              - kudu-master
      kudu-tserver:
        image: "kunickiaj/kudu"
        hostname: kudu-tserver
        ports:
          - "8050:8050"
          - "7050:7050"
        environment:
          - KUDU_MASTER=kudu-master
        command:
          tserver
        networks:
          kudu_network:
            aliases:
              - kudu-tserver
    networks:
      kudu_network:
    

    该文件包括2个服务(kudu-masterkudu-tserver)和一个网络,其中两个网络都有别名,别名对网络的其余部分(彼此)可见。 [File reference]

    然后使用以下命令行运行docker-compose:
    docker-compose -f "filePathToYourDockerComposeYmlFile" up -d
    

    或者,如果您想重新创建Docker容器:
    docker-compose -f "filePathToYourDockerComposeYmlFile" up -d --force-recreate
    

    其他有用的命令[reference]:

    要停止容器:
    docker-compose -f "filePathToYourDockerComposeYmlFile" stop
    

    移除容器:
    docker-compose -f "filePathToYourDockerComposeYmlFile" rm -f
    

    关于docker - 在docker和master到tserver双向连接/循环链接问题中运行Kudu-docker composition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49672761/

    相关文章:

    scala 2.12 的 Kudu 驱动程序

    docker - 连接期间出错:获取http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/info

    django - 如何从 docker-compose 链接到 Amazon RDS

    hadoop - 如何安装Kudu?

    docker - 如何在不杀死整个容器的情况下杀死 docker 容器默认命令?

    elasticsearch - Spark 应用程序无法写入在 docker 中运行的 elasticsearch 集群

    impala - 将 Impala 中的非 Kudu 表转换为 Kudu 表

    wordpress - 使用Docker-compose的Wordpress数据库连接错误

    ruby - 在 Docker 中更改语言环境会停止执行许多命令?

    django - Celery+Docker+Django -- 让任务工作