hadoop如何避免工人文件由于docker自动命名

hmtdttj4  于 2021-07-13  发布在  Hadoop
关注(0)|答案(1)|浏览(307)

像hadoop这样的一些工具需要显式地指定worker的名称(docs中的节slaves文件),但是当使用docker swarm部署时,它会自动分配容器名称,因此workers文件不再工作,因为其中的名称不存在。有没有办法避免这个文件,或者至少为容器分配别名(独立于容器名称)使它工作?
也许我用不了 docker-compose.yml 文件,我必须通过群集手动创建服务。。。对这个问题的任何一种了解都将不胜感激

n6lpvg4x

n6lpvg4x1#

好吧,hadoop文档很糟糕。。。显然,如果在 core-site.xml 文件可以省略 workers 文件。我遵循以下步骤:
定制 core-site.xml 文件(在我的 docker-compose.yml 我把我的主服务文件命名为nodemaster)。此文件必须位于主节点和辅助节点中:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://nodemaster:9000</value>
        </property>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://nodemaster:9000</value>
        </property>
    </configuration>
</configuration>

现在当你跑步时:

start-dfs.sh
start-yarn.sh

我会自动连接到主机

相关问题