这个是Hadoop内部读取配置信息时 使用hashtable 产生了 并发修改错误 ;这个报错是jira里的,自己的找不到了
2018-03-22 04:57:39,289 INFO resourcemanager.ResourceTrackerService (ResourceTrackerService.java:nodeHeartbeat(497)) - Node not found resyncing ctr-e138-1518143905142-129550-01-000036.hwx.site:25454
2018-03-22 04:57:39,294 INFO service.AbstractService (AbstractService.java:noteFailure(272)) - Service ResourceManager failed in state STARTED; cause: java.util.ConcurrentModificationException
java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:1378)
at org.apache.hadoop.conf.Configuration.iterator(Configuration.java:2564)
at org.apache.hadoop.conf.Configuration.getPropsWithPrefix(Configuration.java:2583)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.getConfigParameters(WebApps.java:386)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.build(WebApps.java:334)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:395)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.startWepApp(ResourceManager.java:1049)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.serviceStart(ResourceManager.java:1152)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:193)
at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.main(ResourceManager.java:1293)
2018-03-22 04:57:39,296 INFO ipc.Server (Server.java:stop(2752)) - Stopping server on 8050
2018-03-22 04:57:39,300 INFO ipc.Server (Server.java:run(932)) - Stopping IPC Server listener on 8050
2018-03-22 04:57:39,301 INFO ipc.Server (Server.java:run(1069)) - Stopping IPC Server Responder
在使用腾讯云emr的时候遇到,升级emr内的Hadoop版本得以解决;
/**
* Get an {@link Iterator} to go through the list of <code>String</code>
* key-value pairs in the configuration.
*
* @return an iterator over the entries.
*/
@Override
public Iterator<Map.Entry<String, String>> iterator() {
// Get a copy of just the string to string pairs. After the old object
// methods that allow non-strings to be put into configurations are removed,
// we could replace properties with a Map<String,String> and get rid of this
// code.
Map<String,String> result = new HashMap<String,String>();
for(Map.Entry<Object,Object> item: getProps().entrySet()) {
if (item.getKey() instanceof String &&
item.getValue() instanceof String) {
result.put((String) item.getKey(), (String) item.getValue());
}
}
return result.entrySet().iterator();
}