Thanks for the research, the root cause should be the wrong URL redirect 2015年5月7日 18:59于 dong wang <[email protected]>写道: @qianzhao, as tested, another discovery is that if I use the URL like: http://test.abc.com:8082/kylin/api/cache/cube/lbs_map_active_user_fact/update, the cube status of the "QUERY" kylin instance also works SUCCESSFULLY
thus, the problem should be something wrong with the communication between "ALL" mode instance and "QUERY" mode instances 2015-05-07 18:12 GMT+08:00 dong wang <[email protected]>: > @qianhao, @shaofeng, > > today, I tried to mockup a PUT request as you mentioned above with the > following different URLs: > 1, http://test.abc.com:8082/cube/lbs_map_new_user_fact/update > > nothing happened, even more, no log information received in the kylin > instance log file deployed with port 8082 > > 2, http://test.abc.com:8082/kylin/api/cache/all/all/update > > with this API, It works OK, the cube status is flushed SUCCESSFULLY, log > information received as shown below: > > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,469][INFO][org.apache.kylin.rest.controller.CacheController.wipeCache(CacheController.java: > 64)] - wipe cache type: ALL event:UPDATE name:all > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,488][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllSourceTable(MetadataManager. > java:244)] - Reloading SourceTable from folder > kylin_metadata(key='/table')@kylin_metadata@hbase > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,533][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllSourceTable(MetadataManager. > java:253)] - Loaded 8 SourceTable(s) > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,534][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllSourceTableExd(MetadataManag > er.java:201)] - Reloading SourceTable exd info from folder > kylin_metadata(key='/table_exd')@kylin_metadata@hbase > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,562][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllSourceTableExd(MetadataManag > er.java:210)] - Loaded 8 SourceTable EXD(s) > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,562][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllDataModel(MetadataManager.ja > va:291)] - Reloading DataModel from folder > kylin_metadata(key='/model_desc')@kylin_metadata@hbase > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,599][DEBUG][org.apache.kylin.metadata.MetadataManager.reloadAllDataModel(MetadataManager.ja > va:305)] - Loaded 8 DataModel(s) > [http-bio-8082-exec-7]:[2015-05-07 > 17:54:57,604][INFO][org.apache.kylin.rest.service.BasicService.resetOLAPDataSources(BasicService.jav > a:90)] - resetOLAPDataSources is called. > > 3, currently, since we deploy 3 kylin instance on the same machine with > different ports, and I set export KYLIN_HOME=/path_to_kylin at the very > beginning of the file bin/kylin.sh since we cannot set a global env > KYLIN_HOME > > 2015-05-07 17:50 GMT+08:00 Tao Wong <[email protected]>: > >> Cube status on query mode instance still can not change automatically. >> >> the all mode node seem to broadcast the query mode nodes,however ,the >> query >> node run with error as above and below: >> >> Caused by: java.lang.ClassNotFoundException: >> org.apache.kylin.query.schema.OLAPSchemaFactory >> 733 at java.net.URLClassLoader$1.run(URLClassLoader.java:366) >> 734 at java.net.URLClassLoader$1.run(URLClassLoader.java:355) >> 735 at java.security.AccessController.doPrivileged(Native Method) >> 736 at java.net.URLClassLoader.findClass(URLClassLoader.java:354) >> 737 at java.lang.ClassLoader.loadClass(ClassLoader.java:425) >> 738 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) >> 739 at java.lang.ClassLoader.loadClass(ClassLoader.java:358) >> 740 at java.lang.Class.forName0(Native Method) >> 741 at java.lang.Class.forName(Class.java:191) >> 742 at >> org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:209) >> >> 2015-05-07 14:17 GMT+08:00 Tao Wong <[email protected]>: >> >> > After I build a new segment. the kylin.log on the query mode node. >> > >> > kylin.log: >> > >> > [http-bio-8082-exec-1]:[2015-05-07 >> > >> 13:53:13,681][DEBUG][org.apache.kylin.rest.service.AdminService.getConfigAsString(AdminService >> > .java:91)] - Get Kylin Runtime Config >> > 3261 [http-bio-8082-exec-1]:[2015-05-07 >> > >> 13:56:08,971][INFO][org.apache.kylin.metadata.project.ProjectL2Cache.loadCache(ProjectL2Cache. >> > java:152)] - Loading L2 project cache for user >> > 3262 [http-bio-8082-exec-1]:[2015-05-07 >> > >> 13:56:08,974][INFO][org.apache.kylin.rest.controller.TableController.getHiveTables(TableContro >> > ller.java:74)] - Return all table metadata in 3 seconds >> > 3263 [http-bio-8082-exec-4]:[2015-05-07 >> 13:59:03,657][ERROR][org.apache.kylin.rest.controller.BasicController.handleError(BasicControl >> > ler.java:52)] - >> > 3264 java.lang.RuntimeException: Error instantiating >> > JsonCustomSchema(name=USER) >> > 3265 at >> > org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:217) >> > 3266 at >> > >> org.apache.calcite.model.JsonCustomSchema.accept(JsonCustomSchema.java:36) >> > 3267 at >> > org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:144) >> > 3268 at >> > org.apache.calcite.model.ModelHandler.<init>(ModelHandler.java:87) >> > 3269 at >> > org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:97) >> > 3270 at >> > >> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:145) >> > 3271 at java.sql.DriverManager.getConnection(DriverManager.java:571) >> > 3272 at java.sql.DriverManager.getConnection(DriverManager.java:187) >> > 3273 at >> > >> org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:17 >> > 3) >> > 3274 at >> > >> org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:164) >> > 3275 at >> > >> org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.ja >> > va:149) >> > 3276 at >> > >> org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119) >> > >> > 2015-05-07 9:15 GMT+08:00 Shi, Shaofeng <[email protected]>: >> > >> >> Dong, you can download a build directly from >> >> https://kylin.incubator.apache.org/download/; >> >> >> >> On 5/7/15, 7:26 AM, "周千昊" <[email protected]> wrote: >> >> >> >> >Hi, dong >> >> > #1 you don't have to add "http://" prefix for the >> >> kylin.rest.servers >> >> >config, >> >> > according to the log, the Broadcaster event has been >> >> >successfully >> >> >created, however there maybe some network issues when "ALL" server >> trying >> >> >to reach "QUERY" server, can you try to mockup a PUT request like >> >> >http://test.abc.com:8081/cube/lbs_map_new_user_fact/update to see if >> the >> >> >network is OK? >> >> > #2 yes you can git clone the "0.7.1-staging" branch to build the >> >> >binary >> >> > >> >> >dong wang <[email protected]>于2015年5月7日周四 上午12:10写道: >> >> > >> >> >> 1, please help to review the above 2 response first >> >> >> 2, in kylin.properties,currently we set kylin.rest.servers= >> >> >> test.abc.com:8080 >> >> >> ,test.abc.com:8081,test.abc.com:8082 and test.abc.com:8080 are >> the >> >> >>"ALL" >> >> >> instance, the other 2 are the "QUERY" kylin instances >> >> >> should we set with the 'http://' prefix like: >> kylin.rest.servers= >> >> >> >> >> >>http://test.abc.com:8080,http://test.abc.com:8081, >> >> http://test.abc.com:808 >> >> >>2 >> >> >> >> >> >> 2015-05-06 23:40 GMT+08:00 dong wang <[email protected]>: >> >> >> >> >> >> > @shaofeng, another question is that can I git clone the branch >> >> >> > "0.71-staging"( >> https://github.com/KylinOLAP/Kylin/tree/0.7.1-staging >> >> ) >> >> >>to >> >> >> > get the latest code to build the binary? >> >> >> > >> >> >> > 2015-05-06 23:38 GMT+08:00 dong wang <[email protected]>: >> >> >> > >> >> >> >> I double checked one piece of the above log of the "ALL" mode >> kylin >> >> >> >> instance: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>17:36:21,910][INFO][org.apache.kylin.common.restclient.Broadcaster$1.run( >> >> >>Broadcaster.java:71)] >> >> >> >> - new broadcast event:BroadcastEvent{type=cube, name=lbs_ma >> >> >> >> p_new_user_fact, action=update} >> >> >> >> 2553 [pool-7-thread-10]:[2015-05-06 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>17:36:21,911][DEBUG][org.apache.kylin.common.persistence.ResourceStore.pu >> >> >>tResource(ResourceStore.java:171)] >> >> >> >> - Saving resource /execute_output/f03d3c3c-68 >> >> >> >> f4-4593-b01d-2778fcaf098b-15 (Store kylin_metadata@hbase) >> >> >> >> 2554 [pool-7-thread-10]:[2015-05-06 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>17:36:21,921][DEBUG][org.apache.kylin.common.persistence.ResourceStore.pu >> >> >>tResource(ResourceStore.java:171)] >> >> >> >> - Saving resource /execute_output/f03d3c3c-68 >> >> >> >> f4-4593-b01d-2778fcaf098b-15 (Store kylin_metadata@hbase) >> >> >> >> 2555 [http-bio-8081-exec-5]:[2015-05-06 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>17:36:21,922][INFO][org.apache.kylin.rest.controller.CacheController.wipe >> >> >>Cache(CacheController.java:63)] >> >> >> >> - wipe cache type: CUBE event:UPDATE name:lb >> s_map_new_user_fact >> >> >> >> >> >> >> >> >> >> >> >> from the first line and the last line, it seems that it tries to >> >> call >> >> >> >> sync something related to 'rest', however, when I check the >> >> >>kylin.log >> >> >> for >> >> >> >> each of the "QUERY" mode kylin instances, no related log reponse >> to >> >> >>the >> >> >> >> rest sync >> >> >> >> >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> > >> > >
