title: Giraph ZooKeeper port problems
body: <p>I am trying to run the SimpleShortestPathsVertex (aka SimpleShortestPathComputation) example described in the <a href="https://giraph.apache.org/quick_start.html" rel="nofollow">Giraph Quick Start</a>.  I am running this on a Hortonworks Sandbox instance (HDP 2.1) using VirtualBox, and I packaged giraph.jar using profile hadoop_2.0.0.</p>
  
  <p>When I try to run the example using </p>
  
  <pre><code>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
  </code></pre>
  
  <p>I get the following exception </p>
  
  <pre><code>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)
  </code></pre>
  
  <p>I have found a work around - it seems that Giraph expects ZooKeeper to be running on port 22181, while it is actually running on 2181.  I have simply used the Ambari interface to set ZooKeeper to run on 22181 (go to <code>http://127.0.0.1:8080/</code>, login admin/admin, Services tab, ZooKeeper and change the port to 22181, save and Service Actions -> Restart All.</p>
  
  <p>Does anyone have a better solution for this problem?  Is there a config via which the port should be specified, or is this port in the Giraph source code a typo?</p>