,本篇文章Fayson主要介绍在非Kerberos的CDH集群中使用Flume采集Kafka数据写入Kudu。...已安装 2.Kudu与Impala服务已安装 3.Kudu与Impala已集成 4.集群未启用Kerberos 2.环境准备 ---- 1.下载kudu-flume-sink依赖包,地址如下 https...://repository.cloudera.com/artifactory/cloudera-repos/org/apache/kudu/kudu-flume-sink/1.4.0-cdh5.12.1.../kudu-flume-sink-1.4.0-cdh5.12.1.jar (可左右滑动) ?.../root/kudu-flume-sink-1.4.0-cdh5.12.1.jar /opt/cloudera/parcels/CDH/lib/flume-ng/lib/ (可左右滑动) ?
Kudu分区策略Kudu表分为多个tablet,理想情况下,tablets应该相对平等地拆分表的数据,Kudu目前没有自动拆分预先存在的 tablets 的机制。所以在创建Kudu表时必须指定分区。...Kudu表的分区分为范围分区、hash分区、高级分区三种,分区字段必须来自于主键字段。使用Impala创建表时,可以使用 PARTITION BY 子句指定分区。...kuduClient.createTable("t_range_partition", schema, options);//关闭kuduClient对象kuduClient.close();以上代码执行完成后,可以通过Kudu...Arrays.asList("id"),10 );//创建表kuduClient.createTable("t_hash_partition", schema, options);以上代码创建完成后,可以通过Kudu...lower,upper );}//创建表kuduClient.createTable("t_hash_range_partition", schema, options);以上代码创建完成后,可以通过Kudu
以上业务系统,既要求对数据进行随机读写,又要求对数据进行批量分析操作,针对以上业务场景我们就可以选择Kudu。...一、Kudu概念Kudu是Cloudera在2015年9月开源的分布式数据存储引擎,其结合了HDFS和HBase的优势,可以同时提供高效的随机访问以及数据扫描能力。...Kudu支持数据的实时插入和分析,为实时的OLAP计算提供了另外一种选择。...Kudu的随机读写速度和HBase相似,但是达不到HBase随机读写性能,Kudu批量查询数据性能媲美HDFS parquet,但是比HDFS批量查询慢,所以kudu更像是HDFS与HBase的一个折中选择...二、Kudu 适用场景Kudu适用于以下场景:对数据既支持扫描(scan)又支持随机访问(random access)同时具有高性能,简化用户复杂的混合架构场景。数据需要更新,避免额外的数据迁移。
scala> val a = List("hadoop hive spark flink flume", "kudu hbase sqoop storm") a: List[String] = List...(hadoop hive spark flink flume, kudu hbase sqoop storm) // 使用map将文本行转换为单词数组 scala> a.map(x=>x.split(..., kudu, hbase, sqoop, storm) 使用flatMap简化操作 参考代码 scala> val a = List("hadoop hive spark flink flume",... "kudu hbase sqoop storm") a: List[String] = List(hadoop hive spark flink flume, kudu hbase sqoop storm...) scala> a.flatMap(_.split(" ")) res7: List[String] = List(hadoop, hive, spark, flink, flume, kudu,
Kudu架构一、Kudu存储模型及概念Kudu有自己的数据存储模型,不依赖于HDFS、Hive、HBase其他大数据组件。...Kudu有自己的集群,数据存储在Kudu自己的集群Tablet Server中。Kudu的存储模型是有结构的表,表中有主键,并且主键唯一,不能重复。事务支持上与HBase类似,只支持行级ACID事务。...Kudu是列式存储,支持数据压缩。Kudu不支持标准SQL,支持Nosql样式的API,例如:put,get,delete,scan。...一般企业中kudu与impala进行整合使用,可以使用SQL对数据进行实时OLAP分析。Table:table是数据存储在Kudu的位置,具有schema和全局有序的 primary key。...二、Kudu table存储原理对于一张特定的Kudu表,存储结构如下:Kudu数据存储实现如下:一个table根据hash或者range分区分成多个tablet,每个tablet
Kudu Java Api操作Kudu没有提供标准SQL操作,支持Nosql样式的API,这里使用Java 操作Kudu ,包括创建表、插入数据、修改删除数据、删除表等操作,值得注意的是,Java...api直接操作Kudu在开发中不是常用的方式,常用方式是Spark操作Kudu、Kudu与Impala整合写SQL操作Kudu。...一、添加Maven依赖Java操作Kudu需要在创建好的Maven项目中导入kudu-client依赖,此外我们这里使用的是CDH版本的kudu依赖包,maven默认不支持CHD相关依赖,...-- 添加kudu-client依赖 --> org.apache.kudu kudu-clientKudu查看到对应的表。 三、插入数据向Kudu表中插入数据经过以下步骤:创建KuduClient对象,连接Kudu集群。
Kudu集群搭建一、kudu 安装包Kudu官网没有提供好编译好的Kudu安装包,我们可以下载源码进行编译获取安装包,这里为了方便我们直接使用Cloudera 提供的CDH版本kudu安装包:centos7...下载地址:http://archive.cloudera.com/kudu/redhat/7/x86_64/kudu/5/RPMS/x86_64/下载对应如下几个rpm安装包即可:kudu-1.4.0+...:service kudu-tserver start2、检查kudu是否启动成功在每台节点可以执行“ps aux|grep kudu”来查看对应的Kudu进程。...如果启动Kudu出错或者没有对应的Kudu进程,可以在/var/log/kudu目录下查看日志。...3、访问Kudu WebUI页面Kudu启动成功后,可以通过访问http://Master Server IP:8051来访问Kudu WebUI。
Flink操作KuduFlink主要应用场景是流式数据处理上,有些公司针对流式数据使用Flink实时分析后将结果存入Kudu,例如快手公司。...这里将实时计算的结果存入Kudu需要自定义Flink Kudu Sink。...场景:Flink实时读取Socket数据,将结果存入Kudu表t_flink_result,为了方便操作不再创建Kudu外表,这里在Impala中创建Kudu内表t_flink_result:create...对象 var kuduClient :KuduClient = _ //Kudu 表对象 var kuduTable :KuduTable = _ //创建KuduSession 客户端会话...var session: KuduSession = _ //初始化时调用一次,这里初始化连接Kudu的对象 override def open(parameters: Configuration)
Spark操作Kudu一、添加Maven依赖使用SparkSQL操作Kudu,这里需要导入Kudu与SparkSQL整合的包和SparkSQL的包,在Maven中导入如下依赖...--添加kudu-spark 依赖--> org.apache.kudu kudu-spark2_2.11...,KUDU_TABLE) /** * 查询Kudu表数据 */// queryData(kuduContext,sc,KUDU_TABLE) /** *...向Kudu表更新数据 */// updateData(session,kuduContext,KUDU_TABLE) /** * 删除Kudu表中的数据 */...).mode(SaveMode.Append).format("kudu").save()//再次查询Kudu表 t_spark_kudu 数据session.read.options(kuduOptionMap
简单拓扑结构 这种模式是将多个flume顺序连接起来了,从最初的source开始到最终sink传送的目的存储系统。...此模式不建议桥接过多的flume数量, flume数量过多不仅会影响传输速率,而且一旦传输过程中某个节点flume宕机,会影响整个传输系统。...image.png 复制和多路复用 Flume支持将事件流向一个或者多个目的地。...image.png 负载均衡和故障转移 Flume支持使用将多个sink逻辑上分到一个sink组,sink组配合不同的SinkProcessor可以实现负载均衡和错误恢复的功能。...用flume的这种组合方式能很好的解决这一问题,每台服务器部署一个flume采集日志,传送到一个集中收集日志的flume,再由此flume上传到hdfs、hive、hbase等,进行日志分析。
Kudu读写数据过程一、写入数据当 Client 请求写数据时,先根据主键从 Mater Server 中获取要访问的目标 Tablets,然后到对应的 Tablet 获取数据。...因为 KUDU 表存在主键约束,所以需要进行主键是否已经存在的判断。一个 Tablet 中存在很多个 RowSets,为了提升性能,我们要尽可能地减少要扫描的 RowSets 数量。
Kudu不支持标准SQL操作,可以将Kudu与Apache Impala紧密集成,impala天然就支持兼容kudu,允许开发人员使用Impala的SQL语法从Kudu的tablets 插入,查询,更新和删除数据...,Kudu与Impala整合本质上就是为了可以使用Hive表来操作Kudu,主要支持SQL操作。...一、Kudu与Impala整合配置先安装Impala后安装Kudu,Impala默认与Kudu没有形成依赖,这里需要首先在Impala中开启Kudu依赖支持,打开Impala->“配置”->“Kudu服务...内部表由impala管理,当创建表时,'kudu.master_address'指定Kudu集群,在ClouderaManager中impala配置了支持Kudu,也可以不指定;不能设置属性'kudu.table_name...('kudu.table_name'='personInfo1');注意:使用 “show create table t_kudu_map”查看表 t_kudu_map的建表语句,发现底层映射的Kudu
kudu Kudu是为Apache Hadoop平台开发的列式数据库。Kudu拥有Hadoop生态系统应用程序的常见技术属性:它可以商用硬件上运行,可横向扩展,并支持高可用性操作。...kudu-plus是什么 kudu-plus是可视化管理kudu的工具,由于kudu虽然是列式数据库,但是可以表达成关系数据库类似的表和字段等信息,某种情况下通过可视化管理更加轻松。...java操作分区: 查看测试用例部分代码 kudu主键设计: 每个Kudu表必须声明由一列或多列组成的主键。与RDBMS主键一样,Kudu主键强制执行唯一性约束。...v0.0.1(当前) 查看kudu集群所有表 创建kudu表 删除kudu表 重命名kudu表 更新kudu表结构:修改非主键列名、修改非主键列默认值、修改非主键列的是否允许为空、新增非主键字段、删除非主键字段...查看kudu表分区信息 预览kudu表数据 编辑kudu表非主键列数据 删除kudu表数据行 新增kudu表数据行 检索kudu表数据添加筛选条件 v0.0.2功能(预期) 创建kudu表可以添加hash
一、Flume简介 flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。...但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.9.4.... 及代码架构,重构后的版本统称为 Flume NG(next generation);改动的另一原因是将 Flume 纳入 apache 旗下,cloudera Flume 改名为 Apache Flume...4.2、Flume数据流 1)Flume 的核心是把数据从数据源收集过来,再送到目的地。...4.3、Flume可靠性 Flume 使用事务性的方式保证传送Event整个过程的可靠性。
ClickHouse与Kudu对比kudu 2015年9月28号出现第一个测试版本0.5.0,2016年2月26第一个正式版0.7.发布。clickhouse 2018年3月开源正式版出现。...元数据管理Kudu使用Master Server管理元数据。ClickHouse使用Zookeeper管理元数据。...SQL支持Kudu不支持标准SQL,有put,get等api代码操作;与Impala整合后支持SQL操作。ClickHouse对于标准SQL的支持相对完好。...Kudu对数据快速读取和快速插入数据的场景支持比较好,原子数据查询延迟低,与Impala整合可以做OLAP操作。...扩展性Kudu由于Tablet Server的特殊结构,扩展性差,支持300个节点。ClickHouse集群节点无上限。
1 Flume丢包问题 单机upd的flume source的配置,100+M/s数据量,10w qps flume就开始大量丢包,因此很多公司在搭建系统时,抛弃了Flume,自己研发传输系统,但是往往会参考...一些公司在Flume工作过程中,会对业务日志进行监控,例如Flume agent中有多少条日志,Flume到Kafka后有多少条日志等等,如果数据丢失保持在1%左右是没有问题的,当数据丢失达到5%左右时就必须采取相应措施...2 Flume与Kafka的选取 采集层主要可以使用Flume、Kafka两种技术。 Flume:Flume 是管道流方式,提供了很多的默认实现,让用户通过参数部署,及扩展API。 ...Kafka和Flume都是可靠的系统,通过适当的配置能保证零数据丢失。然而,Flume不支持副本事件。...(选择性发往指定通道) 11 Flume监控器 1)采用Ganglia监控器,监控到Flume尝试提交的次数远远大于最终成功的次数,说明Flume运行比较差。主要是内存不够导致的。
Kudu基于Cloudera Manager安装及配置使用Kudu一般都会和impala进行整合,impala与Hive是强依赖关系,需要安装Hive,安装Hive需要安装HDFS等,以上各个技术组件的版本都需要对应匹配...,由于Kudu没有直接的安装包,为了方便我们可以选择基于Cloudera Manager进行安装Kudu及相关大数据组件。...start cloudera-scm-agent#登录Cloudera Manager user:admin pwd:adminhttp://cm1:7180二、登录ClouderaManager平台安装Kudu...三、选择Master Server 两台节点和Tablet Server 3台节点四、配置Kudu WAL目录和数据目录等待安装完成即可,可以通过Cloudera Manager 界面来访问Kudu。
二 性能调优篇 1 kudu性能调优和报错方案解决 报错一:tablet初始化时长很久 解决方案: 升级版本到kudu1.6.0以上版本 .参考:https://kudu.apache.org/...Minitump可以通过电子邮件发送给Kudu开发人员或附加到JIRA,以帮助Kudu开发人员调试崩溃。...报错六:impala操作kudu超时 解决方案:kudu_operation_timeout_ms = 1800000 添加描述 报错七:CDH安装kudu设置master 解决方案: --master_addresses...kudu表如果不新建的情况下,在表中增加字段,对数据是没有影响的,kudu中增加一个字段user_id,之前impala已经和kudu进行关联操作了, impala读取kudu的数据按照之前的所定义的字段读取的...; import org.apache.kudu.Schema; import org.apache.kudu.Type; import org.apache.kudu.client.*; import
10月26日,Kudu在其社区官宣了Kudu 1.8.0的正式发布。...具体参考: https://kudu.apache.org/releases/1.8.0/docs/release_notes.html Apache Kudu项目仅仅只是发布了源代码,要创建Kudu1.8...,需要遵循以下2步: 1.下载Kudu的源代码: https://kudu.apache.org/releases/1.8.0/ 2.按照文档创建Kudu1.8: https://kudu.apache.org.../releases/1.8.0/docs/installation.html#build_from_source 为方便起见,Kudu Java客户端库,Spark DataSource,Flume sink...q=g:org.apache.kudu%20AND%20v:1.8.0 Python客户端的源码参考: https://pypi.org/project/kudu-python/
前言 本文是基础性文章,针对初次接触flume的朋友,简化了大部分内容,后续有时间会加上相关高级使用 为什么需要flume?...负载均衡:flume 是分布式,对于大数据收集有天然优势 对 hdfs 支持友好 灵活:flume 收集基于单个 agent,扩展方便灵活 flume 有什么优势?...优势都是相对而言,我们简单以 kafka 来对比: 组件灵活,可定制化高 数据处理能力相对较强 对hdfs 有特殊优化 开启一个简单的flume 这里我们先什么都不管,先来玩一下flume,感受一下flume...版本 下载 flume :http://flume.apache.org/download.html 解压,得到如下目录 ?...flume一般架构 首先我们先来看一下 flume 的整体架构,官网架构图如下 ?
领取专属 10元无门槛券
手把手带您无忧上云