美文网首页
大数据开发学习笔记——flume集成hive

大数据开发学习笔记——flume集成hive

作者: 卿卿老祖 | 来源:发表于2018-12-07 17:48 被阅读12次

    又是周五啦~

    分享完就回家过周末~_~

    flume集成hive的笔记

    1、 确定你的flume在哪台主机上

    2、 确认该台主机上的flume是否可以正常使用?

    在指定的目录下,创建一个bigdata_page_to_hive.conf

    内容可以是官网的实例:http://flume.apache.org/FlumeUserGuide.html

    启动:

    flume-ng agent --conf conf --conf-file bigdata_page_to_hive.conf --name a1 -Dflume.root.logger=INFO,console

    3、 flume将数据写入到hive中

    3.1:验证你的hive是否可以成功使用

    3.2:创建表

    创建表

    3.3 flume的sink为hive

    发现我们需要用到hive的metastore服务,先看一下服务是否启动

    a1.sinks.k1.hive.metastore = thrift://master:9083

    可以采用telnet的方式判断端口是否通【但是最好是通过CDH界面】

    启动:

    nohup flume-ng agent --conf conf --conf-file bigdata_page_to_hive.conf --name a1 &

    发现异常

    java.lang.NoClassDefFoundError: org/apache/hive/hcatalog/streaming/RecordWriter

    1、 没有导入依赖

    2、 有可能maven没有下载完整

    3、 包冲突的问题

    没有依赖包----flume中缺少某个包

    1、 根据异常信息,确定缺少什么包

    根据网上的搜索信息,确定缺少某一个包:

    https://zhidao.baidu.com/question/923836961800918739.html

    find / -name 'hive-hcatalog-core*'

    根据link文件过滤、版本对比、猜测等,优先选择了一个jar包

    /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/jars/hive-hcatalog-core-1.1.0-cdh5.11.1.jar

    2、 如果找到的包正好是自己要的包的话,将包放在什么地方?

    通过flume-ng启动时产生的日志信息

    /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/flume-ng/lib/*

    3、 问题解决

    cp /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/jars/hive-hcatalog-streaming-1.1.0-cdh5.11.1.jar /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/lib/flume-ng/lib/

    可以采用链接的方式来解决:

    ln -s /opt/cloudera/parcels/CDH-5.11.1-1.cdh5.11.1.p0.4/jars/hive-hcatalog-streaming-1.1.0-cdh5.11.1.jar hive-hcatalog-streaming-1.1.0-cdh5.11.1.jar

    异常:java.lang.NoClassDefFoundError: org/apache/hadoop/hive/metastore/api/MetaException

    解决办法:

    异常:java.lang.ClassNotFoundException: org.apache.hadoop.hive.ql.session.SessionState

    解决办法:

    异常:java.lang.ClassNotFoundException: org.apache.hadoop.hive.cli.CliSessionState

    异常:org.apache.commons.cli.MissingOptionException: Missing required option: n

    异常:java.lang.ClassNotFoundException: com.facebook.fb303.FacebookService$Iface

    异常:Cannot stream to table that has not been bucketed : {metaStoreUri='thrift://master:9083', database='default', table='t_pages', partitionVals=[] }

    异常:org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat cannot be cast to org.apache.hadoop.hive.ql.io.AcidOutputFormat

    测试,在hive当中去看是否有当前数据

    4、 修改sources

    capacity 100 full, consider committing more frequently, increasing capacity, or increasing thread count

    5、 最好将channel的存储转为文件

    END。。

    来源:成都科多大数据科技有限公司

    相关文章

      网友评论

          本文标题:大数据开发学习笔记——flume集成hive

          本文链接:https://www.haomeiwen.com/subject/yxkxhqtx.html