gpt4 book ai didi

linux - 无法解决连接超时-Hadoop-1.2.1 NameNode和DataNode无法启动; SecondaryNameNode端口22连接超时

转载 作者:太空宇宙 更新时间:2023-11-04 03:33:02 25 4
gpt4 key购买 nike

我无法在多节点群集的namenode上启动jsp服务。我已经尝试了其他SO线程中针对类似(但不完全相同)问题提出的几种解决方案。但是,namenode jsp服务仍然无法启动。非常感谢您对解决此问题的任何帮助。

无论如何,我都不是Hadoop和云计算复杂性的专家(但是,我是一个感兴趣但有些天真的用户)。我正在寻求更好地理解这些复杂性,并赞赏该 Realm 专家拥有的丰富知识。为此,我一直遵循DZone.Com的Hardik Panday所描述的伪分布式多节点群集教程-

How to Set Up a Multi-Node Hadoop Cluster on Amazon EC2

本教程本身是Michael Noll受欢迎的教程的更新,该教程在AWS EC2上设置了单节点群集[下面的注A],后来又设置了多节点群集[下面的注B]。就像Noll的前辈一样,Pandday教程适用于4节点群集(主节点,第二节点,2X从节点);为了保持在AWS Free Tier限制内,我将集群修改为仅3个节点(主节点,第二节点和从节点)。

在遵循本教程的过程中,按照namenode的无错误格式进行格式化,直到启动hadoop之前,我没有遇到任何问题,错误或意外警告:

~/home/ubuntu/hadoop/conf$ hadoop start-all.sh

starting namenode, logging to /home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-namenode-<SNN Public DNS>.out
<Slave Public DNS>: starting datanode, logging to /home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-datanode-<Slave Public DNS>.out
<SNN Public DNS>: starting secondarynamenode, logging to /home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-secondarynamenode-<SNN Public DNS>.out
<SNN Public DNS>: ssh: connect to host <NN Public DNS> port 22: Connection timed out
starting jobtracker, logging to /home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-jobtracker-<SNN Public DNS>.out
<Slave Public DNS>: starting tasktracker, logging to /home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-tasktracker-<Slave Public DNS>.out

检查NN,SNN和从站上的JPS会发现:

主站仅运行Jps
SNN正在运行SecondaryNameNode和Jps
从站正在运行TaskTracker和Jps

NameNode,SecondaryNameNode和JobTracker应该在主服务器上运行
DataNode应该在从站上运行,但不是。

已设置无密码ssh。确认了将文件从主文件ssh和移动到SNN和从设备的能力。每个PuTTY session 都以:
$ eval `ssh-agent -s`  
Agent pid XXXXX
$ ssh-add KeyPairFileName.pem
Identity added: KeyPairFileName.pem (KeyPairFileName.pem)

对于连接超时(和Java I / O错误)的以前的SO解决方案,我先停止所有进程(stop-all.sh),然后再采取进一步措施。在某些情况下,只是start-all.sh(来自bin /或conf /)对人们有用。就我而言不是。

因此,我在SO解决方案中尝试了进一步的建议,并$ rm -Rf在启动进程之前创建的hadoop / tmp /(没有工作-同样的错误),或者格式化namenode和启动进程(没有工作-同样的错误) )。

对于涉及hadoop-1.2.1的Per SO解决方案,我检查了core-site.xml文件,以确保正确指定了fs.default.name。重新运行过程开始;但是,同样的错误。

对于其他SO解决方案,我增加了core-site.xml和mapred-site.xml的端口号(分别从:8020到:9050和:8021到:9051)。重新运行过程开始;但是,同样的错误。

对于与hadoop tmp /目录相关的另一个SO解决方案,我向hdfs-site.xml添加了两个附加属性(请参见下面的环境)。重新运行过程开始;但是,同样的错误。

对于另一个SO解决方案,我检查了50070和22处的端口 Activity 。每个端口上都没有 Activity 。

我已经停止并终止了EC2实例,重复了整个教程,但是结果相同。

我把头撞在这里的墙上,真的很想知道是否

a)我错过了导致此失败的隐藏步骤(有时很难遵循教程),和/或

b)需要采取一些额外的步骤,如果不采取这些步骤,将导致加载和启动Hadoop过程失败。

预先感谢您的时间和精力。

理查德·波特
USF MBA学生(萨拉索塔-海牛)

对ubuntu 12.04 64位使用公共(public)AMI
使用hadoop-1.2.1
使用Java版本1.7.0_8

.bashrc已修改为包括:
export HADOOP_CONF=/home/ubuntu/hadoop/conf
export HADOOP_PREFIX=/home/ubuntu/hadoop

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

export PATH=$PATH"$HADOOP_PREFIX/bin

根据教程,hadoop tmp /是在/ home / ubuntu /中以hdfstmp创建的,并且所有者是所有者:group ubuntu:ubuntu。

hadoop集群配置文件(均复制到NN,SNN和Slave):

hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://<Master Public DNS>:9050</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/ubuntu/hdfstmp</value>
</property>
</configuration>

hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>

因为只有一个从站,所以复制值=“1”

hdfs-site.xml文件进一步修改为包括:
<property>
<name>dfs.data.dir</name>
<value>/home/ubuntu/hdfstmp/dfs/name/data</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/ubuntu/hdfstmp/dfs/name</value>
</property>

mapred.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://<Master Public DNS>:9051</value>
</property>
</configuration>

修改了NN,SNN和从站的主文件和从文件,以将其从“localhost”更改为适当的URL(或留为空白)。

注释(我目前缺乏包含2个以上 super 链接的功能,但正在提供在线引用的可搜索标题)。

[注A]:Michael Noll在Ubuntu Linux(单节点群集)上运行Hadoop
[注B]:Michael Noll在Ubuntu Linux(多节点群集)上运行Hadoop

最佳答案

请尝试以下步骤
1.在NameNode和DataNode中安装openssh-server和client
2.通过运行以下命令生成ssh-keygen

ssh-keygen -t rsa -P “”

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
  • 在两个节点之间设置ssh连接

    ssh namenode

    ssh datanode
  • 现在尝试再次运行hadoop-daemons
  • 关于linux - 无法解决连接超时-Hadoop-1.2.1 NameNode和DataNode无法启动; SecondaryNameNode端口22连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32569414/

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