小编cho*_*omp的帖子

Zookeeper错误:无法在选举地址打开通道X.

我在3个不同的aws服务器上安装了zookeeper.以下是所有服务器中的配置

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/zookeeper
clientPort=2181
server.1=x.x.x.x:2888:3888
server.2=x.x.x.x:2888:3888
server.3=x.x.x.x:2888:3888
Run Code Online (Sandbox Code Playgroud)

所有这三个实例都有一个带有适当id 的myid文件var/zookeeper.所有三台服务器都从aws控制台打开了所有端口.但是当我运行zookeeper服务器时,我在所有实例中都收到以下错误.

2015-06-19 12:09:22,989 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@382] 
  - Cannot open channel to 2 at election address /x.x.x.x:3888
java.net.ConnectException: Connection refused
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
  at java.net.Socket.connect(Socket.java:579)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectOne(QuorumCnxManager.java:368)
  at org.apache.zookeeper.server.quorum.QuorumCnxManager.connectAll(QuorumCnxManager.java:402)
  at org.apache.zookeeper.server.quorum.FastLeaderElection.lookForLeader(FastLeaderElection.java:840)
  at org.apache.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java:762)
2015-06-19 12:09:23,170 [myid:1] - WARN  [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:QuorumCnxManager@382]
   - Cannot open channel to 3 at election address /x.x.x.x:3888
java.net.ConnectException: Connection refused
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
  at …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services apache-zookeeper

42
推荐指数
4
解决办法
4万
查看次数

Giraph Shortest Paths示例ClassNotFoundException

我试图运行从孵化giraph(最短路径例如https://cwiki.apache.org/confluence/display/GIRAPH/Shortest+Paths+Example).但是,我没有从giraph - * - dependencies.jar执行示例,而是创建了自己的作业jar.当我创建一个如示例中所示的Job文件时,我得到了

java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.test.giraph.Test$SimpleShortestPathsVertexInputFormat
Run Code Online (Sandbox Code Playgroud)

然后我移动了内部类(SimpleShortestPathsVertexInputFormat和SimpleShortestPathsVertexOutputFormat)来分离文件并重命名它们以防万一(SimpleShortestPathsVertexInputFormat_v2,SimpleShortestPathsVertexOutputFormat_v2); 这些类不再是静态的.这解决了SimpleShortestPathsVertexInputFormat_v2找不到类的问题,但是我仍然得到SimpleShortestPathsVertexOutputFormat_v2的相同错误.下面是我的堆栈跟踪.

INFO mapred.JobClient: Running job: job_201205221101_0003
INFO mapred.JobClient:  map 0% reduce 0%
INFO mapred.JobClient: Task Id : attempt_201205221101_0003_m_000005_0, Status : FAILED
    java.lang.RuntimeException: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.test.giraph.utils.SimpleShortestPathsVertexOutputFormat_v2
            at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:898)
            at org.apache.giraph.graph.BspUtils.getVertexOutputFormatClass(BspUtils.java:134)
            at org.apache.giraph.bsp.BspOutputFormat.getOutputCommitter(BspOutputFormat.java:56)
            at org.apache.hadoop.mapred.Task.initialize(Task.java:490)
            at org.apache.hadoop.mapred.MapTask.run(MapTask.java:352)
            at org.apache.hadoop.mapred.Child$4.run(Child.java:259)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAs(Subject.java:415)
            at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
            at org.apache.hadoop.mapred.Child.main(Child.java:253)
    Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.test.giraph.utils.SimpleShortestPathsVertexOutputFormat_v2
            at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:866)
            at org.apache.hadoop.conf.Configuration.getClass(Configuration.java:890)
            ... 9 more
Run Code Online (Sandbox Code Playgroud)

我检查了我的工作罐,所有课程都在那里.此外,我在伪分布模式下使用hadoop 0.20.203.我的工作方式如下所示.

hadoop jar giraphJobs.jar org.test.giraph.Test -libjars /path/to/giraph-0.2-SNAPSHOT-jar-with-dependencies.jar …
Run Code Online (Sandbox Code Playgroud)

hadoop shortest-path classnotfoundexception giraph

5
推荐指数
1
解决办法
1801
查看次数

无法使用SPARQL从LinkedMDB检索具有高ID的影片

我在LinkedMDB SPARQL端点运行以下查询,它可以工作.有了它,我得到了关于电影导演的所有信息,其中id为72,即泰坦尼克号,所以我得到了关于詹姆斯卡梅隆的信息.

PREFIX mdb: <http://data.linkedmdb.org/resource/movie/>
SELECT ?director?nombre_director?id_director WHERE {
  ?pelicula mdb:filmid ?id .
  ?pelicula <http://data.linkedmdb.org/resource/movie/director> ?director .
  ?director <http://data.linkedmdb.org/resource/movie/director_name> ?nombre_director .
  ?director <http://data.linkedmdb.org/resource/movie/director_directorid> ?id_director .
  FILTER (?id = 72).
}
Run Code Online (Sandbox Code Playgroud)

对于具有较高ID的电影,例如具有ID 44396的示例星际迷航,如果我用44396替换72,则查询不返回任何结果.但是,该条目显然具有目录,ID和名称.为什么修改后的查询不起作用?

rdf semantic-web sparql linked-data linkedmdb

4
推荐指数
1
解决办法
294
查看次数

使用 Java 11 运行 SonarScanner 分析,使用 Java 8 运行目标代码

正如以下公告所指出的,SonarSource 终止了对使用 11 版之前的 Java 版本运行代码分析器的支持:

2021 年 1 月 - 将分析移至 Java 11

扫描仪环境中安装的 Java 版本必须在 2021 年 2 月 1 日之前至少升级到 Java 11。Java 11 之前的版本已被弃用,使用它们的扫描仪将在该日期停止运行。

此外,2021 年 1 月 11 日至 2021 年 1 月 15 日期间将会出现限电,在此期间,使用低于 11 的 Java 版本的扫描仪运行的首次分析将失败。为了避免这种不便,您应该在 2021 年 1 月 11 日之前升级。

这里讨论的 Java 安装特指在运行 SonarCloud 扫描仪分析工具的上下文中安装和使用的 JDK 或 JRE。这可能是您本地的构建环境或您的 Cl 服务。

这不会对项目代码所针对的 Java 版本产生任何影响。您仍然可以分析目标版本低于 11 的 Java 项目。

我尝试搜索有关如何运行 bitbucket 管道以使用 java 11 分析器执行 SonarScanner 分析的完整示例,但目标代码使用 java 11 之前的版本(例如 java …

java sonarqube bitbucket-pipelines sonarcloud java-11

4
推荐指数
1
解决办法
1万
查看次数

我不能从命令行启动jetty,它想要一个Main-Class清单属性

我是新来的,所以我会尝试以正确的方式提问;)

我正在Facebook上做一个应用程序,我正在使用码头,这里是我正在使用的指南:Heroku码头部署指南.在本指南中,启动jetty的方法是这样的:

java -jar jetty-runner.jar application.war
Run Code Online (Sandbox Code Playgroud)

这与码头指南的推荐方式完全相同:

java -jar jetty-runner.jar my.war
Run Code Online (Sandbox Code Playgroud)

所以我相信,直到这里,我做得很好.战争是我正在开发的应用程序,我通过maven获取的jetty runner jar,这里是我的pom.xml的标签,从heroku指南中提取:

<plugins>                       
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>copy</goal>
</goals>
<configuration> 
<artifactItems>
<artifactItem>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-runner</artifactId>
<version>8.1.12.v20130726</version>
<destFileName>jetty-runner.jar</destFileName>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)

所以,我在这里问的原因是,我无法从命令行或远程方式(通过在heroku上部署)启动jetty.当我执行时(在Windows 7中具有主管理员权限),我得到的错误java jar jetty-runner.jar my.war 如下:

Failed to load Main-Class manifest attribute from jetty-runner.jar
Run Code Online (Sandbox Code Playgroud)

我不明白这一点,我正在使用通过maven下载的jar,它以正确的方式工作,对吧?

我打开了jetty-runer.jar的清单,它没有Main-class属性,所以呢?我该怎么办?我相信我正在做一些非常愚蠢的事情,因为我无法在任何地方找到这个错误,但我不知道:D

java jar jetty heroku maven

3
推荐指数
1
解决办法
3362
查看次数