我正在尝试运行Spring Boot YARN示例(在Windows上为https://spring.io/guides/gs/yarn-
basic/
)。在application.yml
我更改fsUri
并resourceManagerHost
指向我的VM的主机192.168...
。但是,当我尝试运行应用程序时,Exceprion出现了:
DFSClient: Exception in createBlockOutputStream
java.net.ConnectException: Connection timed out: no further information
at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206)
at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531)
at org.apache.hadoop.hdfs.DFSOutputStream.createSocketForPipeline(DFSOutputStream.java:1508)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.createBlockOutputStream(DFSOutputStream.java:1284)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1237)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:449)
[2017-05-27 19:59:49.570] boot - 7728 INFO [Thread-5] --- DFSClient: Abandoning BP-646365587-10.0.2.15-1495898351938:blk_1073741830_1006
[2017-05-27 19:59:49.602] boot - 7728 INFO [Thread-5] --- DFSClient: Excluding datanode DatanodeInfoWithStorage[10.0.2.15:50010,DS-f909ec7a-8374-4cdd-9cfc-0e778810d98c,DISK]
[2017-05-27 19:59:49.647] boot - 7728 WARN [Thread-5] --- DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /app/gs-yarn-basic/gs-yarn-basic-container-0.1.0.jar could only be replicated to 0 nodes instead of minReplication (=1). There are 1 datanode(s) running and 1 node(s) are excluded in this operation.
这意味着无法从我的主机访问DataNode。因此,我将其添加到hdfs-site.xml中
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
<description>Whether clients should use datanode hostnames when
connecting to datanodes.
</description>
</property>
但是它仍然抛出该异常。
我的VM上正在运行Hadoop 2.8.0。这是conf。文件:
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://0.0.0.0: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>/usr/local/hadoop/hadoop-2.8.0/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hadoop-2.8.0/data/datanode</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
<description>Whether clients should use datanode hostnames when
connecting to datanodes.
</description>
</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>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>8192</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value>
</property>
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-
disk-percentage</name>
<value>99</value>
</property>
</configuration>
您core- site.xml
应该指向Namenode
地址,但当前指向的0.0.0.0
是本地计算机上的所有地址。这将导致模棱两可的结果,因为每台机器都应视为Namenode
。
Namenode
只能是hadoop集群中的一个。
更换0.0.0.0
用Namenode
的ip
还是hostname
应该可以解决你所面临的问题。
这是我使用PCF开发的第一个微服务。我创建了以下Eureka服务器应用程序。 以下是eureka服务器服务的属性 以下是eureka客户服务 以下是eureka客户端服务的属性 我已经在本地服务器上运行的PCF Dev实例上部署了微服务 当我运行服务器时 http://eureka-client.local.pcfdev.io/service-instances/eureka-client 当我试
我们计划将主动 MQ (STOMP) 用于我们的一个项目。其中一个要求是,如果我们发现用户不合适,就将其踢出/禁止。如何通过单板技术实现这一点?有点像在 IRC 中踢球的东西。
我有一个RESTful服务在Java14SpringBoot微服务上运行。我从运行在Java 7应用程序上的客户机调用这个。 我有一个调用api的RESful客户端。当我从test方法调用它时,它成功工作,我得到了预期的结果,客户端和服务器上没有错误。 问题 当我在JBoss中启动Java7(Struts)应用程序,并通过同一个RESTful客户端调用api时,我收到了错误。 在 Java 14
我想创建一个。我的java桌面应用程序的exe文件。因此,我认为Launch4j是最好的选择。 当我跑的时候。在文件中,我有以下错误消息。 我在Mac OS Catalina 10.15.3版下工作。我的Java版本环境:openjdk版本“11.0.7”2020-04-14 openjdk运行时环境采用openjdk(构建11.0.7 10)openjdk 64位服务器虚拟机采用openjdk(
问题内容: 我有Jenkins作业的阶段,可以使用docker测试和部署我的nodejs,我在端口3000上运行docker,但是当我尝试浏览我的docker时,它不起作用,并且我的docker没有运行 这是我的Jenkinsfile Dockerfile: 我在ubuntu服务器上通过docker- compose运行Jenkins,是我丢失还是出错了?因为我的目标是使用Jenkins来测试我的
24.10 在客户端访问RESTful服务 RestTemplate是客户端访问RESTful服务的核心类。它在概念上类似于Spring中的其他模板类,例如JdbcTemplate、 JmsTemplate和其他Spring组合项目中发现的其他模板类。 RestTemplate’s behavior is customized by providing callback methods and c
我在我的本地主机中设置了3个Redis服务器和3个Redis Sentinel实例。服务器运行在: 哨兵们跑到: 我有一个(Java)客户机,它试图连接到一个哨兵并在redis服务器中设置密钥: 最初,我的哨兵配置如下(例如,在端口上运行的第一个哨兵): 如果我尝试运行我的(Java)客户机,我会得到以下错误: 但是,如果我将sentinel配置脚本更改为下面的脚本: 为什么注释出并显式地将设置为
我正在ec2实例上运行neo4j,我可以看到它正在运行http://ip:7474/browser在ec2上,我无法在elastic beanstalk上通过php访问它。文件路径显示空白页。 我还将弹性beanstalk实例的公共ip作为自定义TCP添加到linux ami实例中。有什么我遗漏的吗?我真的很感谢你的帮助。提前谢谢。