- 博客(54)
- 资源 (9)
- 收藏
- 关注
原创 ELK 7.x -- elastalert 企业微信告警
Elastalert_Wechat_Plugin基于ElastAlert的微信企业号报警插件https://github.com/Yelp/elastalerthttps://github.com/Hello-Linux/elastalert_wechat_plugin使用说明申请企业微信公众号在这里我就不详细说明了,大家可以看看网上的教程去申请下面主要介绍一下该插件的使用方法...
2019-06-25 16:14:14
4874
原创 Golang查询Elasticsearch
本文主要讲 golang 连接 es 的常用操作1.下载依赖库$ go get github.com/olivere/elastic操作代码如下:es.gopackage esimport ( "context" "fmt" "github.com/olivere/elastic" "strconv" "time")var host = []string...
2019-02-15 15:33:13
17632
13
原创 hbase region下线故障修复
故障:1.8.7-p357 :023 > get 'GPSDATA','42dc_1698207629_8482964999'COLUMN CELL ...
2018-11-26 14:51:48
1813
转载 spark shuffle过程
1. SparkShuffle1. SparkShuffle概念reduceByKey会将上一个RDD中的每一个key对应的所有value聚合成一个value,然后生成一个新的RDD,元素类型是对的形式,这样每一个key对应一个聚合起来的value。问题:聚合之前,每一个key对应的value不一定都是在一个partition中,也不太可能在同一个节点上,因为RDD是分布式的弹性的数据集,R
2018-01-19 11:23:01
3938
原创 oracle删除相同记录中的一条
表TESTidno name age1001 a 181001 a 18查出rowidselect t.*,t.rowid from test as t where t.idno='1001'; 删除其中一条数据:delete from test as t where t.rowid=
2018-01-16 15:51:18
641
原创 pandas 处理cvs格式文件
最近处理了一个ip地址段转换的问题,在用python转换完成后试了下数据分析框架pandas,果然速度快了不止一倍。记录一下pandas处理cvs文件的用法。源文件(170M)示例如下:000.000.000.000,000.255.255.255,保留地址,保留地址,*,*,*,*001.000.000.000,001.000.000.255,APNIC,APNIC,*,apni
2018-01-15 12:44:19
2459
1
原创 java8 获取当天的开始时间和结束时间
根据需求需要取得当天的零点LocalDateTime today_start = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);//当天零点String td_st_str = today_start.format(DateTimeFormatter.ofPattern("yyyyMMddHHmmss"));获取当天结束
2017-11-16 17:03:02
49517
1
转载 Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移到Cassandra,因为Cass
2017-10-27 16:07:31
428
原创 Hbase1.2.6安装
1.先决条件 Zookeeper hadoop : http://blog.youkuaiyun.com/qq_21835703/article/details/519845572.部署• 配置regionservers ,主机名 vi ${HBASE_HOME}/conf/regionservers spark001 spark002 spark00
2017-08-14 14:19:49
1382
原创 Zookeeper部署
1. 部署本章节主要讲述如何部署 ZooKeeper,包括以下三部分的内容:1. 系统环境2. 集群模式的配置3. 单机模式的配置系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的 ZK 集群。如果仅仅是想在单机上将 ZK 运行起来,进行一些开发与测试,那么第三部分或许是你的菜。1.1 系统环境1.1.1 平台支持平 平 台 台 运行
2017-08-14 14:00:22
591
转载 Elasticsearch 分布式存储原理
路由一份文档(Document)到一个分片(Shard)当你索引一份文档时,它会被保存到一个主要分片(Primary Shard)上。那么ES是如何知道该文档应该被保存到哪个分片上呢?当我们创建了一份新文档,ES是如何知道它究竟应该保存到分片1或者分片2上的呢?这个过程不能是随机的,因为将来我们或许还需要获取该文档。实际上,这个过程是通过一个非常简单的公式决定的:
2017-07-31 16:08:34
1064
原创 SparkSql--JDBCDataSource
package spark21.sqlimport java.sql.DriverManagerimport org.apache.spark.rdd.RDDimport org.apache.spark.sql._import org.apache.spark.sql.types.{DataTypes, StructField, StructType}import scala.collecti
2017-03-27 16:18:32
615
原创 spark入门之WordCount
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-03-27 16:02:20
392
原创 Redis 高可用--主从复制
第1章 Redis-HA简介设计原理:当Master与Slave均运作正常时, Master负责服务,Slave负责Standby;当Master挂掉,Slave正常时, Slave接管服务,同时关闭主从复制功能;当Master恢复正常,则从Slave同步数据,同步数据之后关闭主从复制功能,恢复Master身份,于此同时Slave等待Master同步数据完成之后,恢复
2017-03-27 13:46:03
702
原创 Mysql高可用--双主热备+keepalived
第1章 MySQL-HA介绍关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm 管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这
2017-03-27 13:43:12
1144
原创 Elasticsearch5.1集群+kibana部署
第1章 Elasticsearch简介Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。以下简称Elasticsearch为ES。 高可用实现: ES自带了类似zookeeper的master选举功能,ES集群中配置3个或奇数(大于3)个master节
2017-03-26 01:27:34
8135
原创 spark性能调优(四)调节堆外内存和等待时长
调节堆外内存!!!executor堆外内存spark底层shuffle使用netty传输,所以使用了堆外内存!1.2之前是NIO就是socket,之后默认使用netty有时候,如果你的spark作业处理的数据量特别特别大,几亿数据量;然后spark作业一运行,时不时的报错,shuffle file cannot find,executor、task lost
2017-03-26 01:27:07
2584
1
原创 spark性能调优(三)shuffle的map端内存缓冲reduce端内存占比
性能优化 shufflespark.shuffle.file.buffer,默认32kspark.shuffle.memoryFraction,0.2map端内存缓冲,reduce端内存占比;很多资料、网上视频,都会说,这两个参数,是调节shuffle性能的不二选择,很有效果的样子,实际上,不是这样的。以实际的生产经验来说,这两个参数没有那么重要,往往来
2017-03-25 17:48:00
998
原创 spark性能调优(二)shuffle调优
shuffle调优什么情况下会发生shuffle,然后shuffle的原理是什么,然后我们再一一的剖析!包括我们后面讲troubleShooting的时候还有我们之前JVM是不是都需要知道shuffle的原理!希望同学们把shuffle原理重视起来啊!什么样的情况下,会发生shuffle?在spark中,主要是以下几个算子:groupByKey、redu
2017-03-25 17:43:55
1225
原创 spark性能调优(一)JVM调优
性能调优JVM调优原理概述不够炫但是很有用够炫听起来高端的1、常规性能调优:分配资源、并行度。。。等2、JVM调优(Java虚拟机):JVM相关的参数,通常情况下,如果你的硬件配置、基础的JVM的配置,都ok的话,JVM通常不会造成太严重的性能问题;反而更多的是,在troubleshooting中,JVM占了很重要的地位;JVM造成线上的spar
2017-03-25 17:41:23
830
原创 spark数据倾斜解决方案--原理及现象分析
数据倾斜解决方案 原理及现象分析最最有含金量,最最有实战性,最最有价值,最最有意义的这么个部分1、大数据开发流程(需求分析。。。性能调优)2、用户行为分析的业务(聚合统计、随机抽取、topn、排序)3、技术点:大数据项目模块的技术架构、spark core各种算子、自定义Accumulator、随机抽取算法、分组取topn、二次排序4、大数据项目中的性能调优
2017-03-25 17:36:26
1646
原创 spark数据倾斜解决方案(三) 提高shuffle操作reduce并行度
数据倾斜解决方案 提高shuffle操作reduce并行度当我们设置spark.default.parallelism,100我们假设Map端有100个task,然后reduce端有100个task然后此时发生数据倾斜了,一个task有10万数据,其他task都只有10条数据假设第一个方案和第二个方案都不适合做!第三个方案,提高shuffle操作的reduce
2017-03-25 17:33:01
2654
原创 spark 数据倾斜解决方案 (二)聚合源数据以及过滤导致倾斜的key
数据倾斜解决方案 聚合源数据以及过滤导致倾斜的key数据倾斜的解决,跟之前讲解的性能调优,有一点异曲同工之妙。性能调优,跟大家讲过一个道理,“重剑无锋”。性能调优,调了半天,最有效,最直接,最简单的方式,就是加资源,加并行度,注意RDD架构(复用同一个RDD,加上cache缓存);shuffle、jvm等,次要的。数据倾斜,解决方案,第一个方案和第二个方案,一起来讲
2017-03-25 17:31:46
1017
原创 spark数据倾斜解决方案(一)炫酷的4个方案
A,数据倾斜解决方案 使用随机key实现双重聚合使用随机key实现双重聚合1、原理把key前面都加上个随机数,使得key分散,让key跑到不同的task上面去!然后再经过反向映射map算子再把前缀去掉,再去计算双重聚合就是聚合两遍2、使用场景(1)groupByKey(2)reduceByKey比较适合使用这种方式;join
2017-03-25 17:29:59
1497
原创 spark troubleshooting--YARN队列资源不足导致的application直接失败
troubleshooting YARN队列资源不足导致的application直接失败现象:如果说,你是基于yarn来提交spark。比如yarn-cluster或者yarn-client。你可以指定提交到某个hadoop队列上的。每个队列都是可以有自己的资源的。跟大家说一个生产环境中的,给spark用的yarn资源队列的情况:500G内存,200个cpu
2017-03-25 17:27:52
3133
原创 spark troubleshooting--算子函数返回NULL导致问题
troubleshooting 解决算子函数返回NULL导致问题在算子函数中,返回nullreturn actionRDD.mapToPair(new PairFunction() {private static final long serialVersionUID = 1L;@Overridepublic Tuple2 call(Row row)
2017-03-25 17:26:52
1372
原创 spark troubleshooting--解决各种序列化导致的错误
troubleshooting 解决各种序列化导致的错误你会看到什么样的序列化导致的报错?用client模式去提交spark作业,观察本地打印出来的log。如果出现了类似于Serializable、Serialize等等字眼,报错的log,那么恭喜大家,就碰到了序列化问题导致的报错。虽然是报错,但是序列化报错,应该是属于比较简单的了,很好处理。序
2017-03-25 17:25:34
679
原创 spark troubleshooting--解决yarn-cluster模式的JVM栈内存溢出问题
troubleshooting 解决yarn-cluster模式的JVM栈内存溢出问题大公司里面你的机器节点一般都是虚拟机啊!所以不能yarn-client会有网络激增的问题!Yarn-client模式可以跑,但是Yarn-cluster模式不能跑,就是报那么一个JVM永久代溢出的那么一个问题!1,spark-submit脚本提交spark applicatio
2017-03-25 17:24:34
587
原创 spark troubleshooting--错误的持久化方式以及checkpoint的使用
troubleshooting 错误的持久化方式以及checkpoint的使用错误的持久化使用方式:usersRDD,想要对这个RDD做一个cache,希望能够在后面多次使用这个RDD的时候,不用反复重新计算RDD;可以直接使用通过各个节点上的executor的BlockManager管理的内存 / 磁盘上的数据,避免重新反复计算RDD。usersRDD
2017-03-25 17:23:22
674
1
原创 spark troubleshooting--yarn-client模式导致的网卡流量激增问题
troubleshooting yarn-client模式导致的网卡流量激增问题大公司都是通过Yarn来进行调度,mapreduce on yarn、spark on yarn、甚至storm on yarnYarn集群分成两种节点:ResourceManager负责资源的调度NodeManager负责资源的分配、应用程序执行这些东西通过Spark-su
2017-03-25 17:22:35
628
原创 spark troubleshooting--shuffle reduce端缓冲大小以避免OOM
troubleshooting shuffle reduce端缓冲大小以避免OOM在我们IT里面就是解决线上故障!shuffle reduce 端工作原理reduce端默认buffer大小是48MB,spark的shuffle和MR的shuffle绝对是不一样的!!!map端的task是不断的输出数据的,数据量可能是很大的。但是,其实re
2017-03-25 17:21:18
674
原创 spark troubleshooting--JVM GC导致的shuffle文件拉取失败
troubleshooting JVM GC导致的shuffle文件拉取失败比如,executor的JVM进程,可能内存不是很够用了。那么此时可能就会执行GC。minor GC or full GC。总之一旦发生了JVM之后,就会导致executor内,所有的工作线程全部停止,比如BlockManager,基于netty的网络通信。有时会出现的一种情况,非常普遍,在
2017-03-25 17:20:00
470
转载 Spark性能优化——解决Spark数据倾斜
为何要处理数据倾斜(Data Skew) 什么是数据倾斜对Spark/Hadoop这样的大数据系统来讲,数据量大并不可怕,可怕的是数据倾斜。何谓数据倾斜?数据倾斜指的是,并行处理的数据集中,某一部分(如Spark或Kafka的一个Partition)的数据显著多于其它部分,从而使得该部分的处理速度成为整个数据集处理的瓶颈。数据倾斜是如何造成的 在Sp
2017-03-25 17:16:54
493
原创 hadoop-hhbase调优
一、调优的目的充分的利用机器的性能,更快的完成mr程序的计算任务。甚至是在有限的机器条件下,能够支持运行足够多的mr程序。二、调优的总体概述从mr程序的内部运行机制,我们可以了解到一个mr程序由mapper和reducer两个阶段组成,其中mapper阶段包括数据的读取、map处理以及写出操作(排序和合并/sort&merge),而reducer阶段包含mapper输出数据的获取、数据
2017-03-25 14:51:06
385
原创 HBase性能优化方法总结(一):表的设计
HBase性能优化方法总结(一):表的设计1.表的设计1.1 Pre-CreatingRegions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照regi
2017-03-25 14:49:02
936
原创 hive优化
Hive 优化 要点:优化时,把 hive sql当做 map reduce程序来读,会有意想不到的惊喜。理解 hadoop 的核心能力,是 hive优化的根本。 长期观察 hadoop 处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜。 2.对 jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个j
2017-03-25 14:45:39
278
原创 Zookeeper管理员指南
1.部署 本章节主要讲述如何部署 ZooKeeper,包括以下三部分的内容:1. 系统环境 2. 集群模式的配置3. 单机模式的配置系统环境和集群模式配置这两节内容大体讲述了如何部署一个能够用于生产环境的ZK 集群。如果仅仅是想在单机上将 ZK 运行起来,进行一些开发与测试,那么第三部分或许是你的菜。1.1系统环境1.1.1平台支持平
2017-03-25 13:50:39
647
原创 spark2.1.0连接mysql
package scala21.sparkSQLimport java.sql.DriverManagerimport org.apache.spark.rdd.RDDimport org.apache.spark.sql._import org.apache.spark.sql.types.{DataTypes, StructField, StructType}import sc
2017-01-23 16:56:10
1213
原创 filebeat-5.1.1配置详解
#=========================== Filebeat prospectors=============================filebeat.prospectors: #指定文件的输入类型log(默认)或者stdin。- input_type: log # paths指定要监控的日志 paths:
2016-12-12 16:16:29
7027
gradle-4.2.1-bin.zip
2017-10-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人