Could not locate executable winutils.exe 2017-03-03 00:55
Today I got the error message like following.
ERROR [1502551983@qtp-1136115034-0] Shell.getWinUtilsPath(Shell.java:336) - Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable null\winutils.exe in the Hadoop binaries.
at org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.java:318)
at org.apache.hadoop.util.Shell.getWinUtilsPath(Shell.java:333)
at org.apache.hadoop.util.Shell.<clinit>(Shell.java:326)
at org.apache.hadoop.util.StringUtils.<clinit>(StringUtils.java:76)
at org.apache.hadoop.security.Groups.parseStaticMapping(Groups.java:93)
at org.apache.hadoop.security.Groups.<init>(Groups.java:77)
at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:240)
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:268)
at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:235)
at org.apache.hadoop.security.UserGroupInformation.isAuthenticationMethodEnabled(UserGroupInformation.java:322)
at org.apache.hadoop.security.UserGroupInformation.isSecurityEnabled(UserGroupInformation.java:316)
at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:759)
at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:661)
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:289)
at org.apache.hadoop.hbase.security.User$SecureHadoopUser.<init>(User.java:285)
at org.apache.hadoop.hbase.security.User.getCurrent(User.java:187)
at org.apache.hadoop.hbase.security.UserProvider.getCurrent(UserProvider.java:89)
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:235)
at com.xiaomi.infra.hbase.client.InternalHBaseClient.createAndCacheConnection(InternalHBaseClient.java:122)
at com.xiaomi.infra.hbase.client.InternalHBaseClient.getOrCreateConnection(InternalHBaseClient.java:111)
at com.xiaomi.infra.hbase.client.InternalHBaseClient.getHTable(InternalHBaseClient.java:411)
at com.xiaomi.infra.hbase.client.InternalHBaseClient.get(InternalHBaseClient.java:452)
I found the solution on stackoverflow.
- Download winutils.exe here
- Add HADOOP_HOME environment variable in your path.
The error message disappeared.