Apache Kylin-2.6.2安装文档
官网:https://archive.apache.org/dist/kylin/
根据hadoop版本和hbase版本选择对应的安装包
kylin需要依赖hive,对应的hive版本需要到github上https://github.com/apache/kylin 选择对应的branch后再到.pom文件中查看对应hive的dependency版本
注意,hive的版本一定要选对,否则会有很多问题。
- 本文所用环境为hadoop3.x,hbase2.1.0,hive3.1.1
一、安装前准备
-
默认已经安装好了hdfs,yarn,mr,zookeeper,hbase,hive等服务,且已经分配好了hadoop用户权限等,默认kylin的运行账户需要具有Hadoop集群的操作权限。
-
下载kylin安装包
apache-kylin-2.6.2-bin-hadoop3.tar.gz
-
解压tar包,并配置环境变量
KYLIN_HOME
tar -zxvf apache-kylin-2.6.2-bin-hadoop3.tar.gz
cd apache-kylin-2.6.2-bin-hadoop3.tar.gz
export KYLIN_HOME=
`pwd`
-
关于spark
- kylin2.6.x开始不再提供内置的spark包,可以直接运行
./bin/download-spark.sh
来直接下载与当前版本匹配的spark。下载后的spark默认在${kylin_home}/spark
下 - 若要使用自行下载的spark则可以跳过此步
- kylin2.6.x开始不再提供内置的spark包,可以直接运行
-
检查运行环境
./bin/check-env.sh
- 若报错
Error: Could not find or load main class org.apache.hadoop.hbase.util.GetJavaProperty
,说明hbase依赖未找到,这是kylin的一个BUG,可能会在高版本中进行修复,当前版本的解决方法如下:
1 运行hbase classpath
,报错,则表示需要将hbase的依赖jar包添加到class path中。
2 直接修改hbasevim ${hbase_home}/bin/hbase
,找到CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar
,在后面添加hbase的jar包路径并修改为CLASSPATH=${CLASSPATH}:$JAVA_HOME/lib/tools.jar:$HBASE_JAR_HOME
,其中$HBASE_JAR_HOME
需要在profile
中自行定义为环境变量
二、进行安装
- 继续运行
./bin/check-env.sh
,无错误弹出,则开始启动kylin,运行./bin/kylin.sh start
- 若报错
java.net.UnknownHostException: xxx.xxx.xxx.xxx:2181: invalid IPv6 address
这是由于zk中的不正确的配置导致的,端口号在zk connectString中写了两遍。
解决方法,vim ${hbase_home}/conf/hbase-site.xml
,找到hbase.zookeeper.quorum
,该项只需要配置host,不需要配置port,因此将port去掉,重启hbase即可。 - 继续运行会出现hive相关包找不到的错误,这也是kylin依赖获取的一个BUG,解决方案有两种(建议方案2):
- 直接修改文件
vim ${kylin_home}/bin/find-hive-dependency.sh
,找到末尾的hive_dependency
变量,复制,vim ${kylin_home}/bin/kylin.sh
,将变量添加到如图所示位置
- 方案1中是将hive下的整个lib添加到依赖路径中,因此可能会与其他组件(hbase,hadoop)中的jar包冲突,因此建议选择性的拷贝hive/lib下的jar到kylin/lib下。建议拷贝的jar包有:ant*,antlr*,av*,commons-*,datanucleus-*,hive*,javax.jdo*,jdo.api*,libfb303*,libthrift*,mysql*(需要另外拷贝mysql-connector-java包),sketches*,snappy-*,其他的jar包不要拷贝。
- 直接修改文件
- 继续运行
./bin/kylin.sh start
,没有报错,则表示kylin启动成功。浏览器访问http://{hostname}:7070/kylin
,输入账号密码:ADMIN/KYLIN,登陆成功。
三、验证安装
- 运行
./bin/sample.sh
,将会在hive生成一个示例cube,并已经配置好了其对应的data model。点击kylin web页面中的model页应该就可以看到这两个示例cube。 - 点击非stream的那个cube,右边的第一个下拉框选择build。
- 点击monitor页,就可以看到对应的action process的进度。等待进度条100%。
- 在insight页中,随便查询左侧显示的一张表,select * from XXX,出现正确数据,则验证安装成功
四、配置spark作为cube engine
- 配置spark依赖,由于spark2.x已经没有spark-assembly相关包,因此需要手动将jar拷贝到kylin的lib目录中(与hive一样),建议拷贝的jar包有:scala*,spark*。
- 修改kylin.properties,将kylin.engine.spark-conf.*开头的配置项去掉注释,使用默认值即可。
- 配置spark环境变量,SPARK_HOME,PATH,CLASSPATH等
- 启动spark。
- 在kylin web页面中,在model页中选择刚刚build成功的那个cube,下拉选择clone,随便输入一个与原来不相同的名称。在adventure配置中,选择cube engine为spark,保存。再次build,等待进度条100%,即表示验证成功。