哈多普。如何避免由于 Docker 自动命名而导致的工作文件
Hadoop. How to avoid workers file due to Docker automatic names
像 Hadoop 这样的一些工具需要显式指定 worker 的名称(Slaves File 节 in docs),但是当使用 Docker Swarm it 部署时分配自动容器名称,因此工作文件不再起作用,因为其中的名称不存在。有没有办法避免这个文件,或者至少为容器分配别名(独立于容器名称)以使其工作?
也许我不能使用 docker-compose.yml
文件,我必须在集群上手动创建服务...任何有关该主题的信息都将不胜感激
好吧,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
我会自动连接到master
像 Hadoop 这样的一些工具需要显式指定 worker 的名称(Slaves File 节 in docs),但是当使用 Docker Swarm it 部署时分配自动容器名称,因此工作文件不再起作用,因为其中的名称不存在。有没有办法避免这个文件,或者至少为容器分配别名(独立于容器名称)以使其工作?
也许我不能使用 docker-compose.yml
文件,我必须在集群上手动创建服务...任何有关该主题的信息都将不胜感激
好吧,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
我会自动连接到master