You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kylin.apache.org by 88265920 <88...@qq.com> on 2017/06/09 16:59:50 UTC

kylin2.0.0版本 streaming build 一直在pending 状态

想尝试kylin 的 streaming 构建,但是build的时候一直在pending状态,下面是任务信息

Job Name 	test - 50_55 - BUILD - GMT+08:00 2017-06-09 14:57:32
Job ID 	67cf1818-9ac2-4303-91b1-e21d4125fba1
Status 	PENDING
Duration 	0.00 mins
MapReduce Waiting 	0.00 mins


#1 Step Name: Save data from Kafka
Duration: 0 seconds Waiting: 0 seconds
#2 Step Name: Extract Fact Table Distinct Columns
Duration: 0 seconds Waiting: 0 seconds
#3 Step Name: Build Dimension Dictionary
Duration: 0 seconds Waiting: 0 seconds
#4 Step Name: Save Cuboid Statistics
Duration: 0 seconds Waiting: 0 seconds
#5 Step Name: Create HTable
Duration: 0 seconds Waiting: 0 seconds
#6 Step Name: Build Cube with Spark
Duration: 0 seconds Waiting: 0 seconds
#7 Step Name: Convert Cuboid Data to HFile
Duration: 0 seconds Waiting: 0 seconds
#8 Step Name: Load HFile to HBase Table
Duration: 0 seconds Waiting: 0 seconds
#9 Step Name: Update Cube Info
Duration: 0 seconds Waiting: 0 seconds
#10 Step Name: Kafka Intermediate File Cleanup
Duration: 0 seconds Waiting: 0 seconds

请问这个是什么原因呢?

--
View this message in context: http://apache-kylin.74782.x6.nabble.com/kylin2-0-0-streaming-build-pending-tp8202.html
Sent from the Apache Kylin mailing list archive at Nabble.com.

Re: kylin2.0.0版本 streaming build 一直在pending 状态

Posted by ShaoFeng Shi <sh...@apache.org>.
Hi, Kylin uses a ZK lock to ensure only one Job engine instance is running.
The lock path "/kylin/job_engine/lock" is a path on Zookeeper, not a local
or HDFS folder I think. Can you double confirm your probem was solved by
making a local dir? Thanks.

2017-06-10 16:06 GMT+08:00 88265920 <88...@qq.com>:

> public class ZookeeperJobLock implements JobLock {
>     private Logger logger = LoggerFactory.getLogger(
> ZookeeperJobLock.class);
>
>     private static final String ZOOKEEPER_LOCK_PATH =
> "/kylin/job_engine/lock";
>
>     // 一直停留在这行代码
>     hasLock = sharedLock.acquire(3, TimeUnit.SECONDS);
>
> 问题原因是 zookeeper创建分布式锁的时候,系统目录不存在,代码停留在锁的那一行了,导致整个任务调度线程没有启动
>
> 解决:
> sudo mkdir /kylin/
> sudo mkdir /kylin/job_engine/
> sudo mkdir /kylin/job_engine/lock
> sudo chown kangjiao:kangjiao /kylin/job_engine/lock/
>
>
> --
> View this message in context: http://apache-kylin.74782.x6.
> nabble.com/kylin2-0-0-streaming-build-pending-tp8202p8206.html
> Sent from the Apache Kylin mailing list archive at Nabble.com.
>



-- 
Best regards,

Shaofeng Shi 史少锋

Re: kylin2.0.0版本 streaming build 一直在pending 状态

Posted by 88265920 <88...@qq.com>.
public class ZookeeperJobLock implements JobLock {
    private Logger logger = LoggerFactory.getLogger(ZookeeperJobLock.class);

    private static final String ZOOKEEPER_LOCK_PATH =
"/kylin/job_engine/lock";

    // 一直停留在这行代码
    hasLock = sharedLock.acquire(3, TimeUnit.SECONDS);

问题原因是 zookeeper创建分布式锁的时候,系统目录不存在,代码停留在锁的那一行了,导致整个任务调度线程没有启动

解决:
sudo mkdir /kylin/
sudo mkdir /kylin/job_engine/
sudo mkdir /kylin/job_engine/lock
sudo chown kangjiao:kangjiao /kylin/job_engine/lock/


--
View this message in context: http://apache-kylin.74782.x6.nabble.com/kylin2-0-0-streaming-build-pending-tp8202p8206.html
Sent from the Apache Kylin mailing list archive at Nabble.com.