Uploaded image for project: 'Apache Ozone'
  1. Apache Ozone
  2. HDDS-442

ozone oz doesn't work with rest and without a hostname

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • None
    • None
    • None
    • None

    Description

      Starting ozone oz commands from the datanode

      Rpc works without a hostname:

      ozone oz volume create o3:///test2 --user hadoop --root

      Rest doesn't work:

      ozone oz volume create http:///test2 --user hadoop --root

      Error:

      2018-09-13 08:43:08 ERROR OzoneClientFactory:294 - Couldn't create protocol class org.apache.hadoop.ozone.client.rest.RestClient exception:
      java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
      at org.apache.hadoop.ozone.client.OzoneClientFactory.getClientProtocol(OzoneClientFactory.java:291)
      at org.apache.hadoop.ozone.client.OzoneClientFactory.getRestClient(OzoneClientFactory.java:247)
      at org.apache.hadoop.ozone.web.ozShell.Handler.verifyURI(Handler.java:95)
      at org.apache.hadoop.ozone.web.ozShell.volume.CreateVolumeHandler.call(CreateVolumeHandler.java:66)
      at org.apache.hadoop.ozone.web.ozShell.volume.CreateVolumeHandler.call(CreateVolumeHandler.java:38)
      at picocli.CommandLine.execute(CommandLine.java:919)
      at picocli.CommandLine.access$700(CommandLine.java:104)
      at picocli.CommandLine$RunLast.handle(CommandLine.java:1083)
      at picocli.CommandLine$RunLast.handle(CommandLine.java:1051)
      at picocli.CommandLine$AbstractParseResultHandler.handleParseResult(CommandLine.java:959)
      at picocli.CommandLine.parseWithHandlers(CommandLine.java:1242)
      at picocli.CommandLine.parseWithHandler(CommandLine.java:1181)
      at org.apache.hadoop.hdds.cli.GenericCli.execute(GenericCli.java:61)
      at org.apache.hadoop.hdds.cli.GenericCli.run(GenericCli.java:52)
      at org.apache.hadoop.ozone.web.ozShell.Shell.main(Shell.java:77)
      Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 0.0.0.0:9874 [/0.0.0.0] failed: Connection refused (Connection refused)
      at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:158)
      at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
      at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
      at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
      at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
      at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
      at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
      at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
      at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
      at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
      at org.apache.hadoop.ozone.client.rest.RestClient.executeHttpRequest(RestClient.java:848)
      at org.apache.hadoop.ozone.client.rest.RestClient.getOzoneRestServerAddress(RestClient.java:180)
      at org.apache.hadoop.ozone.client.rest.RestClient.<init>(RestClient.java:156)
      ... 19 more
      Caused by: java.net.ConnectException: Connection refused (Connection refused)
      at java.net.PlainSocketImpl.socketConnect(Native Method)
      at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
      at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204)
      at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
      at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
      at java.net.Socket.connect(Socket.java:589)
      at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:74)
      at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141)

      Most probably a wrong configuration is used to get the address of the ozoneManager. 0.0.0.0 seems to be the listener address.

      Attachments

        Activity

          People

            candychencan chencan
            elek Marton Elek
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: