gpt4 book ai didi

windows - 运行Cygwin64时出现"Name or service not knownstname localhost"错误

转载 作者:行者123 更新时间:2023-12-05 05:18:30 25 4
gpt4 key购买 nike

我按照此处的说明操作 http://saphanatutorial.com/hadoop-installation-on-windows-7-using-cygwin/使用 Cygwin(64 位)运行 Hadoop。一切正常,直到我运行 ./start-dfs.sh。错误是

$ ./start-dfs.sh
]tarting namenodes on [localhost
: Name or service not knownstname localhost
localhost: starting datanode, logging to /cygdrive/c/Cygwin64/usr/local/hadoop/logs/hadoop-KennyT-datanode-DESKTOP-6I19F66.out
]tarting secondary namenodes [0.0.0.0
: Name or service not knownstname 0.0.0.0

我配置了以下内容:

环境变量:


HADOOP_HOME: C:\cygwin64\usr\local\hadoop
JAVA_HOME: C:\Java\bin
Path: C:\cygwin64\usr\local\hadoop\bin;C:\cygwin64\bin; C:\Java\bin

hadoop-env.sh:

export JAVA_HOME="/cygdrive/c/Java/"

核心站点.xml:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/c:/cygwin64/usr/local/hadoop/hadoop-dir/namedir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/c:/cygwin64/usr/local/hadoop/hadoop-dir/datadir</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

一些注意事项:

  • 64 位窗口,hadoop 2.7.1
  • java -versionhadoop version 都成功执行了。所以,我想环境设置没有问题。
  • sshd 服务正在运行,端口 22 已打开。 ssh localhosttelnet localhost 22 都成功了。
  • 我在 Windows 上禁用了 IPv6,但结果是一样的。
  • 在 hadoop-env.sh 中,我将 "export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true" 替换为 "export HADOOP_OPTS="$HADOOP_OPTS -XX:- PrintWarnings -Djava.net.preferIPv4Stack=true" 但运气不好。
  • hadoop namenode -format 成功。
  • 每当我更改文件的内容时,我都会执行 dos2unix.exe 文件

  • 使用上述设置,我在没有 cygwin 的情况下成功运行了 hadoop。所以,我猜这些文件(core-site, hdfs-site, mapred-site, yarn-site)中的设置没有问题

我正在尝试在一台机器上使用 cygwin 运行 Hadoop。然后将其扩展为在不同机器上作为集群运行 Hadoop 和 Cygwin。但我被困在了这里。请帮我。

最佳答案

我在尝试启动 Hadoop 时遇到了同样的问题,但只是针对数据节点。几天后,我通过跟踪 Hadoop 脚本发现了问题,并发现您需要在 slaves 文件中的每一行之后设置一个空格 .

hadoop-deamons.sh 调用slaves.h 一个一个运行slaves

exec "$bin/slaves.sh" --config $HADOOP_CONF_DIR cd "$HADOOP_PREFIX" \; "$bin/hadoop-daemon.sh" --config $HADOOP_CONF_DIR "$@"

slaves.sh 尝试连接每个从服务器并通过以下方式在该服务器上运行 stop datanode 命令:

# start the daemons
for slave in $SLAVE_NAMES ; do
ssh $HADOOP_SSH_OPTS $slave $"${@// /\\ }" \
2>&1 | sed "s/^/$slave: /" &
if [ "$HADOOP_SLAVE_SLEEP" != "" ]; then
sleep $HADOOP_SLAVE_SLEEP
fi
done

如果你错过了空间,你会发生这样的事情:

ssh server4"cd /home/xxx/hadoop-2.10.0 ...."

遇到你的主机名未知。正确的是:

ssh server4 "cd /home/xxx/hadoop-2.10.0 ...."

如果您在 Windows 中编辑文件并通过 WinSCP 等 widows 应用程序将它们复制到 linux 中,则会有一个额外的 \r 字符导致主机名出现上述问题。

关于windows - 运行Cygwin64时出现"Name or service not knownstname localhost"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com