Hi, everyone
I am trying to setup kylin inside Docker. working with Centos 7 and CDH 6.3
Everything is going well until I ran into some web ui issue.
kylin version:
47faa1810f21fa8c4c109b82af9eb09d44c2f0d14d245a94655aaf783780a143
apache-kylin-3.0.0-alpha2-bin-cdh60.tar.gz
appearance : kylin started but web ui returns 404 on every request
Issue 1 : keystored was required for https connector but no keystore was
shipped , and no document in kylin about how to deal with it :
following config from default $KYLIN_HOME/tomcat/conf/server.xml
<Connector port="7443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https"
secure="true"
keystoreFile="conf/.keystore" keystorePass="changeit"
clientAuth="false" sslProtocol="TLS" />
results in throwing the exception:
[main] core.StandardService:164 : Failed to initialize connector
[Connector[org.apache.coyote.http11.Http11Protocol-7443]]
org.apache.catalina.LifecycleException: Failed to initialize component
[Connector[org.apache.coyote.http11.Http11Protocol-7443]]
I work around Issue 1 by adding a dummy keystore using keytool
# cd $KYLIN_HOME && sudo -u kylin keytool -genkey -alias tomcat -keyalg RSA
-keystore .keystore -storepass changeit
but I consider it is a bad practice , hard to use and potential security
risks.
kylin should comment out the SSL enabled port , and document the SSL & keystore
settings for kylin admin .
Issue 2: dependency missing on commons-configuration
result in throwing following exception:
[localhost-startStop-1] [localhost].[/kylin]:164 : Exception sending context
initialized event to listener instance of class
[org.springframework.web.context.ContextLoaderListener]
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name
'org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping':
Invocation of init method failed; nested exception is
java.lang.NoClassDefFoundError:
org/apache/commons/configuration/ConfigurationException
I work around Issue 2 by downloading commons-configuration-1.10.jar from
mvnrepository.com, and put it in $KYLIN_HOME/tomcat/libs
maybe a symbolic link from any compatible version of commons-configuration jar
file could do the same.
commons-configuration-version.jar was shipped with hbase and hadoop and spark
and hive, but not with kylin.
and somehow kylin in my environment failed to locate it.
solve missing dependency may be obvious and easy for java developers , but
not true for everyone
Issue 3: scanning for unnecessary derbyLocale files under $SPARK_HOME.
result in error logs in following pattern , looks like it is scanning on every
possible locale ,not only this sample line
[localhost-startStop-1] scan.StandardJarScanner:146 : Failed to scan
[file:/usr/lib/spark/jars/derbyLocale_cs.jar] from classloader hierarchy
Issue 3 is unsolved, after patching Issue 2 kylin web UI is ready to use.
I do not understand why web ui is doing this scanning, maybe rooted in CDH6
spark ,
but since it is logged by kylin process, I think it is reasonable to report it .