当前位置: 首页 > 知识库问答 >
问题:

Hadoop:datanode进程正在运行但不工作?

袁泰
2023-03-14

这些天我们一直在尝试安装hadoop集群。有时成功,但大多数时候失败了。我根据官方文件和一些看似高质量的博客进行配置。

我遇到的问题是:所有进程(包括namenode、datanode、nodemanager、resourcemanager)都可以通过命令查看:jps

但是奴隶们实际上没有工作。我无法在web界面master:8088或master:50070中看到它们

有人说这是重复的namenode格式和id冲突造成的。我认为这不是我的问题,因为datanode从一开始就不工作,datanode文件夹总是空的。

这种现象还有其他可能的原因吗?我真的很难设置集群。

详情:

Hadoop版本:3.0.0-alpha2

hdfs dfsadmin-Report的输出是:

Configured Capacity: 492017770496 (458.23 GB)
Present Capacity: 461047037952 (429.38 GB)
DFS Remaining: 460770820096 (429.13 GB)
DFS Used: 276217856 (263.42 MB)
DFS Used%: 0.06%
Under replicated blocks: 10069
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
Pending deletion blocks: 0

-------------------------------------------------
Live datanodes (1):

Name: 127.0.0.1:9866 (localhost)
Hostname: sr145.local.lan
Decommission Status : Normal
Configured Capacity: 492017770496 (458.23 GB)
DFS Used: 276217856 (263.42 MB)
Non DFS Used: 5954019328 (5.55 GB)
DFS Remaining: 460770820096 (429.13 GB)
DFS Used%: 0.06%
DFS Remaining%: 93.65%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Sun Jan 02 02:52:57 CST 2000

**只有一个活的datanode是主节点的同一个节点。**所有其他从节点都不活动。

配置细节:1,hdfs站点。xml:

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>sr145:9001</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/hadoop/hdfs/namenode</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/hadoop/hdfs/datanode</value>
    </property>
</configuration>

2、核心站点。xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/opt/hadoop/tmp</value>
        <description>Abasefor other temporary directories.</description>
    </property>

</configuration>

3、纱线现场。xml

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.manager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>sr145</value>
        </property>
        <property>
           <name>yarn.resourcemanager.address</name>
           <value>sr145:8032</value>
        </property>
        <property>
           <name>yarn.resourcemanager.scheduler.address</name>
           <value>sr145:8030</value>
        </property>
        <property>
           <name>yarn.resourcemanager.resource-tracker.address</name>
           <value>sr145:8035</value>
        </property>
        <property>
           <name>yarn.resourcemanager.admin.address</name>
           <value>sr145:8033</value>
        </property>
        <property>
           <name>yarn.resourcemanager.webapp.address</name>
           <value>sr145:8088</value>
        </property>
</configuration>

所有节点的html" target="_blank">配置几乎相同,只是hdfs站点不同。xml natenode或datanode配置。$HADOOP_HOME/etc/HADOOP中的工作者从属文件也会被编辑。与原始状态相比,未移动任何文件。

共有1个答案

侯善
2023-03-14

只有一个活动datanode是主节点的同一个节点。

只有datanode知道namenode绑定到localhost,所有其他datanode都试图与sr145连接。

fs中设置的主机值。defaultFS是启动Namenode守护程序的位置
在主节点中将其设置为localhost,使进程绑定到节点的环回IP。编辑该值以获得实际的主机名或IP地址,在本例中为

<property>
   <name>fs.defaultFS</name>
   <value>hdfs://sr145:9000</value>
</property>

此属性在所有节点中必须相同。

 类似资料:
  • 我正在写一个程序,显示如下所示的航班信息: 我的问题是使用方法时: 当正常运行时,由于某种原因它不会执行,但是当我使用调试器执行程序时,一切都执行得很好,我得到了一个有意义的输出(格式不是很好,但我可以使用),为什么会发生这种情况? 输出应该是这样的: 当我正常运行时,我会得到这个: 这是当我一步虽然(或运行调试): 我希望输出的是单步执行部分(稍后我将处理格式化) eddit:我已经在错误流中添

  • 问题内容: 我在主软件包的一个目录下有一些文件: main.go config.go server.go 当我这样做时:“执行构建”程序将完美构建并运行良好。当我这样做时:“ go run main.go”失败了。 输出: 未定义的符号是结构,并且大写,因此应将其导出。 我的Go版本:go1.1.2 linux / amd64 问题答案: 这应该工作 Go run需要一个文件或多个文件,并且它仅合

  • 当我的selenium程序由于某些错误而崩溃时,它似乎会留下正在运行的进程。 例如,这是我的流程列表: 这是我的代码: 有时,浏览器加载网页元素的速度不够快,所以当它试图点击它没有找到的东西时,Selenium会崩溃。其他时候它工作正常。 为了简单起见,这是一个简单的例子,但是对于一个更复杂的硒程序,什么是保证干净退出而不留下正在运行的进程的方法?它应该在意外崩溃和成功运行时干净退出。

  • 我正在尝试将我的程序导出为一个可运行的JAR。该程序在eclipse中工作得非常好,但它不能作为一个可运行的JAR运行。我正在使用另外3个jar文件作为引用jar,这样我就可以使用音频,我认为这可能是问题所在。可运行的jar启动,但它只是一个全白的窗口,程序没有启动。 我点击我的项目,然后右键点击并选择“导出”,然后我选择“可运行的JAR”选项。我尝试使用所有三个处理引用库的选项来创建jar。 将

  • 问题内容: 我需要一个C / C ++ API,该API允许我列出Linux系统上正在运行的进程,并列出每个进程已打开的文件。 我 不 希望最终直接读取的/ proc /文件系统。 有人能想到一种方法吗? 问题答案: http://procps.sourceforge.net/ http://procps.cvs.sourceforge.net/viewvc/procps/procps/proc/

  • 我希望你能帮我。我对请求HTTP有问题 我已尝试使用: > 明文流量 Android:使用Cleartext流量="true" 网络安全配置 android:networkSecurityConfig=“@xml/network\u security\u config” network\u security\u配置。xml: 结果保持不变,回答:在android 11中运行 但是,代码可以在and