自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (2)
  • 收藏
  • 关注

原创 基于字符串生成json转换的类型

json ParameterizedTypeImpl type

2023-03-03 14:17:25 223

原创 dubbo java.lang.StackOverflowError: null

dubbo StackOverflow

2022-10-26 20:08:16 544

原创 Nebula Exchange 从Hive导入 NoSuchMethodError

nebula exchange hive spark guava

2022-09-22 20:28:13 2912

原创 数据侧治理

表设计范式1.第一范式(1NF): 原子性,字段不可再分割数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子项数据例:购买商品数量: 10部华为手机, 可以拆分为: 商品名+数量2.第二范式(2NF): 唯一性,一个表只能说明一个事务,有主键,非主键字段依赖主键要求数据库表中的每行(或称每个实例)必须可以被唯一的区分,为实现区分通常需要我们设计一个主键来实现注: 第二范式需先满足第一范式3…第三范式(3NF):非主键字段不能相互依赖,不能存在传递依赖要求数据库表中不

2022-04-27 14:31:15 821

原创 Flink多sink输出

Flink多sinkFlink单一流多sink通过OutputTag侧输出多个计算结果(同一结果对象需要进行copy再设置至侧输出流, 暂不支持同对象多次输出)进行sinkFlink多阶段sink通过OutputTag侧输出第一次计算结果进行sink主流继续计算, 最后再sinkpackage com.gin.demo;import lombok.*;import org.apache.flink.api.common.functions.MapFunction;import org.a

2021-06-01 11:50:54 11900

原创 flink api 简介

1.1 不同级别的抽象Flink API 最底层的抽象为有状态实时流处理。其抽象实现是 Process Function,并且 Process Function 被 Flink 框架集成到了 DataStream API 中来为我们使用。它允许用户在应用程序中自由地处理来自单流或多流的事件(数据),并提供具有全局一致性和容错保障的状态。此外,用户可以在此层抽象中注册事件时间(event time)和处理时间(processing time)回调方法,从而允许程序可以实现复杂计算。Flink A

2021-04-13 16:22:53 1379

原创 hadoop_install_单机_集群

requirejdk时间同步服务器免密single node#!/bin/bash################################################# GIN INSTALL LIVY ENV# ################################################## Directory name filter criteriaMARK='hadoop'### install_pathINSTALL_PATH=

2021-04-13 09:31:50 101

原创 JAVA_枚举单例

/** * @author gin * @date 2021/3/17 */public enum SingleUser { /** * 单例对象 */ INSTANCE; private int id; private String name; SingleUser() { // 创建需要的对象 // 内部属性 // 外部连接 this.id = 1; th

2021-03-17 16:24:23 513

原创 flink采集rocketmq写入hbase_java版

详见https://github.com/gin-soul/gin/tree/master/flink/src/main/java/com/gin/flink/demo

2021-02-16 17:10:48 545

原创 linux安装maven

下载安装包切换到软件下载目录,下载安装包:cd /opt/software/tmp/wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz解压安装包想要把软件安装在哪个目录,就把压缩包解压到哪个目录:tar xzf /opt/software/tmp/apache-maven-3.5.4-bin.tar.gz -C /opt/software#创建仓.

2021-02-13 17:19:17 90

原创 HBase优化设计

HBase优化设计1.1 表的设计对表的Region进行预分区, 加快新建表写入或批量写rowkey散列设计, 考虑业务范围查询列族最好1个, 不超过2个版本号一般为1(只保留最新), 数据也可以设置TTLminor compact尽量错峰(合理设置触发条件, 定时任务合并), major compact必须错峰1.1.1 Pre-Creating Regions(预分区)默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这

2021-02-13 10:20:20 576

原创 Hbase结合protocolbuffers

下载稳定版本列表https://github.com/protocolbuffers/protobuf/releasesprotobuf-2.5.0https://github.com/protocolbuffers/protobuf/releases/tag/v2.5.0安装#安装gcc gcc-c++等组件#查看yum安装工具包组yum grouplist | grep "Development Tools"#安装工具组yum groupinstall "Developmen

2021-02-12 16:37:59 231 1

原创 Hbase安装及基本DDL DML操作

Hbase注意事项hbase会启动自带zk端口, 注意与zk集群错开服务器, 或者调整端口doc目录可删standalone安装下载, 上传, 解压mkdir -p /opt/software#上传 hbase-2.0.5-bin.tar.gz#解压tar -zxf hbase-2.0.5-bin.tar.gz -C /opt/softwarecd /opt/software/hbase-2.0.5mv docs /tmp && rm -rf /tmp/docs

2021-02-08 01:57:45 276

原创 flink单节点及HA安装

flink官网下载Flink安装包不建议采用小版本号为0的安装包(如1.9.0),建议使用1.9.2版本安装包上传到node01节点解压、修改配置文件解压:tar -zxf flink-1.9.2-bin-scala_2.11.tgz修改flink-conf.yaml配置文件#JobManager地址jobmanager.rpc.address: node01 #JobManagerRPC通信端口jobmanager.rpc.port: 6123#JobManager所能使用的堆

2021-02-05 11:06:47 448

原创 linux增加虚拟内存

#可选: 关闭已存在的虚拟内存, 查看挂载的路径, swapoff 挂载路径cat /etc/fstabswapoff /dev/mapper/centos-swap#删除启动挂载的路径vim /etc/fstab#创建块dd if=/dev/zero of=/opt/swapfile bs=1M count=4096#格式化mkswap -f /opt/swapfile#开机自动挂载vim /etc/fstab#修改, 新增挂载: /opt/swapfile swap swap

2021-02-04 19:22:07 140

原创 leaf安装

leaf安装(分布式ID)yum install -y gitcd /usr/localgit clone https://github.com/Meituan-Dianping/Leaf.git#安装maven, 或离线安装yum install -y mavenvim /etc/maven/settings.xml#配置阿里镜像仓库 <mirror> <id>nexus-aliyun</id> <mirror

2021-01-16 21:14:23 541

原创 vmware虚拟机安装CentOS7.6_1810注意事项

资源CentOS官网: (建议下载CentOS-7-x86_64-DVD-1810 便于最小化安装时安装一些tool)https://archive.kernel.org/centos-vault/7.6.1810/isos/x86_64/工具及安装好的模板机(百度网盘):https://pan.baidu.com/s/1AznNaM_yv3SsdGIzuVwOKQ提取码:gin7注意事项创建虚拟机过程"网络"一般使用 NAT 模式“磁盘"一般选择"创建新虚拟磁盘”安

2021-01-16 20:08:10 1000 2

原创 vmware虚拟机克隆网络配置问题

克隆的虚拟机,网络配置问题最好新创建的虚拟机直接在"设置"->“高级”->“网络配置”->“MAC地址”->点击"生成"; 避免重复MAC导致后续克隆主机MAC冲突导致网络不能使用资源:https://pan.baidu.com/s/1AznNaM_yv3SsdGIzuVwOKQ提取码:gin71.需删除"HWADDR",“UUID”, 注意设置(BOOTPROTO=static 和 ONBOOT=yes)vi /etc/sysconfig/network-scr

2021-01-15 18:09:09 244

原创 etcd_install

克隆的虚拟机,网络配置问题1.需删除"HWADDR",“UUID”, 注意设置(BOOTPROTO=static 和 ONBOOT=yes)vi /etc/sysconfig/network-scripts/ifcfg-ens33#删除( 按两次d ) "HWADDR" "UUID"#修改IP即可 [网关(如:10.0.0.2) DNS(8.8.8.8 或增加网关值 DNS2=10.0.0.2)]2.清空70-persistent-net.rules文件, 不存在则不用操作cd /etc/

2021-01-15 15:45:32 140

原创 maven模块互相依赖打包处理

处理打包 class not found<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!-- 尤其注意 classifier 需要设置 exec, 先打编译用jar包, 再打可执行jar --> <configuration>

2021-01-02 22:42:46 735

原创 centos7 关闭防火墙

centos7 关闭防火墙# 临时关闭sudo systemctl stop firewalld# 永久关闭, 防止reboot失效sudo systemctl disable firewalld# 查看防火墙状态sudo systemctl status firewalld

2020-12-06 20:36:08 83

原创 zookeeper_note

zookeeper 分布式协调服务主从集群模型(数据存放内存/读写快)运行状态:(不可用状态恢复到可用状态应该越快越好/200ms)可用状态(leader存活)不可用状态(leader宕机)存在问题:leader宕机可能性不可靠的集群zk处理:不可用至可用状态恢复速度快, 以保障集群的高可用性(200ms)一个3节点zk集群可以支撑8万并发读 或 2万并发写, 也说明一点, zk适合大量并发读取, 不适合频繁去修改存储格式:持久节点临时节点(session):

2020-12-04 22:31:58 202

原创 redis_note_07_使用

redis缓存使用问题击穿现象: 大量客户访问某个热key, 由于key刚好过期/淘汰, 大量请求绕过redis, 直接落到数据库上; 导致数据库瞬间压力过大问题: 大量并发绕过缓存, 对数据库压力;处理: redis6.x之前为单进程单实例处理读写操作, 大量读同一key请求在redis队列中排队; 这时第一个请求未查询到key, 那么就可以设置一把锁( setnx() ), 只有第一个请求获取到这把锁, 可以访问数据库并加载缓存, 加载完成后再释放锁(同时设置过期时间, 避免死锁);

2020-12-01 18:04:40 73

原创 linux时间同步

使用vmware虚拟机中安装的Linux如果没有时间同步单台服务器 make 命令可能失败,报:make: Warning: File `Makefile.am’ has modification time 5691744 s in the future集群情况下:集群有状态通讯问题时间同步单台yum install -y ntp#使用阿里云服务同步ntpdate ntp1.aliyun.com#直接修改时间# 查看当前时间date +"%Y-%m-%d %H-%M-%S

2020-11-30 10:20:39 119

原创 redis_note_06_主从复制及高可用

单机/单节点/单实例存在的问题单点故障容量限制并发压力AKFX: 全量, 镜像(节点的备份/主备)Y: 按功能/业务拆分数据至多个节点/实例Z: 对单个功能/业务, 按时间范围/ID范围(或优先级别等逻辑)进行逻辑拆分以一个系统的数据库(鉴权业务/功能1/功能2/报表业务)为例:X: 相当于整库的备份(主备)Y: 相当于将"鉴权业务/功能1/功能2/报表业务"这些业务包含的表, 从1个库中, 拆分至4个库(分库/垂直拆分)Z: 相当于将"鉴权业务"的用户表按ID拆分至多个库(

2020-11-22 18:15:54 390 1

原创 redis_note_05_rdb_aof

持久化缓存: 数据可以丢, 速度极快数据库: 数据绝对不能丢(非服务器断电), 速度+持久性方案快照/副本日志快照: RDB (redis db, 时点性)快照实现方案阻塞, redis不对外提供服务, 将所有的k-v转换成db.file后再提供服务非阻塞, redis对外提供服务, 并将所有k-v转换成db,file(问题点: 提供服务过程中, k-v会对应被更新, 如何处理?)对应linux系统父子进程管道( | )衔接, 前一个命令的输出作为后一个命令的

2020-11-12 22:03:17 58

原创 mysql数据库密码更新脚本

注意事项脚本为更新密码, 对应被更新用户(目前为: gin, 根据实际情况修改)需要有在对应linux服务器上的登录权限执行方式: ./alter_mysql.sh 123457 123458第一个参数为当前(旧)的登录密码, 第二个参数为新的密码GRANT ALL PRIVILEGES 根据需要调整密码生成文件根据需要删除#!/bin/bashOLD_PASSWORD=$1NEW_PASSWORD=$2MYSQL_USER=ginfunction install_info()

2020-11-10 10:49:26 381

原创 sed替换行内部分匹配数据,一键替换密码配置

场景:应用配置文件(application-dev.properties)中密码, 客户希望通过脚本一键替换:spring.datasource.druid.primary.password=oxoxspring.datasource.druid.primary.password=YourNewPasswdsed替换#1.模糊分组匹配sed -i -r "s#(spring.datasource.druid.primary.password=)(.*)#\1YourNewPasswd#g"

2020-11-09 11:52:42 1032

原创 redis_note_04_pipeline_transaction_models

pipeline通过nc模拟客户端请求yum install -y nc#nc连接6379端口, 在阻塞窗口发送命令, 类似redis-clinc localhost 6379flushall+OKset k1 6+OKincr k1:7通过 echo 及 | 将多条命令一起发送pipeline可用于redis数据冷加载echo -e "setnx k2 1\n incr k2\n get k2" | nc localhost 6379:1:2$12消息订阅

2020-11-09 00:58:49 103

原创 redis_note_03_list_hash_set

list查看helpredis-cli --raw 连接成功127.0.0.1:6379> help @listlpush lpop rpush rpop (l r表示左右反向)同向命令(lpush lpop): 栈结构反向命令(lpush rpop): 队列结构lrange(这里的l表示为list类型,非方向)127.0.0.1:6379> flushdbOK127.0.0.1:6379> lpush k1 a b c d e f6127

2020-11-08 13:24:26 214

原创 redis_note_02_string

查看helpredis-cli --helpredis-cli连接成功, 进入 127.0.0.1:6379> 后, 可以使用 help @set 查看命令帮助; 或输入 help @ 后, 按tab键来查看命令; 或直接输入 help 可以查看help使用方式string字符数值bitmap基本使用setset redis "hello world"#输出OKget redis#输出"hello world"set “key” “value” nxset “ke

2020-11-07 22:02:14 62

原创 redis_note_01_install

whyredis(基于内存寻址)对比关系型数据库(基于磁盘IO)寻址速度更快redis(string, list, hashes, set, sorted set)相比memcache(key-value, String), 拥有更多的数据结构, 在插入表现类似(x=1; x=[1,2,3]; x={y=1, z=2}均能转化为k-v), 但是要从value中针对性取出部分数据时, redis的优势就体现出来了(计算向数据转移)redis对比aerospike, redis6版本(c标准库中的并发函

2020-11-07 16:52:41 97

原创 jvm_note_01

java编码至执行#mermaid-svg-wV542anvXT8N0huH .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-wV542anvXT8N0huH .label text{fill:#333}#mermaid-svg-wV542anvXT8N0huH .node rect,#mermaid-svg-

2020-11-04 20:59:53 96 1

原创 linux生成https证书并通过nginx验证https访问

linux生成证书#1.建立服务器私钥, 生成RSA秘钥#会有两次要求输入密码(123456)cd ~openssl genrsa -des3 -out server.key 2048#然后获得了一个server.key文件cat server.key#2.以后使用此文件(通过openssl提供的命令或API)可能经常回要求输入密码,如果想去除输入密码的步骤可以使用以下命令:openssl rsa -in server.key -out server.key#3.创建服务器证书的申请

2020-10-28 18:42:54 392

原创 elasticsearch kibana ik 各版本(5.6.8, 6.8.2, 7.6.2等)下载

官网下载地址最新版本https://www.elastic.co/cn/downloads/历史版本https://www.elastic.co/cn/downloads/past-releases迅雷 速度快一般下载问题主要是查询历史版本时页面基本打不开根据doc中的 quick start, 获取下载地址或者搜索页面获取( https://www.elastic.co/cn/search )将找到的下载地址通过迅雷下载一般相同大版本的下载, 更换小版本号即可下载不同

2020-09-13 17:57:59 2213 2

原创 kafka_14_集成 flume

前置条件kafka 集群软件信息网盘下载地址链接:https://pan.baidu.com/s/1b5DjLQBmbz_8Nh7DyLj2BQ提取码:gin1install当前安装演示版本apache-flume-1.9.0-bin.tar.gzinstall# 解压tar -zxf apache-flume-1.9.0-bin.tar.gz -C /home/kafka/# 查看cd /home/kafka/apache-flume-1.9.0-bin/l

2020-08-30 14:37:06 136

原创 kafka_13_监控 kafka-eagle 安装

前置条件kafka 集群mysql软件信息源码地址https://github.com/smartloli/kafka-eagle下载地址http://download.kafka-eagle.org/网盘下载地址链接:https://pan.baidu.com/s/1b5DjLQBmbz_8Nh7DyLj2BQ提取码:gin1install当前安装演示版本kafka-eagle-bin-1.4.0.tar.gzinstall# 解压tar -zxf ka

2020-08-30 13:03:32 252

原创 note_shell_去掉注释行空行

针对xmlawk# awk awk 'BEGIN{RS="<!--|-->"}NR%2' 需要去掉注释行的文件名 > 临时文件名sed# sedsed '/<!--/{:a;/-->/!{N;ba}};/<!--/d' 需要去掉注释行的文件名 > 临时文件名针对 # 注释文件(对xml文件无效)grep# grep#删除注释行到临时文件中grep -v '^#' 需要去掉注释行的文件名 > 临时文件名#删除文件中.

2020-08-22 19:45:24 299

原创 kafka_12_同步机制

kafkaSegmentsKafka的Topic被分为多个分区,分区是是按照Segments存储文件块(默认大小为1G, 超过1G则形成新的Segments)。分区日志是存储在磁盘上的日志序列,Kafka可以保证分区里的事件是有序的。其中Leader负责对应分区的读写、Follower负责同步分区的数据LEO:log end offset标识的是每个分区中最后一条消息的下一个位置,分区的每个副本都有自己的 LEOHW: high watermarker称为高水位线(同

2020-08-14 00:11:45 899

原创 nginx stream负载neo4j 避免随机获取数据问题

nginx编译时携带 --with-stream 参数./configure --prefix=/home/nginx –conf-path=/home/nginx/nginx.conf –user=nginx --group=nginx –with-http_stub_status_module –with-http_gzip_static_module –with-http_realip_module –with-http_ssl_module –with-luajit --wi.

2020-08-13 19:09:20 425

axis2_java_test.zip

先解压idea项目进行测试,再看wsdl客户端生成.txt自行生成客户端代码测试

2019-08-28

docker中集成redis mysql tomcat

docker安装 mysql安装 tomcat安装 redis安装 组件之间的互连 挂载

2018-11-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除