HADOOP-11329. Add JAVA_LIBRARY_PATH to KMS startup options. Contributed by Arun Suresh.

This commit is contained in:
Andrew Wang 2014-12-08 13:44:44 -08:00
parent 6c5bbd7a42
commit ddffcd8fac
4 changed files with 27 additions and 1 deletions

View File

@ -519,6 +519,8 @@ Release 2.7.0 - UNRELEASED
HADOOP-11354. ThrottledInputStream doesn't perform effective throttling. HADOOP-11354. ThrottledInputStream doesn't perform effective throttling.
(Ted Yu via jing9) (Ted Yu via jing9)
HADOOP-11329. Add JAVA_LIBRARY_PATH to KMS startup options. (Arun Suresh via wang)
Release 2.6.0 - 2014-11-18 Release 2.6.0 - 2014-11-18
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -47,3 +47,9 @@
# The password of the SSL keystore if using SSL # The password of the SSL keystore if using SSL
# #
# export KMS_SSL_KEYSTORE_PASS=password # export KMS_SSL_KEYSTORE_PASS=password
# The full path to any native libraries that need to be loaded
# (For eg. location of natively compiled tomcat Apache portable
# runtime (APR) libraries
#
# export JAVA_LIBRARY_PATH=${HOME}/lib/native

View File

@ -31,7 +31,15 @@ BASEDIR=`cd ${BASEDIR}/..;pwd`
KMS_SILENT=${KMS_SILENT:-true} KMS_SILENT=${KMS_SILENT:-true}
source ${HADOOP_LIBEXEC_DIR:-${BASEDIR}/libexec}/kms-config.sh HADOOP_LIBEXEC_DIR="${HADOOP_LIBEXEC_DIR:-${BASEDIR}/libexec}"
source ${HADOOP_LIBEXEC_DIR}/kms-config.sh
if [ "x$JAVA_LIBRARY_PATH" = "x" ]; then
JAVA_LIBRARY_PATH="${HADOOP_LIBEXEC_DIR}/../lib/native/"
else
JAVA_LIBRARY_PATH="${HADOOP_LIBEXEC_DIR}/../lib/native/:${JAVA_LIBRARY_PATH}"
fi
# The Java System property 'kms.http.port' it is not used by Kms, # The Java System property 'kms.http.port' it is not used by Kms,
# it is used in Tomcat's server.xml configuration file # it is used in Tomcat's server.xml configuration file
@ -50,6 +58,7 @@ 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.http.port=${KMS_HTTP_PORT}";
catalina_opts="${catalina_opts} -Dkms.max.threads=${KMS_MAX_THREADS}"; 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.file=${KMS_SSL_KEYSTORE_FILE}";
catalina_opts="${catalina_opts} -Djava.library.path=${JAVA_LIBRARY_PATH}";
print "Adding to CATALINA_OPTS: ${catalina_opts}" print "Adding to CATALINA_OPTS: ${catalina_opts}"
print "Found KMS_SSL_KEYSTORE_PASS: `echo ${KMS_SSL_KEYSTORE_PASS} | sed 's/./*/g'`" print "Found KMS_SSL_KEYSTORE_PASS: `echo ${KMS_SSL_KEYSTORE_PASS} | sed 's/./*/g'`"

View File

@ -159,6 +159,15 @@ hadoop-${project.version} $ sbin/kms.sh start
NOTE: You need to restart the KMS for the configuration changes to take NOTE: You need to restart the KMS for the configuration changes to take
effect. effect.
** Loading native libraries
The following environment variable (which can be set in KMS's
<<<etc/hadoop/kms-env.sh>>> script) can be used to specify the location
of any required native libraries. For eg. Tomact native Apache Portable
Runtime (APR) libraries:
* JAVA_LIBRARY_PATH
** KMS Security Configuration ** KMS Security Configuration
*** Enabling Kerberos HTTP SPNEGO Authentication *** Enabling Kerberos HTTP SPNEGO Authentication