복붙노트

[HADOOP] Giraph 사육사 포트 문제

HADOOP

Giraph 사육사 포트 문제

나는 Giraph 빠른 시작에 설명 된 SimpleShortestPathsVertex (일명 SimpleShortestPathComputation) 예제를 실행하려합니다. 나는 VirtualBox를 사용하여 호튼 웍스 샌드 박스 인스턴스 (HDP 2.1)에서이 작업을 실행하고, 나는 프로필 hadoop_2.0.0를 사용하여 giraph.jar을 포장.

내가 사용 예제를 실행하려고 할 때

hadoop jar giraph.jar org.apache.giraph.GiraphRunner 
org.apache.giraph.examples.SimpleShortestPathsVertex -vif 
org.apache.giraph.io.formats.JsonLongDoubleFloatDoubleVertexInputFormat -vip 
/user/hue/tinygraph.txt -of org.apache.giraph.io.formats.IdWithValueTextOutputFormat 
-op /user/hue/output/shortestpaths -w 1

나는 다음과 같은 예외가

2014-04-30 07:22:15,390 INFO [main] org.apache.giraph.zk.ZooKeeperManager: onlineZooKeeperServers: Connect attempt 0 of 10 max trying to connect to sandbox.hortonworks.com:22181 with poll msecs = 3000
2014-04-30 07:22:15,396 WARN [main] org.apache.giraph.zk.ZooKeeperManager: onlineZooKeeperServers: Got ConnectException
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.giraph.zk.ZooKeeperManager.onlineZooKeeperServers(ZooKeeperManager.java:701)
at org.apache.giraph.graph.GraphTaskManager.startZooKeeperManager(GraphTaskManager.java:357)
at org.apache.giraph.graph.GraphTaskManager.setup(GraphTaskManager.java:188)
at org.apache.giraph.graph.GraphMapper.setup(GraphMapper.java:60)
at org.apache.giraph.graph.GraphMapper.run(GraphMapper.java:90)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
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:1548)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:163)

나는 주위에 일을 발견했다 - Giraph가 (HTTP로 이동 사육사가 실제로 2181에서 실행되는 동안 나는 단순히 22181에서 실행되도록 사육사을 설정 Ambari 인터페이스를 사용하고, 포트 22181에서 실행을 기대 보인다 : //127.0 .0.1 : 8080 / 로그인 관리자 / 관리자, 서비스 탭, 사육사 저장하고 서비스 조치, 22181 포트를 변경 -> 모든를 다시 시작합니다.

사람이이 문제에 대한 더 나은 솔루션이 있습니까? 포트를 지정하거나 Giraph 소스 코드에서이 포트는 오타입니다되어야 통해 설정이 있습니까?

해결법

  1. ==============================

    1.2181 : 예, 옵션 -Dgiraph.zkList = 로컬 호스트를 사용을 통해 당신이 Giraph 작업을 실행할 때마다 지정할 수 있습니다

    2181 : 예, 옵션 -Dgiraph.zkList = 로컬 호스트를 사용을 통해 당신이 Giraph 작업을 실행할 때마다 지정할 수 있습니다

    또한 당신은 하둡 CONFIGS에서 설정할 수 있습니다 그리고 당신은이 옵션을 사용하면 Giraph 작업을 전송할 때마다 통과 할 필요가 없습니다. 이를 위해 conf의 / 코어 site.xml 파일에 다음 줄을 추가합니다 :

    <속성> <이름> giraph.zkList <값> 로컬 호스트 : 2,181

    [구문을 확인하시기 바랍니다, 나는 위에 내 머리를 그것을 기억하지 않습니다 현재 나는 그것을 확인하기 위해 클러스터에 액세스 할 수 없습니다]

  2. from https://stackoverflow.com/questions/23393259/giraph-zookeeper-port-problems by cc-by-sa and MIT license