I see the problem, you have set "kylin.job.controller.lock( or
kylin.job.lock)" to
"org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock"
in the old Kylin version, but when you upgrade to Kylin 2.2, this class has
been renamed, so when calling reflection to instantiate this class, it
occurs error, cuz it's not exists anymore.

See this:
https://github.com/apache/kylin/blob/0b172436d90012c6573720d94134001e728e5e03/core-common/src/main/java/org/apache/kylin/common/KylinConfigBase.java#L545

In Kylin 2.2, the default value for this config is
:"org.apache.kylin.storage.hbase.util.ZookeeperJobLock". And in the latest
code(2.5.x), the congratulation is deprecated and not used anymore, see the
pic below.

[image: image.png]

-- 


Regards!

Aron Tao

bubugao0809 <[email protected]> 于2018年12月1日周六 上午3:11写道:

>
>
> Yes, you got that. After removing that line , it works now.
> BTW, that old code is used when there are two job servers. What about it
> in the new version 2.2 now ?
>
>
>
> 在 2018-11-28 15:22:45,"JiaTao Tao" <[email protected]> 写道:
>
> One more information, class "org.apache.kylin.storage.hbase.util.
> ZookeeperDistributedJobLock" has been renamed and no longer exists in the
> latest code.
>
> --
>
>
> Regards!
>
> Aron Tao
>
>
> bubugao0809 <[email protected]> 于2018年11月26日周一 上午11:45写道:
>
>> Our cluster is using kylin 2.0 currently, and I am trying to upgrade to
>> 2.2.
>> I follow the step here
>> http://kylin.apache.org/docs/howto/howto_upgrade.html
>> (Including migrate, and update coprocessor, but I did not delete the
>> table in hbase in case any accident)
>> However I still get the following error:
>>
>> 2018-11-26 19:17:59,913 DEBUG [localhost-startStop-1]
>> hbase.HBaseConnection:279 : HTable 'kylin_metadata' already exists
>> 2018-11-26 19:18:00,941 WARN  [localhost-startStop-1]
>> support.XmlWebApplicationContext:551 : Exception encountered during context
>> initialization - cancelling refresh attempt:
>> org.springframework.beans.factory.UnsatisfiedDependencyException: Error
>> creating bean with name 'cubeController': Unsatisfied dependency expressed
>> through field 'cubeService'; nested exception is
>> org.springframework.beans.factory.UnsatisfiedDependencyException: Error
>> creating bean with name 'cubeMgmtService': Unsatisfied dependency expressed
>> through field 'jobService'; nested exception is
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'jobService' defined in URL
>> [jar:file:/home/kylin/kylin-2.0.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-server-base-2.2.0.jar!/org/apache/kylin/rest/service/JobService.class]:
>> Invocation of init method failed; nested exception is
>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> 2018-11-26 19:18:00,945 ERROR [localhost-startStop-1]
>> context.ContextLoader:350 : Context initialization failed
>> org.springframework.beans.factory.UnsatisfiedDependencyException: Error
>> creating bean with name 'cubeController': Unsatisfied dependency expressed
>> through field 'cubeService'; nested exception is
>> org.springframework.beans.factory.UnsatisfiedDependencyException: Error
>> creating bean with name 'cubeMgmtService': Unsatisfied dependency expressed
>> through field 'jobService'; nested exception is
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'jobService' defined in URL
>> [jar:file:/home/kylin/kylin-2.0.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-server-base-2.2.0.jar!/org/apache/kylin/rest/service/JobService.class]:
>> Invocation of init method failed; nested exception is
>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)
>> at
>> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
>> at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
>> at
>> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
>> at
>> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
>> at
>> org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:443)
>> at
>> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:325)
>> at
>> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
>> at
>> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5110)
>> at
>> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633)
>> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
>> at
>> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:1015)
>> at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:991)
>> at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
>> at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1127)
>> at
>> org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:2020)
>> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>> at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>> at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>> at java.lang.Thread.run(Thread.java:748)
>> Caused by:
>> org.springframework.beans.factory.UnsatisfiedDependencyException: Error
>> creating bean with name 'cubeMgmtService': Unsatisfied dependency expressed
>> through field 'jobService'; nested exception is
>> org.springframework.beans.factory.BeanCreationException: Error creating
>> bean with name 'jobService' defined in URL
>> [jar:file:/home/kylin/kylin-2.0.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-server-base-2.2.0.jar!/org/apache/kylin/rest/service/JobService.class]:
>> Invocation of init method failed; nested exception is
>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:588)
>> at
>> org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
>> at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
>> at
>> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
>> ... 28 more
>> Caused by: org.springframework.beans.factory.BeanCreationException: Error
>> creating bean with name 'jobService' defined in URL
>> [jar:file:/home/kylin/kylin-2.0.0/tomcat/webapps/kylin/WEB-INF/lib/kylin-server-base-2.2.0.jar!/org/apache/kylin/rest/service/JobService.class]:
>> Invocation of init method failed; nested exception is
>> java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1628)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
>> at
>> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
>> at
>> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
>> at
>> org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)
>> at
>> org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
>> at
>> org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:585)
>> ... 41 more
>> Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> at org.apache.kylin.common.util.ClassUtil.newInstance(ClassUtil.java:86)
>> at
>> org.apache.kylin.rest.service.JobService.afterPropertiesSet(JobService.java:120)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)
>> at
>> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)
>> ... 51 more
>> Caused by: java.lang.ClassNotFoundException:
>> org.apache.kylin.storage.hbase.util.ZookeeperDistributedJobLock
>> at
>> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
>> at
>> org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
>> at java.lang.Class.forName0(Native Method)
>> at java.lang.Class.forName(Class.java:264)
>> at org.apache.kylin.common.util.ClassUtil.forName(ClassUtil.java:71)
>> at org.apache.kylin.common.util.ClassUtil.newInstance(ClassUtil.java:84)
>> ... 54 more
>>
>>
>
>

Reply via email to