linux - 使用 hadoop fs -ls/列出时出现未知主机错误

标签 linux hadoop hdfs

我是 Hadoop 新手,正在尝试在 VM 上的 ubuntu 14.04-Server 上的多节点集群上安装 Hadoop。一切顺利,直到我尝试使用 hadoop fs -ls/列出 HDFS 中的文件

我不断收到错误:

ls: unknown host: Hadoop-Master.

最初我以为我在分配主机名时犯了一些错误,但与 /etc/hosts/etc./hostname 进行了交叉检查。主机名正确列为 Hadoop-Master。完全删除主机名。只剩下ip地址了。

Another post here建议在 .bashrc 中添加两行:

导出HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 导出 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib

我尝试这样做,但仍然遇到相同的错误。 请查找下面的相关步骤以及根据所询问的信息进行的编辑。

  • 使用 ifconfig 检查主站的 IP 地址
  • 添加到/etc/hosts 并编辑/etc/hostname 以添加主机名。
  • 为主站和从站添加相关详细信息。

.bashrc 文件

export HADOOP_INSTALL=/usr/local/hadoop
export PIG_HOME=/usr/local/pig
export HIVE_HOME=/usr/local/Hive

export PATH=$PATH:$HADOOP_INSTALL/bin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"

Java 路径 导出 JAVA_HOME='/usr/lib/jvm/java-7-oracle'

core-site.xml

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:Hadoop-Master:9001</value>
</property>
</configuration>

hadoop-env.sh

export JAVA_HOME='/usr/lib/jvm/java-7-oracle'

编辑mapred-site.xml以包含主机名并将值更改为no。存在的节点数。 ma​​pred-site.xml

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

编辑hdfs-site.xml,将值更改为no。存在的数据节点数。​ hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>
</configuration>

谁阿米 简单学习

/etc/hosts 本地主机 127.0.0.1 Hadoop-Master 192.168.207.132 Hadoop-从站192.168.207.140

/etc/主机名 Hadoop-Master

最佳答案

要进行的更改:

<强>1。/etc/hosts 文件:

Hadoop-Master更改为HadoopMaster

<强>2。/etc/hostname 文件:

Hadoop-Master更改为HadoopMaster

<强>3。 core-site.xml:

改变这个

hdfs:Hadoop-Master:9001

到此

hdfs://HadoopMaster:9001

注意:在指向您 IP 的所有节点中将 Hadoop-Master 更改为 HadoopMaster。也更改从属文件。

关于linux - 使用 hadoop fs -ls/列出时出现未知主机错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30092598/

相关文章:

hadoop - 如何在不使用getmerge的情况下将头文件作为第一行插入HDFS的数据文件中(复制到本地时性能问题)?

json - Hadoop:无法运行 mapreduce 程序 ..java.io.IOException:error=12

scala - 尝试写入 hdfs : Server IPC version 9 cannot communicate with client version 4 时出错

hadoop - MapReduce:Map-only 还是 Reduce-only?

php - 在 public_html 文件夹中创建指向主目录的绝对链接

linux - Grep 组行

python - Hadoop pig latin 无法通过 python 脚本流式传输

apache-spark - 使用 Spark 写入外部 Hadoop

C 读() : Invalid arguments

linux - 提取括号内的单词并将其替换为句子