Repository: hadoop Updated Branches: refs/heads/HDFS-7240 d77c8107f -> 2a94ce912
HDFS-12466. Ozone: KSM: Make ozone.ksm.address as mandatory property for client. Contributed by Nandakumar. Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/2a94ce91 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/2a94ce91 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/2a94ce91 Branch: refs/heads/HDFS-7240 Commit: 2a94ce9124c7c96a6baa527c543575b74958afd9 Parents: d77c810 Author: Weiwei Yang <[email protected]> Authored: Wed Sep 20 14:55:33 2017 +0800 Committer: Weiwei Yang <[email protected]> Committed: Wed Sep 20 14:55:33 2017 +0800 ---------------------------------------------------------------------- .../hadoop/ozone/client/OzoneClientFactory.java | 1 - .../hadoop/ozone/client/OzoneClientUtils.java | 26 ++++++++++++++++++++ .../hadoop/ozone/client/rpc/RpcClient.java | 25 ++++++++++--------- .../src/main/resources/ozone-default.xml | 2 +- 4 files changed, 40 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/2a94ce91/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientFactory.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientFactory.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientFactory.java index 580cd11..cda95a5 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientFactory.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientFactory.java @@ -158,7 +158,6 @@ public final class OzoneClientFactory { return ctor.newInstance(getConfiguration()); } catch (Exception e) { final String message = "Couldn't create protocol " + protocolClass; - LOG.warn(message, e); if (e.getCause() instanceof IOException) { throw (IOException) e.getCause(); } else { http://git-wip-us.apache.org/repos/asf/hadoop/blob/2a94ce91/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientUtils.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientUtils.java index cc3632d..e192d87 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientUtils.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/OzoneClientUtils.java @@ -322,6 +322,32 @@ public final class OzoneClientUtils { } /** + * Retrieve the socket address that should be used by clients to connect + * to KSM. + * @param conf + * @return Target InetSocketAddress for the KSM service endpoint. + */ + public static InetSocketAddress getKsmAddressForClients( + Configuration conf) { + final Optional<String> host = getHostNameFromConfigKeys(conf, + OZONE_KSM_ADDRESS_KEY); + + if (!host.isPresent()) { + throw new IllegalArgumentException( + OZONE_KSM_ADDRESS_KEY + " must be defined. See" + + " https://wiki.apache.org/hadoop/Ozone#Configuration for" + + " details on configuring Ozone."); + } + + // If no port number is specified then we'll just try the defaultBindPort. + final Optional<Integer> port = getPortNumberFromConfigKeys(conf, + OZONE_KSM_ADDRESS_KEY); + + return NetUtils.createSocketAddr( + host.get() + ":" + port.or(OZONE_KSM_PORT_DEFAULT)); + } + + /** * Retrieve the socket address that is used by CBlock Service. * @param conf * @return Target InetSocketAddress for the CBlock Service endpoint. http://git-wip-us.apache.org/repos/asf/hadoop/blob/2a94ce91/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java index 6464c5d..e79d170 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java @@ -106,6 +106,19 @@ public class RpcClient implements ClientProtocol { this.groupRights = conf.getEnum(KSMConfigKeys.OZONE_KSM_GROUP_RIGHTS, KSMConfigKeys.OZONE_KSM_GROUP_RIGHTS_DEFAULT); + long ksmVersion = + RPC.getProtocolVersion(KeySpaceManagerProtocolPB.class); + InetSocketAddress ksmAddress = OzoneClientUtils + .getKsmAddressForClients(conf); + RPC.setProtocolEngine(conf, KeySpaceManagerProtocolPB.class, + ProtobufRpcEngine.class); + this.keySpaceManagerClient = + new KeySpaceManagerProtocolClientSideTranslatorPB( + RPC.getProxy(KeySpaceManagerProtocolPB.class, ksmVersion, + ksmAddress, UserGroupInformation.getCurrentUser(), conf, + NetUtils.getDefaultSocketFactory(conf), + Client.getRpcTimeout(conf))); + long scmVersion = RPC.getProtocolVersion(StorageContainerLocationProtocolPB.class); InetSocketAddress scmAddress = @@ -119,18 +132,6 @@ public class RpcClient implements ClientProtocol { NetUtils.getDefaultSocketFactory(conf), Client.getRpcTimeout(conf))); - long ksmVersion = - RPC.getProtocolVersion(KeySpaceManagerProtocolPB.class); - InetSocketAddress ksmAddress = OzoneClientUtils.getKsmAddress(conf); - RPC.setProtocolEngine(conf, KeySpaceManagerProtocolPB.class, - ProtobufRpcEngine.class); - this.keySpaceManagerClient = - new KeySpaceManagerProtocolClientSideTranslatorPB( - RPC.getProxy(KeySpaceManagerProtocolPB.class, ksmVersion, - ksmAddress, UserGroupInformation.getCurrentUser(), conf, - NetUtils.getDefaultSocketFactory(conf), - Client.getRpcTimeout(conf))); - this.xceiverClientManager = new XceiverClientManager(conf); int configuredChunkSize = conf.getInt( http://git-wip-us.apache.org/repos/asf/hadoop/blob/2a94ce91/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml index 492ab06..4e0028f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/resources/ozone-default.xml @@ -529,7 +529,7 @@ <property> <name>ozone.ksm.address</name> - <value>0.0.0.0</value> + <value></value> <description> The address of the Ozone KSM service. </description> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
