- 博客(60)
- 资源 (4)
- 收藏
- 关注
原创 Centos7防火墙放行指定IP和端口
我的场景防火墙是整个数据包进入主机前的第一道关卡。为了安全起见,一般把防火墙打开,如果没有开放相应策略,则其他服务器无法访问。现在我有3台服务器,他们相互需要访问对方的服务,关闭防火墙后,他们之间的通信就出现了问题,如果单纯开放指定端口,由于服务太多,要开放的端口也多,我觉得太麻烦了,所以我放行了他们之间的IP,让他们三台之间能够互相访问,没有限制。这样,我整套系统没有通信问题了,能够正常运行起...
2019-09-27 17:32:43 27754 1
原创 Kerberos原理安装集成kafka例子
目录Kerbeos简介Kerbeos认证流程Kerberos安装步骤kerberos简单操作Kafka集成Kerberos例子本地环境java客户端消费测试代码错误记录Kerbeos简介Kerberos可以将认证的密钥在集群部署时事先放到可靠的节点上。集群运行时,集群内的节点使用密钥得到认证,认证通过后的节点才能提供服务。企图冒充的节点由于没...
2019-05-20 11:04:19 5038 12
原创 Logstash系列之--JAVA自定义插件
Logstash系列之--自定义插件(JAVA)说明官方文档:https://www.elastic.co/guide/en/logstash/7.2/java-filter-plugin.html安装版本:7.2.01、拉取logstash对应版本代码git clone --branch v7.2.0 --single-branch https://github.co...
2020-03-31 13:05:16 3561 5
原创 Logstash系列之--Geoip地理信息汉化
说明我们使用默认的logstash-filter-geoip插件解析IP地理信息时,得到的结果是英文显示,有时候我们希望把他转化成中文,方便前端调用显示,这时候我们需要搭建geoip环境,修改jcity.getName()为city.getNames().get("zh-CN")。然后生成gem文件,安装到logstash中。插件下载地址:https://download....
2020-03-27 16:54:37 2176
原创 Logstash系列之--实战演练
Logstash系列之--实战演练实现如下功能,以此熟悉一些logstash的语法:**1、接收本机514端口udp数据****2、只接收指定IP发过来的日志****3、过滤出现“色情”词语的日志****4、日志正则匹配抓取字段****5、解析sourceIp经纬度、国家省份城市****6、输出保存到Elasticsearch**首先我们看看配置...
2020-03-27 15:28:53 973
原创 Logstash系列之--基础知识
Logstash系列之--基础知识:区段Logstash 用 {} 来定义区域,区域内可以包括插件区域定义,你可以在一个区域内定义多个插件input { stdin {} udp { port=>514 }}数据类型Logstash 支持少量的数据值类型: bool debug => true str...
2020-03-26 18:59:35 1512
原创 Logstash系列之--安装入门例子
logstash7.2安装 入门例子--hello world!官网下载历史把本(太慢,有时候访问不了):https://www.elastic.co/cn/downloads/past-releases云盘安装包提供:https://blog.csdn.net/weixin_37281289/article/details/101483434下载7.2版本,解压即可运...
2020-03-26 18:53:52 282
原创 spring security身份认证流程
spring security身份认证大致流程下面是本人学习spring security时总结的大致认证流程,对于理解spring security认证过程应该可以有初步的了解,代码从网上学习文章摘取。总结:1、请求进入UsernamePasswordAuthenticationFilter ,不知道用户名密码是不是对的,所以构造一个未认证的Token2、this.getAuthenti...
2020-03-11 10:07:49 726
原创 Spark算子—aggregate、aggregateByKey
Spark算子—aggregate、aggregateByKey1、aggregate函数 将每个分区里面的元素进行聚合,然后用combine函数将每个分区的结果和初始值(zeroValue)进行combine操作。这个函数最终返回的类型不需要和RDD中元素类型一致。val array = Array(("tong",25),("wei",27),("ping",23)) v...
2020-03-11 09:53:13 365
转载 财务系统如何避免对账时一分钱误差?
财务系统如何避免对账时一分钱误差?前言做电商的系统都会有交易环节,涉及到交易就会有对账需求。有消费者的对账,也有公司财务的对账。在做对账功能时,很多小伙伴就经常碰到以下几个场景。场景一:财务同事:为何这个月我们算的金额和你们系统算的金额差了几分钱啊?开发同事:差几分钱而已嘛?系统算的流水账对就行啦,你们财务这个月忽略好不?悲剧的是差一分钱对财务来说是很严重的问题了。场景二:...
2020-02-26 10:05:51 2680
原创 SpringCloud组件简单介绍
SpringCloud 入门本文摘取JavaGuide中为服务文章内容Spring Cloud各个组件Eureka 服务发现框架Ribbon 进程内负载均衡器Open Feign 服务调用映射Hystrix 服务降级熔断器Zuul 微服务网关Config 微服务统一配置中心Bus 消息总线我所理解的 Spring Cloud 就是微服务系统架构的一站式解决方案,在平时我们构...
2020-02-25 16:24:58 441
原创 linux获取host文件IP列表
1、host文件原内容cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.10.21 ...
2020-02-18 16:57:05 2135 1
原创 shell脚本-执行远程服务器脚本
#!/bin/bashecho “############删除ES七天前log文件开始#####################”echo bd@SSA@1234 | sudo -S -s /bin/bash -c “sshpass -p “密码” ssh -p 22 hadoop@172.16.110.55 -o StrictHostKeyChecking=no “/home/hadoop/...
2020-02-18 16:21:18 1632
原创 linux删除指定目录一周以前的文件
find /home/hadoop/elasticsearch-2.4.3/logs/ -mtime +7 -name “master.log.*” -exec rm -rf {} ;
2020-02-18 16:17:09 1345 1
原创 乐观锁和悲观锁
乐观锁乐观锁(Optimistic Lock),顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在提交更新的时候会判断一下在此期间别人有没有去更新这个数据。乐观锁适用于读多写少的应用场景,这样可以提高吞吐量。悲观锁悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个...
2020-01-22 14:28:47 204
转载 Redis-避免缓存穿透的利器之BloomFilter
前言你在开发或者面试过程中,有没有遇到过 海量数据需要查重,缓存穿透怎么避免等等这样的问题呢?下面这个东西超屌,好好了解下,面试过关斩将,凸显你的不一样。Bloom Filter 概念布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时...
2019-12-24 23:44:40 353
原创 Flink学习记录
Flink简介Flink是一个框架和分布式处理引擎,新一代的流式计算处理框架,与Spark相比,flink低延迟,高吞吐,实时性更好,每秒处理百万个,spark本质是一批批微小数据集处理,而Flink才是真正的流处理。2014年捐赠apache基金会 2015成为apache顶级项目Flink和Spark Streaming比较流和微批Flink 以事件为驱动,真正的流处理strea...
2019-12-15 20:17:02 243
转载 大数据面试2019
1. ConcurrentHashMap 是怎么实现的?答:concurrent 包中线程安全的哈希表,采用分段锁,可以理解为把一个大的 Map 拆分成 N 个小的 HashTable,根据 key.hashCode() 来决定把 key 放到哪个 HashTabl 中。在 ConcurrentHashMap 中,就是把 Map 分成了 N 个 Segment,put 和 get 的时候,都是...
2019-11-26 11:54:07 888
原创 一致性Hash算法
一致性Hash算法解决了分布式环境下负载均衡问题比如,现在有4台服务器,存储时使用hash(n)%4,把数据分散到4台服务器中,取数据时也需要hash(n)%4,来确定数据存储的服务器,当这4台服务器达到性能问题时,增加节点,这时候原来存储的数据要重新计算hash(n)%5,代价比较大,一致性算法可解决该问题。...
2019-11-26 00:23:34 240
原创 事务的隔离级别和传播属性
事务的隔离级别和传播属性事务传播属性既然谈到传播,就肯定涉及两个方法(方法里面调用方法),每个方法都带事务,事务的属性设置的不同会带来问题事务隔离级别1、读未提交会读取到未提交的数据,这时候如果事务回滚了,但是未提交的数据已经读到内存,这就造成了脏读2、读已提交(不可重复读)读已提交的数据,(读前和读后之间commit修改数据提交了)在同一个事务里读取同一行数据产生两个不一样的结...
2019-11-25 16:32:13 229
原创 线程池
为什么要线程池?1.减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。线程池实现原理Executor vs ExecutorService vs ExecutorsExecutor:Exec...
2019-11-23 09:29:22 186
原创 JVM介绍
JVM基本概念 JVM是Java Virtual Machine(Java虚拟机)的缩写,引入了java虚拟机后,java在不同的平台运行时不再需要重新编译,因为它可以通过不同的java虚拟机解释,可以转换为不同平台的机器码,最终得到执行,这就是传说中的“一次编译,到处运行”。Java源文件—->编译器—->字节码文件字节码文件—->JVM—->机器码当一个...
2019-11-21 22:27:55 217
原创 sparkstreaming消费处理速度滞后
在工作中遇到上图所示问题,sparkstreaming处理速度跟不上拉取的数量,我尝试给spark作业增大资源,完全没作用,后来发现kafka的topic只有一个分区,spark作业都已经给了5个excutor,再增加资源和excutor也没作用,好像是因为topic一个分区对应一个excutor,这样才能并行执行,我这里一个分区,所以只用上一个excutor,它已经达到上限,增加资源也白费。我...
2019-11-19 17:29:40 2212
原创 Hbase复习
Hbase复习Hbase是构建在HDFS之上、分布式的、面向列的开源数据库,google bigtable的开源实现,主要用于存储海量的数据。hbase vs 关系型数据库1、hbase支持大数据,一个表数十亿行,上百万列2、面向列:列拿出来存储在一块连续的空间,适合做分析,传统关系数据库面向行,一行存储在一块连续的空间,查找一个字段,读一整行,IO效率不高3、适合稀疏数据,对于null...
2019-11-17 23:59:27 373
转载 单点登录系统原理与实现
一、单系统登录机制1、http无状态协议web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系。但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必须鉴别浏览器请...
2019-10-17 14:05:39 476
原创 通过AOP实现多数据源切换
定义切换数据源注解:package config;import java.lang.annotation.*;/** * 切换数据源的注解 */@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface DataSo...
2019-10-17 09:55:43 670 1
原创 elasticsearch打开文件数过多“Too many open files in system”
最近公司一个项目es集群连续出现多次打开文件数过多。跟老大讨论并且一起百度翻了翻相关资料。我们的句柄数已经调到1048576,但是还是一直出现该问题,所以我们考虑es为何会打开如此多文件数。下面是搜索的一些信息:造成打开文件过多的问题的思路并非局限在limit配置。官网有如下描述:由于自动刷新流程每秒会创建一个新的段,这样会导致短时间内的段数量暴增。而段数目太多会带来较大的麻烦。 每一...
2019-10-15 16:21:26 4133
转载 基于消息队列的分布式事务解决方案
前两天发了工资,第一反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的APP给女朋友转点钱!填写上对方招商银行卡的卡号、开户名,一键转账!搞定!在我点击的那瞬间,就收到了app的账户变动的提醒,并且出现了图一所示的提示界面:“处理中,正在等待对方银行返回结果…”。嗯!毕竟是跨行转账嘛,等个几秒也正常!脑海开始浮现出女朋友收到转账后惊喜与感动的画面! 然而,一切并没有那么顺利...
2019-10-11 20:17:34 221
原创 ES海量数据如何提高查询效率
ES海量数据如何提高查询效率es 的搜索引擎严重依赖于底层的 filesystem cache,你如果给 filesystem cache 更多的内存,尽量让内存可以容纳所有的 idx segment file索引数据文件,那么你搜索的时候就基本都是走内存的,性能会非常高。案例某个公司 es 节点有 3 台机器,每台机器看起来内存很多,64G,总内存就是 `64 * 3 = 192G`。每...
2019-09-30 17:47:02 1480 2
原创 oracle误删表恢复方法(drop table)
select * from recyclebin order by droptime desc --查看回收站解决方法:sql命令窗口执行:flashback table 表名 to before drop;
2019-09-19 23:18:13 239
原创 es的安装及配置说明
es的安装及配置说明1.安装Javaes需要安装jdk1.7及以上版本,建议安装jdk1.8,下面查看Java的版本,看是否安装Javajava -version2.安装es到es的官网去下载es,然后解压即可使用3.配置说明3.1.es的JAVA_OPTS参数因为es是Java开发的,所以JVM的环境变量JAVA_OPTS对es是非常重要的,在JAVA_OPTS中对es最重要的...
2019-09-19 20:00:21 5348
原创 Linux修改时区
#查看当前时区[root@ssa2-vm12 ~]# date -RFri, 01 Feb 2019 02:36:01 -0500[root@ssa2-vm12 ~]# ll /etc/localtime lrwxrwxrwx. 1 root root 38 Jan 31 02:54 /etc/localtime -> ../usr/share/zoneinfo/America/N...
2019-09-18 13:01:35 186
原创 【spark笔记】Stage划分原理
我们开发一个应用后,把这个应用提交到集群,那么这个应用就交Application,这个应用里面我们开发了好多代码,这些代码凡是遇到一个action操作,就会产生一个job任务,也意味着,一个Application有一个或者一个以上的job任务,然后这些job任务划分为不同的stage去执行,这个stage里面就是运行不同的task任务,task计算的就是分区上面的数据。...
2019-09-18 00:33:42 306
原创 【spark笔记】共享变量
共享变量(广播变量、累加变量)Spark一个非常重要的特性就是共享变量。默认情况下,如果在一个算子的函数中使用到了某个外部的变量,那么这个变量的值会被拷贝到每个task中。广播变量:(一个worker共享)每个节点拷贝一份,更大的用处是优化性能,减少网络传输以及内存消耗。累加变量:可以让多个task共同操作一份变量,主要可以进行累加操作但是task只能对Accumulator进行累加...
2019-09-18 00:26:30 177
原创 【spark笔记】sparkOnYarn
###配置spark on yarn只需要配置如下参数即可。使用yarn模式的时候,不需要启动master和worker了只需要启动hdfs和yarn即可Yarn运行任务的过程:
2019-09-17 23:54:26 268
原创 【spark笔记】RDD的持久化
RDD的持久化:Rdd.cache()Rdd.persist(StorageLevel.MEMORY_ONLY) persist方式可选取以下不同方式持久化MEMORY_AND_DISK #如果内存不够再存磁盘DISK_ONLYMEMORY_ONLY_SER #存数据时候实现序列化 可节省内存,但是读取时要反序列化,耗CPU,衡量MEMORY_ONLY_2 ...
2019-09-17 23:46:23 278
原创 【spark笔记】HistoryServer服务配置
配置文件:spark-defaults.confspark.eventLog.enabled truespark.eventLog.dir hdfs://IP:8020/spark-events #提前创建好目录spark.eventLog.compress true #压缩,减少资源消耗配置文件:spark-env....
2019-09-17 23:37:16 320
转载 flume1.8和ES整合报错
Flume1.6sink不兼容ES5用flume从kafka消费消息,然后用ElasticsearchSink往ES写入数据。ES从1.7.1升级到5.4.1后,flume的代码不改启动后sink大量报错,所有数据都写入失败。JDK升到1.8,elasticsearch版本升到5.4.1,Log4j也加上,还是不行。org.apache.logging.log4jlog4j-api2.8.2o...
2019-09-16 15:45:42 675
原创 KVM Centos 7 启动错误:XFS_WANT_CORRUPTED_GOTO 修复
前两天刚做好的KVM虚拟机镜像,过了周末两天,重新导入发现报错,捏了一把汗,后来网上查找方法,试过可行错误:Internal error xfs XFS_WANT_CORRUPTED_GOTO at line 1662 of file fs/xfs/libxfs/xfs_alloc.c Caller xfs_free_extent+0x130 [xfs]Internal error xf...
2019-09-02 10:45:25 2943 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人