Hi jiajing,
Thank you for your detailed analysis and the workaround provided by you.
Issue-1 and Issue-3 is not user-friendly and may mislead user, so we will try 
fix it in next release.
For Issue02, since we test kylin binary on CDH6.1(but not CDH6.2 or higher 
version) before release, so we did not face the class miss problem. We will 
consider check in more newer version of CDH.
We will be glad if hear more suggestion from you in the future.

----------------
Best wishes,
Xiaoxiang Yu


发件人: Jiajing Li <[email protected]>
答复: "[email protected]" <[email protected]>
日期: 2019年10月17日 星期四 11:23
收件人: user <[email protected]>
主题: web ui error on apache-kylin-3.0.0-alpha2-bin-cdh60, issue reporting and 
workaround

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 .



Reply via email to