Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java
===================================================================
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java (revision 1614288)
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java (working copy)
@@ -353,6 +353,9 @@
public static final String RM_ZK_ACL = RM_ZK_PREFIX + "acl";
public static final String DEFAULT_RM_ZK_ACL = "world:anyone:rwcda";
+
+ public static final String RM_ZK_JUTEMAXBUFFER_BYTES = RM_ZK_PREFIX + "jutemaxbuffer-bytes";
+ public static final int DEFAULT_RM_ZK_JUTEMAXBUFFER_BYTES = 1*1024*1024;
public static final String RM_ZK_AUTH = RM_ZK_PREFIX + "auth";
Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml
===================================================================
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml (revision 1614288)
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml (working copy)
@@ -357,6 +357,15 @@
yarn.resourcemanager.zk-timeout-ms
10000
+
+
+ Java system property, jute.maxbuffer, to be used for ZooKeeper
+ servers and clients. It specifies the maximum size of the data that can be stored
+ in a znode. The default is 1M. If this option is changed, the system property must
+ be set on all servers and clients otherwise problems will arise.
+ yarn.resourcemanager.zk-jutemaxbuffer-bytes
+ 1048576
+
ACL's to be used for ZooKeeper znodes.
Index: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java
===================================================================
--- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java (revision 1614288)
+++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/recovery/ZKRMStateStore.java (working copy)
@@ -98,6 +98,7 @@
private String zkHostPort = null;
private int zkSessionTimeout;
+ private int zkJuteMaxBuffer;
@VisibleForTesting
long zkRetryInterval;
@@ -214,6 +215,8 @@
zkSessionTimeout =
conf.getInt(YarnConfiguration.RM_ZK_TIMEOUT_MS,
YarnConfiguration.DEFAULT_RM_ZK_TIMEOUT_MS);
+ zkJuteMaxBuffer = conf.getInt(YarnConfiguration.RM_ZK_JUTEMAXBUFFER_BYTES,
+ YarnConfiguration.DEFAULT_RM_ZK_JUTEMAXBUFFER_BYTES);
if (HAUtil.isHAEnabled(conf)) {
zkRetryInterval = zkSessionTimeout / numRetries;
@@ -1133,6 +1136,7 @@
@Unstable
protected synchronized ZooKeeper getNewZooKeeper()
throws IOException, InterruptedException {
+ System.setProperty("jute.maxbuffer",Integer.toString(zkJuteMaxBuffer));
ZooKeeper zk = new ZooKeeper(zkHostPort, zkSessionTimeout, null);
zk.register(new ForwardingWatcher());
return zk;