- 博客(27)
- 资源 (1)
- 收藏
- 关注
原创 Structured Streaming和flink的watermark
Structured Streaming和flink都支持流式操作,支持对乱序数据的处理,都引入了watermark的概念,watermark都是系统能处理的乱序数据的最早的时间,但二者的具体表现也不尽相同。1、Structured Streaming的watermark机制 (a+) 在对 event time 做 window() + groupBy().aggregation() ...
2019-10-18 16:31:57 636
原创 elasticsearch优化总结
1、内存配置不要超过32gb,不超过内存总大小的50%2、只对用于搜索的字段做索引,尽量让索引数据都在内存里,对于其他数据,则可以另外存储,常用es+hbase配合使用3、对于热数据,提前预热4、冷热分离,对于访问量很少的数据单独做索引5、由于es对join等这些复杂操作支持的不好,在设计es字段的时候,尽量避免负责的操作6、由于es分页是需要将所要查询的页之前的数据都检索出来...
2019-07-26 16:49:58 218
原创 logstash读取nginx日志并写入es系统架构
最近在做一个项目,需要把客户端日志导入es里, 最初是想nginx日志写入kafka,再从kafka读取数据,写入es这样的流程。后来由于客户端上报的是json格式的日志,又不需要对内容做解析、计算,而es支持json格式输入,所以想到直接由logstash读取nginx日志写入es,整体数据流是客户端上报-->nginx-->logstash-->es。这里,需要对ngin...
2019-07-22 17:23:41 1760
原创 spark application出现token can't be found in cache
spark任务运行一段时间后,出现token can't be found in cache,一直报错,只要在spark submit命令中添加--conf spark.hadoop.fs.hdfs.impl.disable.cache=true,禁用cache即可
2019-06-12 15:24:19 3141
原创 logstash读取kafka错误Ierator is in failed state
logstash从kafka读取数据,写入es,运行了一段时间后,频繁出现Kafka::Consumer caught exception: Java::JavaLang::IllegalStateExceptionKafka::Consumer caught exception: Java::JavaLang::IllegalStateException错误,而且kafka的offset...
2019-06-12 15:19:23 729
原创 elasticsearch聚合性能优化
最近用es做数据统计时,增加了一个统计维度,发现查询性能下降了十几倍,查询es文档发现Terms Aggregation 的计算方式主要有以下两种: map,在内存中构建映射表,利用映射表完成聚合计算,可以看得出,这种方式会比较消耗内存。 global_ordinals,每个桶都会有一个全局序列号,也就是指定域中的唯一值都会有一个全局序列号,根据这个序列号完成相关的聚合过程。计...
2018-11-27 17:21:54 3584
原创 spark推测执行的坑
1、spark推测执行开启设置 spark.speculation=true即可2、spark开启推测执行的好处推测执行是指对于一个Stage里面运行慢的Task,会在其他节点的Executor上再次启动这个task,如果其中一个Task实例运行成功则将这个最先完成的Task的计算结果作为最终结果,同时会干掉其他Executor上运行的实例,从而加快运行速度3、问题我们的spark任务会将计算结果...
2018-05-11 17:19:39 4912
原创 elasticsearch集群生产环境问题及解决
1、oom错误 集群运行了一段时间后,就出现了oom错误,甚至有的节点的内存都被占满,服务器都无法登陆。 原因:默认情况下elasticsearch对字段数据缓存是没有限制的,会一直占用内存,直到内存用完 解决方法:1、设置es的缓存类型为Soft Reference,在配置文件中增加 index.cache.field.ty
2017-01-06 15:59:16 2008
原创 spark性能优化之一条
之所以称为一条,是真的只有一个需要注意的地方。 之前在为spark streaming程序分配资源的时候,为了提高并行度,尽量分配了更多的executor,最近在程序里增加了window操作,仍然是按每个executor一个core来分配的,结果发现程序运行的相当慢,而且经常会出现node_local,rack_local这种情况,因为我们的数据量比较大,所以数据的本地性比并行
2016-11-22 11:46:00 533
原创 Gmond dead but subsys locked 解决方案
最近在搭建ganglia时遇到Gmond dead but subsys locked这样的错误,网上都是说hostname没配,但我配置了,错误仍然存在。 实际上应该找到错误发生的原因才能解决问题 1、修改gmond的配置文件,修改debug的level为100 globals { daemonize = yes setuid = yes user
2016-09-02 14:44:55 1547
原创 Kafka“Failed to send messages after 3 tries”问题解决
最近在用flume向kafka推送数据时,过一段时间就会出现Kafka“Failed to send messages after 3 tries”这种错误,错误信息如下:ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.sink.kafka.KafkaSink.process:139) - Fai
2016-08-16 14:52:32 8864
原创 flume添加ganglia监控时空指针的错误解决方法
为flume添加ganglia监控,启动后出现如下错误: 查看源代码发现protected void createGangliaMessage31(String name, String value) { logger.debug("Sending ganglia 3.1 formatted message:
2016-08-15 15:56:58 609
原创 spark源码解析1
part1 - KafkaUtils .createDirectStream 最近的工作中,需要对kafka中的数据做一系列的聚合计算,但数据量又比较大,processtime 大于 每个batch的duration,造成每个处理任务不断的被延迟。为解决这个问题,想到将多个计算任务启动多个yarn application,但并不确定启动多个application
2016-07-20 17:07:01 525
原创 用flume的intercepter作数据格式转换和清洗
最近在工作中,用到spark streaming做数据解析和实时的数据计算,由于数据量比较大,而计算资源有限,spark的处理性能总是跟不上。观察之后发现,数据格式的解析占用了大量时间。整个数据的流程是nginx -> flume -> kafka -> spark,除了数据量较大,spark 无法及时处理之外,还存在kafka各个partition的数据分布不均衡,spark的job只有少数几个
2016-07-18 16:38:17 8884
原创 flume hdfs sink gzip 压缩的问题
flume 使用gzip压缩存储时,出现文件不完整,只写入了一部分数据,解压后的文件比未解压的还要小,是因为gzip压缩时,需要几个配置参数要一致,如下:agent.sinks.hdfsSink1.hdfs.rollCount=10000agent.sinks.hdfsSink1.hdfs.batchSize =10000agent.channels.fileCha
2016-01-22 16:28:44 2472 8
原创 长时间运行的spark-streaming程序自动退出的问题
spark-streaming程序以yarn-client的方式运行了一段时间后,就退出了,但driver还在,yarn日志如下:15/09/19 14:32:34 ERROR util.Utils: Uncaught exception in thread Thread-1org.apache.hadoop.security.token.SecretManager$InvalidToke
2016-01-05 09:02:11 5539 2
原创 hive查询写文件报错Failed with exception Unable to move source hdfs:xx to destination xxx
今天用hive查询数据并导出到某个文件夹的时候,报错Failed with exception Unable to move source hdfs:xx to destination xxx查看hive的log,如下解决方法:$HADOOP_HOME/share/hadoop/tools/lib/hadoop-distcp-2.6.0.jar放入hive的lib目录
2015-11-24 17:30:59 15460
原创 hadoop集群Non DFS Used占用空间迅速增长的问题
hdfs Non DFS Used 占用空间大,用du -h 看磁盘空间还在,但web页面显示Non DFS Used占用了特别多的空间,整个集群的Remaining空间几乎没有了解决方案: 重启hadoop 的 historyserver mr-jobhistory-daemon.sh start historyse
2015-11-16 17:51:49 5080
原创 spark on yarn 应用笔记
现在有个spark streaming的任务,读取hdfs上的数据,是以 spark on yarn的方式运行的,发现当hadoop集群有很大的job在运行时,spark读取数据出错,所以需要对计算资源做隔离。因为hadoop 2.6的默认资源调度器是Capacity Scheduler,所以讲大的job配置在单独的队列里,并限制其使用的资源量,而其他的任务配置成另外一个队列。这样,当资源占用过多
2015-11-05 16:59:46 528
原创 how to prevent hadoop job to fail on corrupted input file
最近在运行mr任务时,由于输入文件是gzip压缩的,而部分文件是损坏的,导致整个mr 任务退出,通过mapreduce.map.failures.maxpercent这个参数可以设置每个任务允许的task失败的量,设置此参数,可避免整个job因为某个输入文件的损坏导致的job失败JobConf conf = new JobConf();conf.set("mapreduce.map.
2015-09-29 10:20:09 667
原创 数据挖掘概念与技术读书笔记(2)
第二章 认识数据 2.1 数据对象与属性类型2.1.2 标称属性标称属性的值是一些符号或事物的名称,每个值代表某种类别、编码或状态,在计算机科学中,这些值也被看做的是枚举的因为标称属性值并不具有有意义的序,并且也不是定量的,因此,给定一个对象集,找出均值或中位数没有意义,有意义的是取该属性最常出现的值,称为众数,是一种中心趋势度量2.1.3 二元属性
2015-09-15 10:53:54 976
原创 数据挖掘概念与技术读书笔记(1)
挖掘计算机网络数据,根据消息流的异常进行入侵检测,这种异常可以通过聚类、流模型的动态创建,或把当前的频繁模式与先前的比较来发现。1.4 可以挖掘什么类型的模式特征化与区分,频繁模式、关联和相关性挖掘,分类与回归,聚类分析,李群典分析描述性挖掘任务刻画目标数据中数据的一般性质,预测性挖掘任务在当前数据上进行归纳,以便做出预测1.4.1 类/概念描述:特
2015-09-14 11:21:32 929
原创 hadoop,zookeeper, hbase集群的批量安装
本文以hadoop-2.2.0,zookeeper-3.4.5, hbase-0.96为例说明集群的批量安装过程安装前,要规划好服务器,并更改服务器的名称,并配置好host文件。批量安装首先要准备安装文件和配置文件:hadoop-2.2.0.tar.gzhbase-0.96.0-hadoop2-bin.tar.gzzookeeper-3.4.5.tar.gzjdk-
2014-12-11 16:07:38 586
原创 Not implemented by the DistributedFileSystem FileSystem implementation问题解决
上传文件到HDFS时, FileSystem hdfs=FileSystem.get(conf); 报错ava.lang.UnsupportedOperationException: Not implemented by the DistributedFileSystem FileSystem implementation at org.apache.hadoop.fs
2014-12-09 13:34:21 2490
原创 移动设备与pc对html5离线缓存的不同处理方式
由于公司项目里用到了html5离线缓存,虽然看起来应用比较简单,但实际还是遇到了不少问题。 1、html5文件的存储格式 在PC上,html5的离线缓存是以文件的形式存储的 在移动设备上,html5的离线缓存是存储在数据库里的 2、关于离线缓存的更新机制 在PC上,只会下载并更新有改动的文件 在移动设备上,会把所有离线缓存全部重新下
2013-03-28 21:01:23 862
原创 也来谈谈html5离线缓存
html5通过ApplicationCache接口使离线存储成为可能,离线存储使得web应用可以在用户离线的状况下进行访问。这个技术有以下优点: 用户可以离线访问web应用 因为文件被缓存在本地使得web页面加载速度提升许多 离线应用只加载被修改过的资源,因此大大降低了用户请求对服务器造成的负载压力。 HTML5通过一个清单文件(manifest f
2013-03-28 10:51:33 881
原创 to myself
Watch your thoughts, they become words.Watch your words, they become actions.Watch your actions, they become habits.Watch your habits, they become character.Watch your character, it becomes y
2008-12-16 15:24:00 439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人