CDH 5.9 之 Kylin 安装 (SuSE Linux Enterprise 12 SP1)

原创
2016/12/28 11:21
阅读数 1.2K

##前言

Kylin的官网上,关于安装部分,只有寥寥数语,但是很多人在安装Kylin的时候,都遇到各种问题。那么这个到底是什么情况呢? 原因很简单:Kylin的check-env.sh,有点弱。很多时候,用户在安装kylin时候,并没有花太多时间去准备基础环境,匆匆忙忙就开始安装了,然后依赖于check-env.sh来检查环境,以为通过了就肯定没事。最后就陷入各种莫名其妙的错误,无法自拔。

##前提条件

Kylin的安装关键,并不在Kylin本身,而是在基础环境。Kylin依赖4大组件,hdfs,hive,hbase和zookeeper。Kylin能不能正常运行,和上述4大组件是否运行正常,以及是否能够在安装Kylin的主机上,以客户端方式正常访问,有着莫大的关系。

  1. 和hdfs的关系

    kylin依赖于hdfs存储数据,所以kylin要有hdfs的写权限,必须有/kylin目录

  2. 和hive的关系

    kylin需要在hive里建表,所以必须有hive的建表权限

  3. 和yarn的关系

    kylin的作业都是map reduce作业,是通过yarn管理的。kylin会读取yarn中作业的状态,以判断作业的状态。yarn的history log如果没有配好,会导致kylin无法找到单步作业运行的正确状态,结果无法转到下一步。

##安装步骤

  1. 环境检查

#hdfs检查
#使用hadoop命令,检查集群上的配置
hadoop fs -ls /kylin #检查是否有kylin目录
hadoop fs -ls /user/history #检查是否有history目录
#hive检查
#使用hive或者beeline登录集群
  1. 应用安装

  2. 下载最新的包,这个没有问题。
cd /usr/local/bin
wget http://apache.fayea.com/kylin/apache-kylin-1.6.0/apache-kylin-1.6.0-cdh5.7-bin.tar.gz
tar zxvf apache-kylin-1.6.0-cdh5.7-bin.tar.gz
  1. 执行检查程序
# /usr/local/bin/apache-kylin-1.6.0-cdh5.7-bin/bin.check-env.sh

提示permission denied的错误。原来此处要用hadoop用户,才能在hdfs上创建目录。别看你是系统管理员,一样权限不足。解决的方法是:

```
su - hdfs
/usr/local/bin/apache-kylin-1.6.0-cdh5.7-bin/bin.check-env.sh
```

这次就检查通过了。

kylin的文档,真的不怎么样,所以只能自己去找答案.

踩坑之用户管理

Kylin的用户管理,居然没有文档,只有一个很简单的faq里,很隐晦的提了一句。 Kylin采用多种方式管理用户。最简单的是自己在配置文件里管理用户。用户名是明文,密码是经过encode的密文。 具体的配置文件为:/opt/apache-kylin-2.0.0-bin/tomcat/webapps/kylin/WEB-INF/classes/kylinSecurity.xml 要修改的地方在:

    <beans profile="testing">
        <util:list id="adminAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_ADMIN</value>
            <value>ROLE_MODELER</value>
            <value>ROLE_ANALYST</value>
        </util:list>
        <util:list id="modelerAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_MODELER</value>
            <value>ROLE_ANALYST</value>
        </util:list>
        <util:list id="analystAuthorities"
                   value-type="org.springframework.security.core.authority.SimpleGrantedAuthority">
            <value>ROLE_ANALYST</value>
        </util:list>

        <bean class="org.springframework.security.core.userdetails.User" id="adminUser">
            <constructor-arg value="ADMIN"/>
            <constructor-arg
                    value="$2a$10$o3ktIWsGYxXNuUWQiYlZXOW5hWcqyNAFQsSSCSEWoC/BRVMAUjL32"/>
            <constructor-arg ref="adminAuthorities"/>
        </bean>
        <bean class="org.springframework.security.core.userdetails.User" id="modelerUser">
            <constructor-arg value="MODELER"/>
            <constructor-arg
                    value="$2a$10$o3ktIWsGYxXNuUWQiYlZXOW5hWcqyNAFQsSSCSEWoC/BRVMAUjL32"/>
<!--
                    value="$2a$10$Le5ernTeGNIARwMJsY0WaOLioNQdb0QD11DwjeyNqqNRp5NaDo2FG"/>
-->
            <constructor-arg ref="modelerAuthorities"/>
        </bean>
        <bean class="org.springframework.security.core.userdetails.User" id="analystUser">
            <constructor-arg value="ANALYST"/>
            <constructor-arg
                    value="$2a$10$o3ktIWsGYxXNuUWQiYlZXOW5hWcqyNAFQsSSCSEWoC/BRVMAUjL32"/>
<!--
                    value="$2a$10$s4INO3XHjPP5Vm2xH027Ce9QeXWdrfq5pvzuGr9z/lQmHqi0rsbNi"/>
-->
            <constructor-arg ref="analystAuthorities"/>
        </bean>

        <bean id="kylinUserAuthProvider"
              class="org.apache.kylin.rest.security.KylinAuthenticationProvider">
            <constructor-arg>
                <bean class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
                    <property name="userDetailsService">
                        <bean class="org.springframework.security.provisioning.InMemoryUserDetailsManager">
                            <constructor-arg>
                                <util:list
                                        value-type="org.springframework.security.core.userdetails.User">
                                    <ref bean="adminUser"></ref>
                                    <ref bean="modelerUser"></ref>
                                    <ref bean="analystUser"></ref>
                                </util:list>
                            </constructor-arg>
                        </bean>
                    </property>
                    <property name="passwordEncoder" ref="passwordEncoder"></property>
                </bean>
            </constructor-arg>
        </bean>

        <!-- user auth -->
        <bean id="passwordEncoder"
              class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>

        <scr:authentication-manager alias="testingAuthenticationManager">
            <!-- do user ldap auth -->
            <scr:authentication-provider ref="kylinUserAuthProvider"></scr:authentication-provider>
        </scr:authentication-manager>
    </beans>
展开阅读全文
打赏
0
1 收藏
分享
加载中
pearma博主

引用来自“pearma”的评论

根据我的经验,多半是环境变量,jar路径之类的问题,你从这个角度去找原因吧。

引用来自“ss6688”的评论

谢谢,以前是CDH5.7版本的,kylin可以正常使用,后来升级到了CDH5.9,kylin就出现问题,总是报org.springframework.beans.factory.support方面的问题,目前网上也确实没找到解决方案,只是想看下您的安装步骤或者部署方案,跟我自己的做下对比,谢谢了啊

引用来自“pearma”的评论

我CDH5.9的环境已经没有了,所以无法告诉你安装步骤。我计划下周开始安装CDH 5.10,安装完了我也会装Kylin,到时候我一定把步骤写在博客里。

引用来自“ss6688”的评论

好。记得分享哦,谢谢梨叔
不好意思,隔了这么久才回复.也不知道你的问题解决没有.我把博客更新一下。
2017/07/14 07:02
回复
举报

引用来自“pearma”的评论

根据我的经验,多半是环境变量,jar路径之类的问题,你从这个角度去找原因吧。

引用来自“ss6688”的评论

谢谢,以前是CDH5.7版本的,kylin可以正常使用,后来升级到了CDH5.9,kylin就出现问题,总是报org.springframework.beans.factory.support方面的问题,目前网上也确实没找到解决方案,只是想看下您的安装步骤或者部署方案,跟我自己的做下对比,谢谢了啊

引用来自“pearma”的评论

我CDH5.9的环境已经没有了,所以无法告诉你安装步骤。我计划下周开始安装CDH 5.10,安装完了我也会装Kylin,到时候我一定把步骤写在博客里。
好。记得分享哦,谢谢梨叔
2017/02/09 09:25
回复
举报
pearma博主

引用来自“pearma”的评论

根据我的经验,多半是环境变量,jar路径之类的问题,你从这个角度去找原因吧。

引用来自“ss6688”的评论

谢谢,以前是CDH5.7版本的,kylin可以正常使用,后来升级到了CDH5.9,kylin就出现问题,总是报org.springframework.beans.factory.support方面的问题,目前网上也确实没找到解决方案,只是想看下您的安装步骤或者部署方案,跟我自己的做下对比,谢谢了啊
我CDH5.9的环境已经没有了,所以无法告诉你安装步骤。我计划下周开始安装CDH 5.10,安装完了我也会装Kylin,到时候我一定把步骤写在博客里。
2017/02/09 08:53
回复
举报

引用来自“pearma”的评论

根据我的经验,多半是环境变量,jar路径之类的问题,你从这个角度去找原因吧。
谢谢,以前是CDH5.7版本的,kylin可以正常使用,后来升级到了CDH5.9,kylin就出现问题,总是报org.springframework.beans.factory.support方面的问题,目前网上也确实没找到解决方案,只是想看下您的安装步骤或者部署方案,跟我自己的做下对比,谢谢了啊
2017/02/08 16:18
回复
举报
pearma博主
根据我的经验,多半是环境变量,jar路径之类的问题,你从这个角度去找原因吧。
2017/02/08 16:11
回复
举报
hive装好了,可以正常使用的,我的kylin_home也配置了啊
2017/02/08 16:04
回复
举报
pearma博主

引用来自“ss6688”的评论

引用来自“ss6688”的评论

引用来自“pearma”的评论

引用来自“ss6688”的评论

梨叔,我是小白,请问您的kylin1.6.0在CDH 5.9上部署成功了吗?求分享经验或文档,急,万分感激!
安装成功了,但是的确没啥特别好分享的。你看我都写心得。如果你有具体问题,就直接问吧。

回复@pearma : 我这个安装成功后能启动但是login页面要么显示不了,显示了又登不进去,想知道您是怎么安装的,或者后面又加了什么步骤

回复@ss6688 : 手工对tomcat做了很多工作,但是正常情况下都是kylin直接启动tomcat的
我就设置了KYLIN_HOME,其他没啥特别的。你的hive装好了吗?
2017/02/08 15:52
回复
举报

引用来自“ss6688”的评论

引用来自“pearma”的评论

引用来自“ss6688”的评论

梨叔,我是小白,请问您的kylin1.6.0在CDH 5.9上部署成功了吗?求分享经验或文档,急,万分感激!
安装成功了,但是的确没啥特别好分享的。你看我都写心得。如果你有具体问题,就直接问吧。

回复@pearma : 我这个安装成功后能启动但是login页面要么显示不了,显示了又登不进去,想知道您是怎么安装的,或者后面又加了什么步骤

回复@ss6688 : 手工对tomcat做了很多工作,但是正常情况下都是kylin直接启动tomcat的
2017/02/08 15:42
回复
举报

引用来自“pearma”的评论

引用来自“ss6688”的评论

梨叔,我是小白,请问您的kylin1.6.0在CDH 5.9上部署成功了吗?求分享经验或文档,急,万分感激!
安装成功了,但是的确没啥特别好分享的。你看我都写心得。如果你有具体问题,就直接问吧。

回复@pearma : 我这个安装成功后能启动但是login页面要么显示不了,显示了又登不进去,想知道您是怎么安装的,或者后面又加了什么步骤
2017/02/08 15:41
回复
举报
pearma博主

引用来自“ss6688”的评论

梨叔,我是小白,请问您的kylin1.6.0在CDH 5.9上部署成功了吗?求分享经验或文档,急,万分感激!
安装成功了,但是的确没啥特别好分享的。你看我都写心得。如果你有具体问题,就直接问吧。
2017/02/08 15:38
回复
举报
更多评论
打赏
13 评论
1 收藏
0
分享
返回顶部
顶部