解决方案
文章平均质量分 87
解决方案
阿啄debugIT
0、精通java,及常用设计模式,熟练编写shell脚本,掌握python、scala、golang的编写;
1、精通Spring Cloud等微服务架构,掌握SpringBoot、batis等后端技术,kafka、redis、es等中间件的整合开发;
2、熟悉掌握mysql、pg等关系数据的原理及调优,及NoSQL数据的存储和查询;
3、熟悉CDH各个组件,及精通离线、实时等计算技术;
4、掌握java多线程高并发编程,及整合shiro、redis、fastdfs、MQ、netty等开发;
5、熟悉K8S集群管理Docker容器,及理解掌握openstack原理和操作。
展开
-
通过模板方法模式——对短信中的文本内容进行敏感词过滤,及将文本内容与敏感词词库做匹配的实现
前言模板方法模式是最为常见的几个模式之一(也比较简单),是基于继承实现代码复用的基本技术。模板方法模式(TemplateMethod Pattern)的定义是:首先定义了一个由若干执行步骤组成的执行过程(形成模板),而将一些步骤延迟在子类中实现,使得子类能够对其中一个或者多个具体步骤进行重新定义,从而改变最终的执行结果。模板方法模式的UML类图如下:这里涉及到了两个角色:抽象模板 AbstractTemplate定义并实现了一个模板方法。这个模板方法一般是一个具体的方法,它定.原创 2021-12-14 01:43:26 · 720 阅读 · 0 评论 -
详解redission分布式锁配置及使用,防止java服务重复提交和修改动作等问题
说道Redis分布式锁大部分人都会想到:setnx+lua,或者知道set key value px milliseconds nx。后一种方式的核心实现命令如下:- 获取锁(unique_value可以是UUID等)SET resource_name unique_value NX PX 30000- 释放锁(lua脚本中,一定要比较value,防止误解锁)if redis.call("get",KEYS[1]) == ARGV[1] then return redis.call("d..原创 2021-12-11 02:08:08 · 4688 阅读 · 0 评论 -
用正则表达批量快速解决如“过滤注释的//”、“查询特定单词”、“匹配特定子字符串”等工作中难题
场景:过滤调注释的“//”的定时任务,查看那些是有效的定时任务方案^((?!//.).)*@Scheduled场景:hibernate的打印sql都有as的别名,导致sql特别长,批量去掉别名方案:\sas\s\w+场景:搜索所有包含:".Autowired(" 但不包含:"Transactional." 的文件。^((?!Transactional.).)*\b[.]Autowired[(]\e*((?!Transactional.).)*$...原创 2021-07-16 13:08:44 · 266 阅读 · 0 评论 -
TransmittableThreadLocal相关组件实用解读,及如何达到线程池中的线程复用,及使用在哪些线程数据传递场景?
transmittable-thread-local以下简称:TTL,由于InheritableThreadLocal在线程池中上下文传递的问题,可以知道这个threadLocal的值传递,在父子线程之间若使用了线程池的技术,会导致子线程的threadLocal信息错乱,而TTL在使用线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题。它是一个Java标准库,为框架/中间件设施开发提供的标配能力,项目代码精悍,只依赖了javassist做字节码增原创 2021-06-19 03:26:23 · 1496 阅读 · 4 评论 -
大数据常用的Lambda架构---实时架构处理流程与离线架构处理流程
前言对低成本,规模化的需求,促使人们开始使用分布式文件系统,例如 HDFS和基于批量数据的计算系统(MapReduce 作业),但是这种系统很难做到低延迟。用 Storm 开发的实时流处理技术,可以帮助解决延迟性的问题,但并不完美。其中的一个原因是,Storm 不支持 exactly-once 语义,因此不能保证状态数据的正确性,另外它也不支持基于事件时间的处理。有以上需求的用户,不得不在自己的应用程序代码中加入这些功能。后来出现了一种混合分析的方法,它将上述两个方案结合起来,既保证低延迟,原创 2021-05-25 21:46:23 · 3015 阅读 · 11 评论 -
debug底层java代码,对list中的数据去重的正确姿势,及对比java list remove正确使用方法与错误使用
前言List中主要有2种数据结构的实现,一种是数组,另一种是链表。数组,均实现RandomAccess类数组的实现有ArrayList、Vector、Stack、CopyOnWriteArrayList他们都继承了AbstractList,AbstractList实现了List中的部分接口,并且实现了数组结构的遍历,也就是上边说到的迭代器设计模式中Iterator部分,Stack实现了一个LIFO,Vector实现了线程安全,CopyOnWriteArrayList则是线程安全的一个变体,读原创 2021-05-19 10:14:05 · 559 阅读 · 5 评论 -
分析Threadlocal内部实现原理,并解决Threadlocal的ThreadLocalMap的hash冲突与内存泄露
前言ThreadLocal 的经典使用场景是数据库连接、session 管理、多线程等……比如在Spring中,发挥着巨大的作用,在管理Request作用域中的Bean、事务管理、任务调度、AOP等模块都不同程度使用了ThreadLocal 。Spring中绝大部分Bean,都可以声明成Singleton作用域,采用ThreadLocal进行封装,因此有状态的Bean,就能够以singleton的方式,在多线程中正常工作。知道Threadlocal怎么用,但是不知道为什么要这样用?底层原理是.原创 2021-05-14 22:53:38 · 1772 阅读 · 3 评论 -
Nacos用来做注册中心的话,它是怎么贴合CAP理论的 C/A切换是怎么做的,配置属性是如何实现动态刷新的?
前言Nacos用来做注册中心的话,它是怎么贴合CAP理论的 C/A切换是怎么做的,配置属性是如何实现动态刷新的?什么是CAP理论原创 2021-04-18 02:41:21 · 1182 阅读 · 2 评论 -
大数据集群部署策略是什么,集群运行状态如何监控,数据怎么采集的,采集后的存储和分析策略是什么?
前言集群部署策略是什么,集群运行状态如何监控,数据怎么采集的,采集后的存储和分析策略是什么?集群部署策略是什么简单的节点部署策略因为在一般情况下,Hadoop节点需要占用的磁盘空间是最紧张的资源,所以最基本的节点部署策略,是按照磁盘空间的大小来考虑的。首先将所有Hadoop节点按照磁盘空间的要求从大到小进行排序,再将可用的Host按照剩余磁盘空间从大到小进行排序。第一步将磁盘空间需求最大的Hadoop节点部署到剩余磁盘空间最大的主机上去,第二步将磁盘空间需求次大的Hadoop节点部署到原创 2021-04-15 20:09:26 · 1512 阅读 · 0 评论 -
springboot利用ThreadPoolTaskExecutor多线程批量插入百万级数据
开发目的:提高百万级数据插入效率。采取方案:利用ThreadPoolTaskExecutor多线程批量插入。采用技术:springboot2.1.1+mybatisPlus3.0.6+swagger2.5.0+Lombok1.18.4+postgresql+ThreadPoolTaskExecutor等。具体细节:第一步:application-dev.properties添加...原创 2019-12-25 12:22:52 · 26287 阅读 · 46 评论 -
通过@伪列,计算在同一个mysql表中同一个用户,第一行时间与第二行时间比较,第二行时间与第三行时间比较……的sql语句,及补充mysql伪列和时间处理函数知识
需求根据uid分组,比较用户的登陆时长,并选出第一次登陆的时间,最后一次登陆的时间,及登陆的次数,两次登陆间隔不操过30分钟的,算一次登陆,写出对应的SQL语句……表结构CREATE TABLE `t_ods` ( `id` bigint(11) NOT NULL, `uid` int(11) DEFAULT NULL, `login_time` datetime DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT原创 2021-03-18 18:19:17 · 1750 阅读 · 7 评论 -
面试官问:您熟悉redis?搭建过redis集群?rediscluster底层的主从复制rdb如何工作的?及Redis与其他key-value存储NOSQL数据库有什么不同?
前言:面试官问:您熟悉redis?搭建过redis集群?rediscluster底层的主从复制rdb如何工作的?……接下来,就是一轮迫击炮,犹如把面试者按在砧板上,轮番炮击……快速搭建高可用Redis Cluster主从模式集群的填坑之路Redis集群安装,及遇到缺少tcl 8.5依赖和集群启动失败等解决方案使用脚本,快速安装Redis集群,及爬坑记录您目前用redis那种集群模式?采用Redis Cluster无中心结构集群模式拓展master-slave模式模式存在的原创 2021-03-11 19:15:19 · 557 阅读 · 0 评论 -
redisson分布式锁与spring注解事务共用产生的一系列问题,及对应解决方案
前言有锁才有自由,生活中不存在绝对的自由,绝对的自由通常对应的无序和混沌,只有在道德、法律、伦理的约束下的相对自由,才能使人感受到自由。而在多线程编程中,锁是至关重要的,锁就是道德,就是法律约束,没有锁的多线程环境将会是混乱的,所有线程都在争夺资源,最后的结果就是导致系统崩溃,而有了锁之后,多线程环境才能稳定高效的工作。事故现场某些原因,获取锁失败-------没有在至少N/2+1个Redis实例取到锁,或者取锁时间已经超过了有效时间),客户端应该在所有的Redis实例上进行解锁(即便某原创 2021-03-10 18:47:13 · 1252 阅读 · 2 评论 -
详细比较StringRedisTemplate和RedisTemplate的区别及使用方法,及解决融合使用方法
前言感觉StringRedisTemplate和RedisTemplate非常的相识,到底有什么区别和联系呢?点开idea,打开其依赖关系,可以看出只需使用maven依赖包spring-boot-starter-data-redis,然后在service中注入StringRedisTemplate或者RedisTemplate即可使用。从下图StringRedisTemplate继承了RedisTemplate,所以两者对Redis的操作方法具有相同之处实验软件:RedisDesktopMa原创 2021-03-09 18:50:52 · 9141 阅读 · 0 评论 -
项目中java连接cdh中的kafka报错java.io.IOException: Can‘t resolve address: node0X:9092的解决方案
问题docker 容器日志报java.io.IOException: Can't resolve address: node04:9092 at java.lang.Thread.run(Thread.java:748) [na:1.8.0_272] Caused by: java.nio.channels.UnresolvedAddressException: null at sun.nio.ch.Net.checkAddress(Net.java:104) ~[na:1.8.0_272原创 2021-02-07 18:48:47 · 1607 阅读 · 2 评论 -
常见git问题的解决方案汇总,包括git更换新的远程地址,管理本地及远程分支,git的tag管理
Git删除旧的远程地址添加新的远程地址1. 首先在需要查看的项目中右键选择 “Git Bash Here”,弹出命令框。2. 输入“git remote -v”查看项目远程地址。git remote -v3. 通过命令先删除再添加远程仓库git remote rm origin // 删除旧的远程地址git remote add origin ****** // 添加新的远程地址git branch 命令查看分支、删除远程分支、本地分支1、查看本地分支 :.原创 2021-02-05 18:31:12 · 485 阅读 · 0 评论 -
若面试官问“如何设计一个消息中间件”,该如何回答?重点要理解RabbitMQ在于routing,而Kafka在于streaming
前言作为以一个专业技术软件开发人员,又加上软件技术更新速度日新月异,稍不注意,自己用的技术已经过时了,后端前几年还是struts2、hibernate、springmvc……稍不留心现在都是spring的天下了;前端前几年,还是ajax、js、easyui……稍不留心都使用vuejs、angularjs、reactjs……整天趴在电脑前的你,有没有发现,突然去面个试,发现自己这么low有没有……所以作为技术人员,没事,出去面试一下,也是对自己的技术栈的预警哈!可以用面试驱动学习,学习的动力就是面试,原创 2021-02-01 13:39:04 · 603 阅读 · 4 评论 -
在使用.ignore插件时,怎样使添加到.gitignore中的忽略文件夹(如.idea),或者文件(如config.properties.bak)生效
前言Git 是用于 Linux内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持(wingeddevil注:这得分是用什么样的服务端,使用http协议或者git协议等不太一样。并且在push和pull的时候和服务器端还是有交互的。),使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。原创 2021-01-27 00:36:47 · 752 阅读 · 1 评论 -
安装Anaconda3,管理python依赖包和管理切换python环境,及conda安装pymysql的填坑记录
前言网上有很多,安装Anaconda3的版本,由于每次安装,都会遇到不同的问题,特此汇总记录一下centos安装Anaconda3,及conda安装pymysql的填坑经历安装准备centos系统,可能本地默认安装的是python2(官方已经终止更新) 已经下载好的Anaconda3-5.3.1-Linux-x86_64.sh(提取码:n49i)备注:windows版的Anaconda3-5.3.1-Windows-x86_64.exe(提取码:t7gg)安装1.把下载后的Anaco原创 2020-05-30 19:12:47 · 2448 阅读 · 3 评论 -
ssh-keygen产生公钥与私钥对,及密钥分发,ssh远程执行常用命令方法,和如何防止SSH登录入侵或被破解
前言SSH是安全的加密协议,用于远程连接Linux服务器,默认端口是22,安全协议版本是SSH2 。SSH原理SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP 22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成: openssh(提供ssh服务)、openssl(提供加密的程序),主要功能是提供SSH连接和作为SFTP服务器。ssh的客户端:包含ssh连接命令和远.原创 2021-01-08 17:38:04 · 7082 阅读 · 9 评论 -
采用KubeSphere的kk,部署安装多节点服务的kubernetes-v1.18.6和kubesphere-v3.0.0的踩坑过程记录,及反思
前言KubeSphere® 是经CNCF 认证的 Kubernetes 主流开源发行版之一,在 Kubernetes 之上提供多种以容器为资源载体的业务功能模块,如多租户管理、集群运维、应用管理、DevOps、微服务治理等功能。最近微服务,要部署到k8s,采用KubeSphere应用为中心的容器管理平台,于是捣鼓怎样去部署,第一次部署成功,好像不稳定,再次恢复四台服务器镜像,重新部署,其中遇到很多的问题及挫折,在此记录一下,以供大家参考。!准备服务器master:172.16...原创 2021-01-06 00:58:40 · 9507 阅读 · 12 评论 -
采用UUID与Snowflake算法,按照时间自增排序生成唯一ID,使整个分布式系统内不会产生ID碰撞。
前言手动指定主键id的优点(不用id自增),缺点很明显,就是容易出现主键id冲突,当插入频率达到一定程度时,就会出现大量这种问题,一旦出现这种问题,入库就会失败,造成数据丢失(应用层可以做异常处理来避免数据丢失)。多人会想到使用UUID,UUID在唯一性上确实可以达到这个目的,但它也存在很大的缺陷:单一采用uuid优点:性能非常高:本地生成,没有网络消耗。单一采用uuid缺点:不易于存储:UUID太长,16字节128位,通常以36长度的字符串表示,很多场景不适用。 信息不安全:基于MAC原创 2020-12-21 20:43:51 · 1106 阅读 · 0 评论 -
记录Harbor私有仓库的镜像占用磁盘空间过大,如何彻底删除其中的冗余docker镜像,来释放服务器磁盘空间
场景:harbor服务器磁盘占用为100%:听同事说,harbor服务器,不能上传镜像,jenkins不能正常工作。问题描述:最开始以为,docker的日志,占用过多,但是用脚本删除,磁盘仍然占用100%#!/bin/shecho "======== start clean docker containers logs ========"logs=$(find /var/lib/docker/containers/ -name *-json.log)for log in $logsdo原创 2020-12-21 12:24:48 · 2600 阅读 · 0 评论 -
常用java使用工具类EncrypDES,实现DES算法的加解密
前言DES算法在POS、ATM、磁卡及智能卡(IC卡)、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,如信用卡持卡人的PIN的加密传输,IC卡与POS间的双向认证、金融交易数据包的MAC校验等,均用到DES算法。DES算法的原理1.所需参数key:8个字节共64位的工作密钥 data:8个字节共64位的需要被加密或被解密的数据 mode:DES工作方式,加密或者解密2.原理图示DES算法使用64位的密钥key,将64位的明文输入块,变为64位的密文输出块,并把输原创 2020-12-19 01:23:46 · 3153 阅读 · 1 评论 -
生产环境下,离线安装Flannel与etcd,让不同主机上的Docker容器之间相互通信
前言在生产环境下,网络不与互联网进行通信,但是还要内网之间主机上的docker容器,相互通信,可以采用离线安装Flannel与etcd,及下载好离线的相关安装包,进行操作。离线安装docker可以事先下载好相应的安装包├── container-selinux-2.9-4.el7.noarch.rpm├── docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm└── package ├── audit-libs-python-2.8.5-4.原创 2020-11-25 18:04:15 · 1370 阅读 · 0 评论 -
分别使用Flannel与openvswitch,让不同主机上的Docker容器之间通信
前言容器化网络和日志的选型和落地,主要解决的是网络选型(k8s和mesos)以下痛点:可否跨机器访问? 跨域访问? flannel可以跨容器通信 跨主机的容器互联 容器与外部互联 是否支持静态ip , 固定ip ? 域名访问? 固定ip的话,那么就需要每次部署或者更新或重启的时候,ip保持不变 overlay network, Docker 1.6 可以实现跨主机通信 是否支持dns? 4层/7层访问 容器库容后的网络 ip端口,最好不要自行手动规划 网络策略,防御 ,隔离 .原创 2020-11-25 00:18:37 · 820 阅读 · 0 评论 -
生产环境下,离线安装linux软件的准备及python脚本
前言:由于服务器机房,由于安全原因,不能进行联网进行安装一些工作软件。在这样的情况下,就需要采用离线安装ansible的方式,来进行安装一些软件了。实战环境服务器已做好了镜像的离线yum源,可以离线安装vim等工具,无法离线安装ansible服务器无法访问外网,处于网闸内环境思路步骤离线ansible需要安装的rpm包 编写自动构建离线ansible的yum源脚本 使用脚本安装ansible工具流程1.离线下载ansible需要安装的rpm包语句格式: yum inst.原创 2020-11-23 16:24:24 · 289 阅读 · 0 评论 -
通过nginx反向代理配置,及缓存功能配置,加快CDN服务器各个节点的访问速度
前言若网站数据中心在国内,怎样才能加快海外访问速度呢?那就需要搭建一台CDN服务器,在海外机房,通过nginx反向代理的方式读取国内数据中心的数据,并且进行缓存。CDN服务器,及nginx反向代理配置,均可通过手动搭建,或者通过BT面板来创建!我们要实现CDN加速,就先要来对实现这一效果的三个主要工具做一下解释:智能DNS解析:域名解析服务器,根据来访者的特征类型进行抓取,并针对性的做出不同的解析。比较常见的DNS判断线路规则有:网络供应商判断(如:电信、网通、移动、教育网等),地域原创 2020-11-02 00:21:01 · 934 阅读 · 2 评论 -
linux的I/O重定向和管道的文件描述符运用,及shell如何实现多线程?
前言shell脚本的执行效率虽高,但当任务量巨大时仍然需要较长的时间,尤其是需要执行一大批的命令时。因为默认情况下,shell脚本中的命令是串行执行的。如果这些命令相互之间是独立的,则可以使用“并发”的方式执行这些命令,这样可以更好地利用系统资源,提升运行效率,缩短脚本执行的时间。如果命令相互之间存在交互,则情况就复杂了,那么不建议使用shell脚本来完成多线程的实现。为了方便阐述,使用一段测试代码。在这段代码中,通过seq命令输出1到10,使用for...in语句产生一个执行10次的循环。每一次循原创 2020-10-30 19:28:43 · 338 阅读 · 0 评论 -
git问题解决方案汇总,包括是否提交暂存区?出现推送错误,权限问题,乱码问题,及在本地创建被git管理的项目
git status 中文文件会出现中文乱码的情况:通过将Git配置变量 core.quotepath 设置为false,就可以解决中文文件名称在这些Git命令输出中的显示问题$ git config --global core.quotepath false原创 2020-10-29 13:06:26 · 517 阅读 · 0 评论 -
为准备做架构师的您的一些良言及警示,建议置顶首页勉励自己,切记“过度的忙碌使你落后”
站在巨人肩膀成长话说一位做程序员有17 年的朋友, 在像 HP、Amazon 这样的世界级团队,担任架构师有10年,也做过中小企业的技术领导。借CSDN分享一下他的工作感悟,及成功总结,和部分失败的反思,让我们不再踩无谓的坑,站在巨人肩膀成长。先“提出问题”,然后再“解决问题”作为程序员,已经习惯于面对问题时,而急于去解决问题,而很少以问题提出者的身份去思考设计方案,很少全面的看待问题。团队项目中常见的典型矛盾,就是产品团队和研发团队之间的矛盾。作为研发团队,常吐槽产品团队的需求不合理、不懂技.原创 2020-09-23 12:22:55 · 1035 阅读 · 2 评论 -
采用阿里的ius-release.rpm,安装最新版本的终端复用神器tmux
前言:在安装tmux时,采用快捷安装,但是https://centos7.iuscommunity.org/ius-release.rpm下载报错!解决:既然,外网无法使用,是不是万能的阿里,可以帮忙?https://mirrors.aliyun.com/ius/?spm=a2c6h.13651104.0.0.4dfe6898ICENdr在centos中,yum install tmux安装的貌似是1.8版本,而保存会话等插件是需要运行在1.9版本以上的,所以需要手动下载阿里的ius-r原创 2020-09-21 16:00:44 · 2061 阅读 · 0 评论 -
用rancher创建k8s时,docker报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock等一系列踩坑过程
项目场景:提示:在用rancher创建k8s的时候,其中一台服务器,报Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?问题描述:于是到该台服务器,查看原因,无论是docker run helloworld ,还是docker info,都报Cannot connect to the Docker daemon at unix:///var/run/do原创 2020-09-17 19:52:00 · 2949 阅读 · 2 评论 -
在CDH集群中,添加新的CDH节点导致数据丢失问题解决记录
前言CDH节点操作,按理是可以动态添加,或减少的,但是在实际操作过程中,却不是这样,因为不管添加或减少数据节点,都会涉及到配置文件的变化,因此在添加或减少过后都需要做服务重启,才能使操作生效,而且没有操作快照,使问题操作或者误操作不能返回,这或许是开源产品的一个不足之处。问题在添加节点时,原数据节点(例:hadoopOld)的数据存储目录(/home/data/hadoop),和新数据节点(hadoopNew)的数据存储目录(/home/data/0)不同。在添加节点过程中,在原数据节点的数据原创 2020-07-02 16:50:04 · 2482 阅读 · 0 评论 -
启动spark服务,解决端口占用的踩坑过程及使用Phoenix操作hbase数据表
前言在尝试运行sparksql,发现spark服务没有启动,且发现其端口占用!问题处理过程在liunx系统中,搜索以下是否有spark服务?[root@A ~]# ps -ef|grep spark root 16970 25666 0 18:19 pts/2 00:00:00 grep --color=auto spark没有,就去启动spark服务启动spark服务[root@A sbin]# cd /home/software/spark2.2/sbi原创 2020-07-01 19:14:16 · 1789 阅读 · 1 评论 -
在IT开发工作中,应该如何Debug代码?如何尽快的定位问题?如何尽快的解决问题?
前言在IT开发工作中,写代码或者编程,只是其中的一部分,而更重要的是,自己觉得完美的代码,被测试,或者客户,或者领导怼出一堆BUG,刚刚还没有得意的笑脸,霎时间乌云密布,该怎么办?都是什么啊?这些问题,需求里有吗?怎么不早说?真想骂***……毕竟是自己代码的问题,甩锅是一种解决方案,但是不是最佳方案,最好的,还是从自己的代码找问题,这就避免不了在IDE上,进行反复的Debug代码,去定位问题,去解决问题……把自己洗干净了,摸清问题,再甩锅不迟啊,否者自己就变成了背锅侠……如何Debug代码?原创 2020-07-01 11:50:25 · 1836 阅读 · 0 评论 -
Centos6.4的内核是2.6.32系统内核升级到3.0.88的详细步骤
前言目前centos6.4的内核是2.6.32,对于网络间数据的采集层,如果要使用万兆网卡进行原始信令的采集处理,需要使用netmap对万兆网卡的数据包做采集。而经过测试,netmap依赖的linux内核是3.0.88,所以所有的采集服务器,内核必须安装|升级到3.0.88。步骤新装服务器为centos 6.4的内核是2.6.32,后续10GE采集需要用的netmap模块加载需要升级内核只3.0.88(1) 上传linux_3.0.88.tar至服务器/root/目录下;(2) ...原创 2020-06-22 19:51:10 · 660 阅读 · 0 评论 -
后台报com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failu问题的解决方案
问题:今早,发现昨天部署的JAVA-WEB服务,不正常启动了,于是查看后台日志,发现11:07:05.358 [Druid-ConnectionPool-Create-1102883776] ERROR com.alibaba.druid.pool.DruidDataSource - create connection holder errorcom.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link f原创 2020-06-19 11:44:29 · 4436 阅读 · 1 评论 -
安全删除Git远程的Submodule管理子模块,重新加入springcloud子模块
前言:今天提交代码,发现springcloud模块中一个模块,没有真正的提交,登陆gitlab,点击,没有代码提交,一查是Submodule管理子模块,这个是我从另一个git中拉取放到springcloud中,当时没有删除子模块的原带git地址,导致的!删除Git远程的Submodule管理子模块:首先把该子模块备份,然后执行git rm -r --cached AAAAA_businessgit commit -a -m 'remove AAAAA_business submodu原创 2020-06-02 17:46:44 · 511 阅读 · 0 评论 -
Java项目生产环境部署,遇到FTP连接加密服务器的踩坑及爬坑过程
前言:由于项目当中的采集模块需要向第三方提供ftp服务器,采集所需数据,另外,由于之前该Java项目代码已经在其他项目都可以跑通,故Java项目代码是现成的!问题:1. 系统的ftp程序无法连接远程的服务器【问题重现】:530 Non-anonymous sessions must use eneryption.【系统报错】:FTPConnectClosedException:Connection closed without indication.2. 在解决问题1后,系统无法对原创 2020-05-23 02:00:58 · 1362 阅读 · 1 评论