List of usage examples for org.apache.hadoop.hdfs DFSConfigKeys DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY
String DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY
To view the source code for org.apache.hadoop.hdfs DFSConfigKeys DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY.
Click Source Link
From source file:com.cloudera.impala.service.JniFrontend.java
License:Apache License
/** * Checks the data node's server side configuration by reading the CONF from the data * node.// w w w . j a v a 2 s . c o m * This appends error messages to errorCause prefixed by prefix if data node * configuration is not properly set. */ private void cdh41ShortCircuitReadDatanodeCheck(StringBuilder errorCause, String prefix) { String dnWebUiAddr = CONF.get(DFSConfigKeys.DFS_DATANODE_HTTP_ADDRESS_KEY, DFSConfigKeys.DFS_DATANODE_HTTP_ADDRESS_DEFAULT); URL dnWebUiUrl = null; try { dnWebUiUrl = new URL("http://" + dnWebUiAddr + "/conf"); } catch (Exception e) { LOG.info(e.toString()); } Configuration dnConf = new Configuration(false); dnConf.addResource(dnWebUiUrl); // dfs.datanode.data.dir.perm should be at least 750 int permissionInt = 0; try { String permission = dnConf.get(DFSConfigKeys.DFS_DATANODE_DATA_DIR_PERMISSION_KEY, DFSConfigKeys.DFS_DATANODE_DATA_DIR_PERMISSION_DEFAULT); permissionInt = Integer.parseInt(permission); } catch (Exception e) { } if (permissionInt < 750) { errorCause.append(prefix); errorCause.append("Data node configuration "); errorCause.append(DFSConfigKeys.DFS_DATANODE_DATA_DIR_PERMISSION_KEY); errorCause.append(" is not properly set. It should be set to 750.\n"); } // dfs.block.local-path-access.user should contain the user account impala is running // under String accessUser = dnConf.get(DFSConfigKeys.DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY); if (accessUser == null || !accessUser.contains(System.getProperty("user.name"))) { errorCause.append(prefix); errorCause.append("Data node configuration "); errorCause.append(DFSConfigKeys.DFS_BLOCK_LOCAL_PATH_ACCESS_USER_KEY); errorCause.append(" is not properly set. It should contain "); errorCause.append(System.getProperty("user.name")); errorCause.append("\n"); } }