hdp3.1平台安装kylin2.6教程和遇到的问题

hdp3.1平台安装kylin2.6教程和遇到的问题

  • Kylin的软件要求
  • 软件下载地址
  • 安装过程
  • 遇到的问题

Kylin的软件要求

• Hadoop: 2.7+, 3.1+ (since v2.5)
• Hive: 0.13 - 1.2.1+
• HBase: 1.1+, 2.0 (since v2.5)
• Spark (可选) 2.1.1+
• Kafka (可选) 1.0.0+ (since v2.5)
• JDK: 1.8+ (since v2.5)
• OS: Linux only, CentOS 6.5+ or Ubuntu 16.0.4+
我的测试环境使用的Horton的hdp3.1数据平台,因此尝试使用kylin最新的V2.6版本。

软件下载地址

https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz

安装过程

主要是参考kylin的官方教程,kylin的安装过程比较简单。

  1. 下载并解压软件
[hdp@hd5 ~]$ cd /home/hdp
[hdp@hd5 ~]$ wget https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz
[hdp@hd5 ~]$ tar zxvf apache-kylin-2.6.0-bin-hadoop3.tar.gz
[hdp@hd5 ~]$ mv apache-kylin-2.6.0-bin-hadoop3 kylin
  1. 配置环境变量 $KYLIN_HOME 指向 Kylin 文件夹,建议在.bash_profile增加这部分内容。
[hdp@hd5 ~]$ export KYLIN_HOME=/home/hdp/kylin
  1. 配置hadoop环境的配置文件
[hdp@hd5 ~]$ cd $KYLIN_HOME
[hdp@hd5 ~]$ mkdir hadoop-conf
[hdp@hd5 ~]$ cd hadoop-conf
[hdp@hd5 ~]$ ln -s /etc/hadoop/conf/core-site.xml core-site.xml
[hdp@hd5 ~]$ ln -s /etc/hadoop/conf/hdfs-site.xml hdfs-site.xml 
[hdp@hd5 ~]$ ln -s /etc/hadoop/conf/yarn-site.xml yarn-site.xml
[hdp@hd5 ~]$ ln -s /etc/hadoop/conf/mapred-site.xml mapred-site.xml
[hdp@hd5 ~]$ ln -s /etc/hadoop/conf/log4j.properties log4j.properties 
[hdp@hd5 ~]$ ln -s /etc/hive/3.0.1.0-187/0/hive-site.xml hive-site.xml
[hdp@hd5 ~]$ ln -s /etc/hbase/conf/hbase-site.xml hbase-site.xml
  1. 配置$KYLIN_HOME/conf/kylin.properties,指定hadoop的配置文件目录

kylin.env.hadoop-conf-dir=/home/hdp/kylin/hadoop-conf

  1. 配置$KYLIN_HOME/conf/kylin.properties,增加spark相关配置,直接复制官方教程的参考配置,根据自己环境调整。

###add by fangwh bgn
kylin.engine.spark-conf.spark.master=yarn
kylin.engine.spark-conf.spark.submit.deployMode=cluster
kylin.engine.spark-conf.spark.dynamicAllocation.enabled=true
kylin.engine.spark-conf.spark.dynamicAllocation.minExecutors=1
kylin.engine.spark-conf.spark.dynamicAllocation.maxExecutors=1000
kylin.engine.spark-conf.spark.dynamicAllocation.executorIdleTimeout=300
kylin.engine.spark-conf.spark.yarn.queue=default
kylin.engine.spark-conf.spark.driver.memory=1G
kylin.engine.spark-conf.spark.executor.memory=2G
kylin.engine.spark-conf.spark.yarn.executor.memoryOverhead=1024
kylin.engine.spark-conf.spark.executor.cores=1
kylin.engine.spark-conf.spark.network.timeout=600
kylin.engine.spark-conf.spark.shuffle.service.enabled=true
#kylin.engine.spark-conf.spark.executor.instances=1
kylin.engine.spark-conf.spark.eventLog.enabled=true
kylin.engine.spark-conf.spark.hadoop.dfs.replication=2
kylin.engine.spark-conf.spark.hadoop.mapreduce.output.fileoutputformat.compress=true
kylin.engine.spark-conf.spark.hadoop.mapreduce.output.fileoutputformat.compress.codec
=org.apache.hadoop.io.compress.DefaultCodec
kylin.engine.spark-conf.spark.io.compression.codec=org.apache.spark.io.SnappyCompress
ionCodec
###add by fangwh end

修改hdp特有在配置
kylin.engine.spark-conf.spark.driver.extraJavaOptions=-Dhdp.version=current
kylin.engine.spark-conf.spark.yarn.am.extraJavaOptions=-Dhdp.version=current
kylin.engine.spark-conf.spark.executor.extraJavaOptions=-Dhdp.version=current

  1. 配置使用本地安装的spark软件
    我没有用kylin2.6自带的spark,直接指向本地安装的spark。
[hdp@hd5 ~]$ mv spark spark232
[hdp@hd5 ~]$ ln -s /usr/hdp/current/spark2-client/ spark
  1. 将自带spark的jars目录下的xercesImpl-2.9.1.jar和commons-configuration-1.6.jar拷贝到/home/hdp/kylin/spark/jars/目录下。不然可能会出现错误。

Caused by: java.io.FileNotFoundException: /home/hdp/kylin/spark/jars/xercesImpl-2.9.1.jar (No such file or directory)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.configuration.ConfigurationException

[hdp@hd5 ~]$ sudo cp spark232/jars/xercesImpl-2.9.1.jar spark/jars/
[hdp@hd5 ~]$ sudo cp spark232/jars/commons-configuration-1.6.jar  spark/jars/
  1. 将hbase相关的jar包拷贝到spark/jars/目录下。
[hdp@hd5 ~]$ sudo cp /usr/hdp/current/hbase-client/lib/*.jar spark/jars/
  1. 为了避免重复上传 Spark jar 包到 Yarn,您可以手动上传一次,然后配置 jar 包的 HDFS 路径;请注意,HDFS 路径必须是全路径名。为了避免重复上传 Spark jar 包到 Yarn,您可以手动上传一次,然后配置 jar 包的 HDFS 路径;请注意,HDFS 路径必须是全路径名。
[hdp@hd5 ~]$ jar cv0f spark-libs.jar -C $KYLIN_HOME/spark/jars/ .
[hdp@hd5 ~]$ hadoop fs -mkdir -p /kylin/spark/
[hdp@hd5 ~]$ hadoop fs -put spark-libs.jar /kylin/spark/

kylin.engine.spark-conf.spark.yarn.archive=hdfs://hd1:8020/kylin/spark/spark-libs.jar

  1. 检查运行环境
    运行$KYLIN_HOME/bin/check-env.sh 脚本来进行环境检测,如果您的环境存在任何的问题,脚本将打印出详细报错信息。如果没有报错信息,代表您的环境适合 Kylin 运行。

  2. 启动kylin启动kylin
    运行 $KYLIN_HOME/bin/kylin.sh start 脚本来启动 Kylin。

  3. 使用 Kylin
    Kylin 启动后您可以通过浏览器 http://:7070/kylin 进行访问。
    其中 为具体的机器名、IP 地址或域名,默认端口为 7070。
    初始用户名和密码是 ADMIN/KYLIN。
    服务器启动后,您可以通过查看 $KYLIN_HOME/logs/kylin.log 获得运行时日志。

  4. 停止 Kylin
    运行 $KYLIN_HOME/bin/kylin.sh stop 脚本来停止 Kylin。

遇到的问题

  1. build的时候报错org.apache.hive.service.cli.HiveSQLException: Error while processing statement: Cannot modify …** at runtime. It is not in list of params that are allowed to be modified at runtime。
    解决办法:在hiveserver2.xml中加入以下参数,通配以|隔开
<property>
    <name>hive.security.authorization.sqlstd.confwhitelist.append</name>
    <value>mapred.*|hive.*|mapreduce.*|spark.*</value>
</property>
<property>
    <name>hive.security.authorization.sqlstd.confwhitelist</name>
    <value>mapred.*|hive.*|mapreduce.*|spark.*</value>
</property>
  1. 执行checkenv脚本,在检查hive的环境的时候卡住了
    原因是hive(beeline)在等待输入用户名和密码
    解决方案:增加hive(beeline)默认用户名和密码的配置
[root@hd5 0]# cat beeline-hs2-connection.xml
  <configuration  xmlns:xi="http://www.w3.org/2001/XInclude">
    <property>
      <name>beeline.hs2.connection.user</name>
      <value>hive</value>
    </property>
    <property>
      <name>beeline.hs2.connection.password</name>
      <value>hive</value>
    </property>    
  </configuration>

你可能感兴趣的:(安装文档)