<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[bottle123的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/bottle123</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; bottle123]]></copyright><item><title><![CDATA[Structured Streaming和flink的watermark]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/102625727</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/102625727</guid><author>bottle123</author><pubDate>Fri, 18 Oct 2019 16:31:57 +0800</pubDate><description><![CDATA[Structured Streaming和flink都支持流式操作，支持对乱序数据的处理，都引入了watermark的概念，watermark都是系统能处理的乱序数据的最早的时间，但二者的具体表现也不尽相同。

1、Structured Streaming的watermark机制


	(a+) 在对 event time 做 window() + groupBy().aggregation() ...]]></description><category></category></item><item><title><![CDATA[elasticsearch优化总结]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/97395823</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/97395823</guid><author>bottle123</author><pubDate>Fri, 26 Jul 2019 16:49:58 +0800</pubDate><description><![CDATA[1、内存配置不要超过32gb，不超过内存总大小的50%

2、只对用于搜索的字段做索引，尽量让索引数据都在内存里，对于其他数据，则可以另外存储，常用es+hbase配合使用

3、对于热数据，提前预热

4、冷热分离，对于访问量很少的数据单独做索引

5、由于es对join等这些复杂操作支持的不好，在设计es字段的时候，尽量避免负责的操作

6、由于es分页是需要将所要查询的页之前的数据都检索出来...]]></description><category></category></item><item><title><![CDATA[logstash读取nginx日志并写入es系统架构]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/96874874</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/96874874</guid><author>bottle123</author><pubDate>Mon, 22 Jul 2019 17:23:41 +0800</pubDate><description><![CDATA[最近在做一个项目，需要把客户端日志导入es里， 最初是想nginx日志写入kafka，再从kafka读取数据，写入es这样的流程。后来由于客户端上报的是json格式的日志，又不需要对内容做解析、计算，而es支持json格式输入，所以想到直接由logstash读取nginx日志写入es，整体数据流是客户端上报--&gt;nginx--&gt;logstash--&gt;es。

这里，需要对ngin...]]></description><category></category></item><item><title><![CDATA[spark application出现token can't be found in cache]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/91536559</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/91536559</guid><author>bottle123</author><pubDate>Wed, 12 Jun 2019 15:24:19 +0800</pubDate><description><![CDATA[spark任务运行一段时间后，出现token can't be found in cache，一直报错，只要在spark submit命令中添加--conf spark.hadoop.fs.hdfs.impl.disable.cache=true，禁用cache即可
]]></description><category></category></item><item><title><![CDATA[logstash读取kafka错误Ierator is in failed state]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/91534295</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/91534295</guid><author>bottle123</author><pubDate>Wed, 12 Jun 2019 15:19:23 +0800</pubDate><description><![CDATA[logstash从kafka读取数据，写入es，运行了一段时间后，频繁出现

Kafka::Consumer caught exception: Java::JavaLang::IllegalStateExceptionKafka::Consumer caught exception: Java::JavaLang::IllegalStateException

错误，而且kafka的offset...]]></description><category></category></item><item><title><![CDATA[elasticsearch聚合性能优化]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/84569841</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/84569841</guid><author>bottle123</author><pubDate>Tue, 27 Nov 2018 17:21:54 +0800</pubDate><description><![CDATA[最近用es做数据统计时，增加了一个统计维度，发现查询性能下降了十几倍，查询es文档发现

Terms Aggregation 的计算方式主要有以下两种：


	map，在内存中构建映射表，利用映射表完成聚合计算，可以看得出，这种方式会比较消耗内存。
	
	
	global_ordinals，每个桶都会有一个全局序列号，也就是指定域中的唯一值都会有一个全局序列号，根据这个序列号完成相关的聚合过程。计...]]></description><category></category></item><item><title><![CDATA[spark推测执行的坑]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/80284138</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/80284138</guid><author>bottle123</author><pubDate>Fri, 11 May 2018 17:19:39 +0800</pubDate><description><![CDATA[1、spark推测执行开启设置 spark.speculation=true即可2、spark开启推测执行的好处推测执行是指对于一个Stage里面运行慢的Task，会在其他节点的Executor上再次启动这个task，如果其中一个Task实例运行成功则将这个最先完成的Task的计算结果作为最终结果，同时会干掉其他Executor上运行的实例，从而加快运行速度3、问题我们的spark任务会将计算结果...]]></description><category></category></item><item><title><![CDATA[elasticsearch集群生产环境问题及解决]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/54138194</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/54138194</guid><author>bottle123</author><pubDate>Fri, 06 Jan 2017 15:59:16 +0800</pubDate><description><![CDATA[1、oom错误
           集群运行了一段时间后，就出现了oom错误，甚至有的节点的内存都被占满，服务器都无法登陆。
          原因：默认情况下elasticsearch对字段数据缓存是没有限制的，会一直占用内存，直到内存用完
          解决方法：1、设置es的缓存类型为Soft Reference，在配置文件中增加 
index.cache.field.ty]]></description><category></category></item><item><title><![CDATA[spark性能优化之一条]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/53284022</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/53284022</guid><author>bottle123</author><pubDate>Tue, 22 Nov 2016 11:46:00 +0800</pubDate><description><![CDATA[之所以称为一条，是真的只有一个需要注意的地方。
         之前在为spark streaming程序分配资源的时候，为了提高并行度，尽量分配了更多的executor，最近在程序里增加了window操作，仍然是按每个executor一个core来分配的，结果发现程序运行的相当慢，而且经常会出现node_local，rack_local这种情况，因为我们的数据量比较大，所以数据的本地性比并行]]></description><category></category></item><item><title><![CDATA[Gmond dead but subsys locked 解决方案]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/52413729</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/52413729</guid><author>bottle123</author><pubDate>Fri, 02 Sep 2016 14:44:55 +0800</pubDate><description><![CDATA[最近在搭建ganglia时遇到Gmond dead but subsys locked这样的错误，网上都是说hostname没配，但我配置了，错误仍然存在。
      实际上应该找到错误发生的原因才能解决问题
     1、修改gmond的配置文件，修改debug的level为100
       globals { 
daemonize = yes setuid = yes 
user ]]></description><category></category></item><item><title><![CDATA[Kafka“Failed to send messages after 3 tries”问题解决]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/52220846</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/52220846</guid><author>bottle123</author><pubDate>Tue, 16 Aug 2016 14:52:32 +0800</pubDate><description><![CDATA[最近在用flume向kafka推送数据时，过一段时间就会出现Kafka“Failed to send messages after 3 tries”这种错误，错误信息如下：
ERROR [SinkRunner-PollingRunner-DefaultSinkProcessor] (org.apache.flume.sink.kafka.KafkaSink.process:139)  - Fai]]></description><category></category></item><item><title><![CDATA[flume添加ganglia监控时空指针的错误解决方法]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/52211815</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/52211815</guid><author>bottle123</author><pubDate>Mon, 15 Aug 2016 15:56:58 +0800</pubDate><description><![CDATA[为flume添加ganglia监控，启动后出现如下错误：  

             


              查看源代码发现
protected void createGangliaMessage31(String name, String value) {
    logger.debug("Sending ganglia 3.1 formatted message:]]></description><category></category></item><item><title><![CDATA[spark源码解析1]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/51859482</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/51859482</guid><author>bottle123</author><pubDate>Wed, 20 Jul 2016 17:07:01 +0800</pubDate><description><![CDATA[part1 - KafkaUtils .createDirectStream

               最近的工作中，需要对kafka中的数据做一系列的聚合计算，但数据量又比较大，processtime 大于 每个batch的duration，造成每个处理任务不断的被延迟。为解决这个问题，想到将多个计算任务启动多个yarn application，但并不确定启动多个application]]></description><category></category></item><item><title><![CDATA[用flume的intercepter作数据格式转换和清洗]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/51942932</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/51942932</guid><author>bottle123</author><pubDate>Mon, 18 Jul 2016 16:38:17 +0800</pubDate><description><![CDATA[最近在工作中，用到spark streaming做数据解析和实时的数据计算，由于数据量比较大，而计算资源有限，spark的处理性能总是跟不上。观察之后发现，数据格式的解析占用了大量时间。整个数据的流程是nginx -> flume -> kafka -> spark，除了数据量较大，spark 无法及时处理之外，还存在kafka各个partition的数据分布不均衡，spark的job只有少数几个]]></description><category></category></item><item><title><![CDATA[flume hdfs sink gzip 压缩的问题]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/50562751</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/50562751</guid><author>bottle123</author><pubDate>Fri, 22 Jan 2016 16:28:44 +0800</pubDate><description><![CDATA[flume 使用gzip压缩存储时，出现文件不完整，只写入了一部分数据，解压后的文件比未解压的还要小，是因为gzip压缩时，需要几个配置参数要一致，如下：


agent.sinks.hdfsSink1.hdfs.rollCount=
10000
agent.sinks.hdfsSink1.hdfs.batchSize =
10000

agent.channels.fileCha]]></description><category></category></item><item><title><![CDATA[长时间运行的spark-streaming程序自动退出的问题]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/50460082</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/50460082</guid><author>bottle123</author><pubDate>Tue, 05 Jan 2016 09:02:11 +0800</pubDate><description><![CDATA[spark-streaming程序以yarn-client的方式运行了一段时间后，就退出了，但driver还在，yarn日志如下：
15/09/19 14:32:34 ERROR util.Utils: Uncaught exception in thread Thread-1
org.apache.hadoop.security.token.SecretManager$InvalidToke]]></description><category></category></item><item><title><![CDATA[hive查询写文件报错Failed with exception Unable to move source hdfs:xx to destination xxx]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/50015945</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/50015945</guid><author>bottle123</author><pubDate>Tue, 24 Nov 2015 17:30:59 +0800</pubDate><description><![CDATA[今天用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目录
]]></description><category></category></item><item><title><![CDATA[hadoop集群Non DFS Used占用空间迅速增长的问题]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/49869403</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/49869403</guid><author>bottle123</author><pubDate>Mon, 16 Nov 2015 17:51:49 +0800</pubDate><description><![CDATA[hdfs Non DFS Used 占用空间大，用du -h 看磁盘空间还在，但web页面显示Non DFS Used占用了特别多的空间，整个集群的Remaining空间几乎没有了

解决方案：
                重启hadoop 的 historyserver 
                 mr-jobhistory-daemon.sh start historyse]]></description><category></category></item><item><title><![CDATA[spark on yarn 应用笔记]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/49665003</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/49665003</guid><author>bottle123</author><pubDate>Thu, 05 Nov 2015 16:59:46 +0800</pubDate><description><![CDATA[现在有个spark streaming的任务，读取hdfs上的数据，是以 spark on yarn的方式运行的，发现当hadoop集群有很大的job在运行时，spark读取数据出错，所以需要对计算资源做隔离。因为hadoop 2.6的默认资源调度器是Capacity Scheduler，所以讲大的job配置在单独的队列里，并限制其使用的资源量，而其他的任务配置成另外一个队列。这样，当资源占用过多]]></description><category></category></item><item><title><![CDATA[how to prevent hadoop job to fail on corrupted input file]]></title><link>https://blog.youkuaiyun.com/bottle123/article/details/48803389</link><guid>https://blog.youkuaiyun.com/bottle123/article/details/48803389</guid><author>bottle123</author><pubDate>Tue, 29 Sep 2015 10:20:09 +0800</pubDate><description><![CDATA[最近在运行mr任务时，由于输入文件是gzip压缩的，而部分文件是损坏的，导致整个mr 任务退出，通过mapreduce.map.failures.maxpercent这个参数可以设置每个任务允许的task失败的量，设置此参数，可避免整个job因为某个输入文件的损坏导致的job失败


JobConf conf = new JobConf();
conf.set("mapreduce.map.]]></description><category></category></item></channel></rss>