HADOOP-11153. Make number of KMS threads configurable. (wang)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/64aef189 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/64aef189 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/64aef189 Branch: refs/heads/HDFS-6581 Commit: 64aef189656919327b11fe5e90ea680ca7ba83df Parents: c6c3247 Author: Andrew Wang <[email protected]> Authored: Mon Sep 29 15:02:29 2014 -0700 Committer: Andrew Wang <[email protected]> Committed: Mon Sep 29 15:02:29 2014 -0700 ---------------------------------------------------------------------- hadoop-common-project/hadoop-common/CHANGES.txt | 2 ++ hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh | 4 ++++ .../hadoop-kms/src/main/libexec/kms-config.sh | 7 +++++++ hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh | 1 + hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml | 1 + .../hadoop-kms/src/main/tomcat/ssl-server.xml | 2 +- hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm | 2 ++ 7 files changed, 18 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-common/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 4cb1b73..ea1d8fd 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -554,6 +554,8 @@ Release 2.6.0 - UNRELEASED HADOOP-10954. Adding site documents of hadoop-tools (Masatake Iwasaki via aw) + HADOOP-11153. Make number of KMS threads configurable. (wang) + OPTIMIZATIONS HADOOP-10838. Byte array native checksumming. (James Thomas via todd) http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh b/hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh index 1bbec7f..88a2b86 100644 --- a/hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh +++ b/hadoop-common-project/hadoop-kms/src/main/conf/kms-env.sh @@ -36,6 +36,10 @@ # # export KMS_ADMIN_PORT=`expr ${KMS_HTTP_PORT} + 1` +# The maximum number of Tomcat handler threads +# +# export KMS_MAX_THREADS=1000 + # The location of the SSL keystore if using SSL # # export KMS_SSL_KEYSTORE_FILE=${HOME}/.keystore http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/main/libexec/kms-config.sh ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/main/libexec/kms-config.sh b/hadoop-common-project/hadoop-kms/src/main/libexec/kms-config.sh index 3e20399..dc603d4 100644 --- a/hadoop-common-project/hadoop-kms/src/main/libexec/kms-config.sh +++ b/hadoop-common-project/hadoop-kms/src/main/libexec/kms-config.sh @@ -136,6 +136,13 @@ else print "Using KMS_ADMIN_PORT: ${KMS_ADMIN_PORT}" fi +if [ "${KMS_MAX_THREADS}" = "" ]; then + export KMS_MAX_THREADS=1000 + print "Setting KMS_MAX_THREADS: ${KMS_MAX_THREADS}" +else + print "Using KMS_MAX_THREADS: ${KMS_MAX_THREADS}" +fi + if [ "${KMS_SSL_KEYSTORE_FILE}" = "" ]; then export KMS_SSL_KEYSTORE_FILE=${HOME}/.keystore print "Setting KMS_SSL_KEYSTORE_FILE: ${KMS_SSL_KEYSTORE_FILE}" http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh b/hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh index 588c2c8..b43225f 100644 --- a/hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh +++ b/hadoop-common-project/hadoop-kms/src/main/sbin/kms.sh @@ -44,6 +44,7 @@ catalina_opts="${catalina_opts} -Dkms.log.dir=${KMS_LOG}"; catalina_opts="${catalina_opts} -Dkms.temp.dir=${KMS_TEMP}"; catalina_opts="${catalina_opts} -Dkms.admin.port=${KMS_ADMIN_PORT}"; catalina_opts="${catalina_opts} -Dkms.http.port=${KMS_HTTP_PORT}"; +catalina_opts="${catalina_opts} -Dkms.max.threads=${KMS_MAX_THREADS}"; catalina_opts="${catalina_opts} -Dkms.ssl.keystore.file=${KMS_SSL_KEYSTORE_FILE}"; catalina_opts="${catalina_opts} -Dkms.ssl.keystore.pass=${KMS_SSL_KEYSTORE_PASS}"; http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml b/hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml index d070b58..516a6a9 100644 --- a/hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml +++ b/hadoop-common-project/hadoop-kms/src/main/tomcat/server.xml @@ -73,6 +73,7 @@ Define a non-SSL HTTP/1.1 Connector on port ${kms.http.port} --> <Connector port="${kms.http.port}" protocol="HTTP/1.1" + maxThreads="${kms.max.threads}" connectionTimeout="20000" redirectPort="8443"/> <!-- A "Connector" using the shared thread pool--> http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/main/tomcat/ssl-server.xml ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/main/tomcat/ssl-server.xml b/hadoop-common-project/hadoop-kms/src/main/tomcat/ssl-server.xml index 3a464ca..6235b8b 100644 --- a/hadoop-common-project/hadoop-kms/src/main/tomcat/ssl-server.xml +++ b/hadoop-common-project/hadoop-kms/src/main/tomcat/ssl-server.xml @@ -69,7 +69,7 @@ connector should be using the OpenSSL style configuration described in the APR documentation --> <Connector port="${kms.http.port}" protocol="HTTP/1.1" SSLEnabled="true" - maxThreads="150" scheme="https" secure="true" + maxThreads="${kms.max.threads}" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="${kms.ssl.keystore.file}" keystorePass="${kms.ssl.keystore.pass}"/> http://git-wip-us.apache.org/repos/asf/hadoop/blob/64aef189/hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm b/hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm index e32893b..9b105f2 100644 --- a/hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm +++ b/hadoop-common-project/hadoop-kms/src/site/apt/index.apt.vm @@ -152,6 +152,8 @@ hadoop-${project.version} $ sbin/kms.sh start * KMS_ADMIN_PORT + * KMS_MAX_THREADS + * KMS_LOG NOTE: You need to restart the KMS for the configuration changes to take
