自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT- 研究者

IT领域,大数据开源软件的研究者

  • 博客(253)
  • 资源 (21)
  • 收藏
  • 关注

原创 CDH6安装教程(亲自测试越坑版)

一、Hadoop大数据平台1、Hadoop 发行版 (1) 完全开源的原生的Apache Hadoop (2) Cloudera与Hortonworks公司的CDH和HDP:在Cloudera和Hortonworks合并后,Cloudera公司推出了新一代的数据平台产品CDP Data Center(以下简称为CDP) (3) MapR公司的MapR(已经被HPE收购) (4) AWS亚马逊的EMR (5) 国内华为的fusioninsight (

2021-09-12 03:12:12 4604 4

原创 分布式存储ceph(Luminous/Nautilus版)安装教程

一、节点规划| 节点 | IP地址 | 主机名 | 挂载磁盘设备 || – | – | – ||deploy/mon/mgr/mds | 172.17.207.244 | node1 | /dev/sdb ||osd | 172.17.207.246 | node2 | /dev/sdb ||osd | 172.17.207.247 | node3 | /dev/sdb ||osd | 172.17.207.248 | node4 | /dev/sdb |二、每台机器通用配置1

2020-12-31 11:36:10 2395

原创 CentOS7系统下KVM虚拟机的安装与常用命令使用

一、环境准备1、检测是否支持KVMcat /proc/cpuinfo | egrep 'vmx|svm'注:如果是在vmware上跑的话,需要勾选虚拟化引擎:2、关闭SELinuxsetenforce 0sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config3、关闭防火墙systemctl stop firewalldsystemctl disable firewalldsystemc.

2020-12-15 18:15:14 2495 1

原创 基于SpEL的SpringBoot含有动态参数的日志记录与管理的实现

一、功能介绍在SpringBoot的项目应用中,常常需要记录日志到数据库中,例如系统访问日志(登录日志)、用户操作日志等,日志文本中需要含有动态的参数(发送http请求的请求参数),此情景下,可基于Spring Expression Language的动态日志信息记录功能。二、需求场景场景需求如下:package com.tang.demo.controller;import javax.validation.Valid;import org.springframework.validati

2020-12-03 09:49:57 914

原创 基于kubeadm的k8s集群安装(亲自测试无坑版)

一、节点规划主机名主机IPk8s-master172.17.185.91k8s-node01172.17.185.92k8s-node02172.17.185.93k8s-node03172.17.185.94二、所有节点操作1、关闭防火墙及selinuxsystemctl stop firewalld && systemctl disable firewalldsed -i 's/^SELINUX=.*/SELINUX=disa

2020-10-19 12:25:37 825

原创 基于Promethues与Grafana的Greenplum分布式数据库监控的实现

一、前言Greenplum是面向数据仓库应用的分布式关系型MPP数据库,基于PostgreSQL开发,跟PostgreSQL的兼容性非常好,大部分PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。GPCC是Greenplum数据库官方商业版的数据库监控软件,对于只能用得起开源的用户来说,只能考虑其他的监控方案了。本文里介绍一种基于Promethues与Grafana的Greenplum分布式数据库监控的实现方案。二、Promethues与Grafana简介

2020-09-19 22:30:42 3187 7

原创 Greenplum分布式数据库的一键安装方法汇总

Greenplum是面向数据仓库应用的分布式关系型MPP数据库,基于PostgreSQL开发,跟PostgreSQL的兼容性非常好,大部分PostgreSQL客户端工具及PostgreSQL应用都能运行在Greenplum平台上。对于初学者来说,如果想快速安装一个Greenplum集群来说,复杂的操作过程可能会比较麻烦,为此,本文介绍了一种在CentOS7系统下使用Docker安装Greenplum6的方法。内容大致包括如下:1、Docker环境的安装;2、Greenplum6镜像的拉取与启动;

2020-09-19 21:42:51 2291 10

原创 异构数据库结构与数据同步工具dbswitch

一、背景 开源MPP数据库Greenplum是一种基于PostgreSQL的分布式数据库,其采用shared-nothing架构,其架构专门用于管理大规模分析数据仓库,Greenplum主要定位在OLAP领域,利用Greenplum MPP数据库做大数据计算或分析平台非常适合,典型的就是数据仓库系统。 虽然Greenplum支持JDBC 、libpg、copy、gpfdi...

2020-05-29 22:32:24 8334 2

原创 一个网站新闻页通用的正文抽取组件libnpce

一、背景 在舆情系统中,通常会有一个网络新闻爬虫子系统,准实时的采集互联网上的媒体新闻数据,以供上层聚类事件分析。这类新闻数据的组成元素包括:标题 发布时间 来源及其URL链接地址 正文文本内容 正文图片信息(图片位置、图片的URL路径等) 其他二、libnpce组件 新闻文章正文抽取News Passage Content Extractor (NPCE),是...

2019-12-28 00:12:54 336 1

原创 关于Linux上的$ORIGIN解说

RPATH代表运行时搜索路径。根据Wikipedia的说法,“rpath指定在可执行文件或库中硬编码的运行时搜索路径。动态链接加载程序使用rpath查找所需的库” 动态链接是所需共享库的一种“惰性”链接,不是在编译阶段,而是在运行一个可执行文件的后期。如果设置了rpath,覆盖或补充系统默认的共享库搜索路径,则共享库的路径将被编码到可执行文件的头中,就像扩展PATH系统变量链一样。$ORIGIN是一个特殊的变量,指示实际的可执行文件名。它在运行时解析到可执行文件的位置,在设置RPATH时非常有用。示例。

2024-03-05 18:56:09 452

原创 Greenplum7一键安装

2023年9月底,Greenplum 发布了7.0.0版本,并于2023年10月03日开放了。

2023-10-03 22:55:55 897

原创 常见关系数据库的docker安装

账号:test/123456 和 root/123456。

2023-08-11 23:44:56 897

转载 Linux命令之nc命令

nc是的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat。

2023-08-11 21:57:59 373

原创 学习之Lemon语法分析生成器

https://blog.csdn.net/larryliuqing/article/details/7355101https://blog.csdn.net/yawsh/category_825966.htmlhttps://sqlite.org/src/doc/trunk/doc/lemon.htmlhttps://souptonuts.sourceforge.net/readme_lemon_tutorial.html

2023-07-10 21:25:17 102

原创 Hazelcast 在springboot下的使用集成

Hazelcast是一款由Hazelcast公司开发的基于jvm环境的为各种应用提供分布式集群服务的分布式缓存解决方案。可以嵌入到java、c++、.net等开发的产品中使用。其实我们最简单的一个理解就是,以Map接口为例,在Hazelcast中创建了一个map之后,当我们通过Hazelcast创建一个Map实例后,我们在节点A调用 Map::put("A","A_DATA") 方法添加数据,然后可以在节点B使用 Map::get("A") 获取到值为"A_DATA" 的数据。

2022-12-22 20:46:13 1798 1

原创 Spring中SecurityContextHolder的异步使用解说

Spring中SecurityContextHolder的异步使用解说

2022-09-17 00:02:53 1345 1

原创 学习笔记:k8s的标签和标签选择器

k8s的标签和标签选择器

2022-07-27 23:37:58 3131

原创 神通数据库v7.0试用版安装步骤

神通数据库v7.0试用版安装步骤

2022-07-12 00:25:05 1874

原创 使用IDEA通过ssh隧道调试远程服务器代码

使用IDEA通过ssh隧道调试远程服务器代码

2022-06-15 19:22:50 3169

转载 Akka学习指南(Java版)——构建分布式系统

Akka学习教程

2022-06-12 21:38:14 879

原创 ThreadLocal使用探究

ThreadLocal的作用是提供线程内的局部变量,这种变量在多线程环境下访问时能够保证各个线程里变量的独立性。

2022-06-11 22:02:23 229

原创 MySQL的数据库不能重命名问题处理方法

对于MySQL数据库,并未提供修改库名的SQL方法,那如何修改库名呢?处理方法如下:1、重命名旧库下边的所有表到新库:create databases `test2`;RENAME TABLE `test1`.`t_user` TO `test2`.`t_user`;使用如下SQL导出上述SQL:SELECT CONCAT('RENAME TABLE `test1`.`',TABLE_NAME,'` TO `test2`.`',TABLE_NAME,'`;') as statemen

2022-03-15 14:50:17 3025

原创 基于正则对JDBC的URL中提取有效参数的方法

一、背景需求在Java的实际开发中,可能会遇到如下需求:(1)给定一个数据库的JDBC-URL连接字符串,要求去判断该字符串格式的合法性;(2)给定一个数据库的JDBC-URL连接字符串,要求去判断连接该数据库的可达性;(3)给定一个数据库的JDBC-URL连接字符串,要求去判断连接串中的某些参数配置信息;二、基于正则的提取方法通过搜集互联网上对jdbc-url提取参数的方法,感觉相对通用且合适的几乎没有,于是通过阅读合分析dbeaver工具的代码,发现了一个基于正则改进的提取jdb

2021-11-20 23:12:59 3899 4

转载 Spring容器中Bean的生命周期内所有可扩展的点

1.背景在这篇文章里,我总结了几乎Spring & Springboot所有的扩展接口,以及各个扩展点的使用场景。并且整理出了一个bean在spring内部从被加载到最后初始化完成所有可扩展点的顺序调用图。从而我们也能窥探到bean是如何一步步加载到spring容器中的。2.可扩展的接口启动调用顺序图以下是我整理的spring容器中Bean的生命周期内所有可扩展的点的调用顺序,下面会一个个分析3.ApplicationContextInitialize

2021-11-09 10:02:05 671

转载 git cherry-pick 使用教程

一、基本用法git cherry-pick命令的作用,就是将指定的提交(commit)应用于其他分支。$ git cherry-pick <commitHash>上面命令就会将指定的提交commitHash,应用于当前分支。这会在当前分支产生一个新的提交,当然它们的哈希值会不一样。举例来说,代码仓库有master和feature两个分支。 a - b - c - d Master \ e - f - g Fea

2021-09-18 10:24:00 762

转载 MyBatis拦截器原理探究

MyBatis拦截器介绍MyBatis提供了一种插件(plugin)的功能,虽然叫做插件,但其实这是拦截器功能。那么拦截器拦截MyBatis中的哪些内容呢?我们进入官网看一看:MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括:Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) Pa

2021-09-16 14:34:54 155

转载 Mybatis自定义拦截器与插件开发

在Spring中我们经常会使用到拦截器,在登录验证、日志记录、性能监控等场景中,通过使用拦截器允许我们在不改动业务代码的情况下,执行拦截器的方法来增强现有的逻辑。在mybatis中,同样也有这样的业务场景,有时候需要我们在不侵入原有业务代码的情况下拦截sql,执行特定的某些逻辑。那么这个过程应该怎么实现呢,同样,在mybatis中也为开发者预留了拦截器接口,通过实现自定义拦截器这一功能,可以实现我们自己的插件,允许用户在不改动mybatis的原有逻辑的条件下,实现自己的逻辑扩展。本文将按下面的结构进行m

2021-09-16 14:33:22 300

转载 基于DAG的任务编排框架/平台

一、任务编排工作流任务编排是什么意思呢,顾名思义就是可以把"任务"这个原子单位按照自己的方式进行编排,任务之间可能互相依赖。复杂一点的编排之后就能形成一个 workflow 工作流了。我们希望这个工作流按照我们编排的方式去执行每个原子 task 任务。如下图所示,我们希望先并发运行 Task A 和 Task C,Task A 执行完后串行运行 Task B,在并发等待 Task B 和 C 都结束后运行 Task D,这样就完成了一个典型的任务编排工作流。二、DAG 有向无环图首先我们了解图这

2021-08-02 22:52:27 4865 1

转载 使用 Google Guava Striped 实现基于 Key 的并发锁

写 Java 代码至今,在应对可能冲突的共享资源操作时会尽量用 JDK 1.5 开始引入的并发锁(如 Lock 的各类实现类, ReentrantLock 等) 进行锁定,而不是原来的synchronized关键字强硬低性能锁。这里是应用 JDK 1.5 的Lock的基本操作步骤private Lock lock = new ReentrantLock();private void operate() { // 安全操作 .... lock.lock(); tr...

2021-08-02 22:47:07 1849

转载 ListenalbeFuture的使用总结

为了提高任务处理速度,我们经常会将一些可并行处理的步骤用异步的方式去处理,如果想要获取异步计算的结果,在Java 8之前更多的用的是Future + Callable的方式来实现,下面是使用Future和Callable的一个demo,其中的是executor.submit()方法实际返回的就是FutureTask的实例,另外Future的get方法会一直阻塞直至获取结果。public class FutureTest { public static void main(String[] ar

2021-07-26 15:00:22 1194

转载 Jackson之JSON序列化和多态反序列化

SerDe是Serialize/Deserilize的简称,目的是用于序列化和反序列化。一、Jackson之序列化和反序列化JSON作为一种轻量级的数据交换格式,其清晰和简洁的结构能够轻松地与Java对象产生映射关系。Java开发中常常使用Jackson对JSON文本格式进行序列化和反序列化:序列化:是指将Java对象转换成Json文件或者Json字符串;反序列化:是指将Json文件或者Json字符串转换成Java对象。例如,有如下定义的java的bean:public cl.

2021-07-19 23:21:30 6317

原创 Hive3.1.2版本的UDF开发教程

一、UDF简介1、UDF函数:UDF(User-Defined Functions)即是用户定义的hive函数。hive自带的函数并不能完全满足业务需求,这时就需要我们自定义函数了。2、UDF的分类:UDF:one to one,进来一个出去一个,row mapping。是row级别操作,如:upper、substr函数UDAF:many to one,进来多个出去一个,row mapping。是row级别操作,如sum/min。UDTF:one to many ,进来一个出去多个。如a

2021-07-16 22:30:12 1721 1

原创 MySQL的TinyInt类型及JDBC的url中的tinyInt1isBit参数

一、问题描述问题:在使用Java的jdbc读取tinyint(1)类型的数据时,rs.getObject(i)的值为Boolean类型的true/false。而数据库中存储的是1或0,那为啥用JDBC读取到的就是true或false了呢?所以,JAVA数据类型 和 MYSQL的数据类型转换,要注意tinyInt 类型,且存储长度为1的情况。二、原因分析MYSQL官方的JDBC文档定义转换规则如下:MySQL Types to Java Types for ResultSet.getObj

2021-07-13 23:09:26 1721

原创 两个相同结构的关系数据库表的差异比较方法

当您有两个表(或来自 SELECT 语句的结果集)要比较,并且您想查看任何列中的任何更改,以及查看 1 个表中存在哪些行而不是另一个(在任一方向)时,我发现 UNION 运算符工作得很好。基本思想是:如果我们对所有列上的两个表的并集进行 GROUP,那么如果这两个表相同,所有组将导致 COUNT(*) 为 2。但是对于在任何列上不完全匹配的任何行GROUP BY 子句,COUNT(*) 将是 1 -- 而这些就是我们想要的。我们还需要在 UNION 的每个部分添加一列来指示每行来自哪个表,否则无法区分哪

2021-06-15 18:48:03 2078 3

原创 Java 9中--add-exports和--add-opens有什么区别?

在Java 9(jdk-9 + 170)默认情况下不允许应用程序查看来自JDK的所有类,而不像以前的所有Java版本。Java 9中--add-exports和--add-opens有什么区别?使用--add-exports包被导出,意味着所有的公共类型和成员都可以在编译和运行时访问。随着--add-opens打开包,这意味着其中的所有类型和成员(不仅是公共的!)在运行时可以访问。所以在运行时的主要区别是--add-opens允许“深度反射”,意思是非公共成员的访问。您通常可以通过拨打setAcce

2021-06-10 22:53:53 10290 2

转载 Paxos、Raft分布式一致性算法应用场景

一、分布式一致性 (Consensus)分布式一致性问题,简单的说,就是在一个或多个进程提议了一个值应当是什么后,使系统中所有进程对这个值达成一致意见。这样的协定问题在分布式系统中很常用,比如:领导者选举(leader election):进程对leader达成一致; 互斥(mutual exclusion):进程对进入临界区的进程达成一致; 原子广播(atomic broadcast):进程对消息传递(delivery)顺序达成一致。对于这些问题有一些特定的算法,但是,分布式一致性问题试

2021-06-10 13:41:35 369

原创 rsync文件镜像同步工具安装教程

rsync 是远程(或本地)复制和同步文件最常用的命令,是一款数据镜像备份工具。 借助 rsync 命令,你可以跨目 录,跨磁盘和跨网络远程与本地数据进行复制和同步。它名称里面的r指的是 remote,rsync 其实就是"远程同步"(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。参考教程:[1] http://www.ruanyifeng.com/b.

2021-05-13 14:32:51 587 1

转载 应用网站架构之高并发解决方案

1. 高并发和大流量解决方案(1)高并发架构相关概念并发:在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行;在互联网时代,所讲的并发,高并发通常是指并发访问,也就是在某个时间点,有多少个访问同时到来。通常一个系统的日PV在千万以上,有可能是一个高并发的系统。有的公司完全不走技术路线,全靠机器堆,这不在讨论范围内。  QPS:每秒钟请求或者查询的数量,在互联网领域,指每秒响应请求数(指HTTP请求

2021-05-11 22:41:41 348

原创 SpringBoot中同一格式的RESTful接口设计

一、背景前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。通常,后端会以统一风格格式返回给前端。如:{ code:integer, #返回状态码 message:string, #返回信息描述 data:object #返回值}二、实现思路1、定义一个注解@ResponseResult,表示这个接口返回的值需要包装一下2、拦截请求,判断此请求是否需要被@ResponseResult注解

2021-05-06 22:38:47 312

转载 Redis做消息队列时与专业的消息队列的差别

有些人认为 Redis 很轻量,用作队列很方便。但有些人也认为 Redis 会「丢」数据,最好还是用「专业」的队列中间件更稳妥。那你觉得究竟哪种方案更好呢?下面,我就和大家聊一聊把 Redis 当作队列,究竟是否合适这个问题。我会从简单到复杂,一步步带你梳理其中的细节,把这个问题真正地讲清楚。List 队列首先,我们先从最简单的场景开始讲起。如果你的业务需求足够简单,想把 Redis 当作队列来使用,那最先想到的肯定就是使用 List 这个数据类型。因为 List 底层的实现就是一个「链

2021-05-06 21:18:07 701

软件项目研产品开发流程.pdf

一个完整的软件项目/产品的开发流程及其角色成员

2021-02-16

MongoDB3集群的搭建及验证.docx

MongoDB3集群版本的搭建详细步骤过程及可用性的简单验证的文档整理,请下载查看楼!!!!!!!!!!!!!!!!!!!!!!!!!!!

2020-08-29

autossh.tar.gz

centos操作系统下免登录的一键配置工具,使用前先安装expect,并配置机器的IP,账号与密码,一键执行即可。

2020-08-22

greenplum_exporter-1.0-1.x86_64.rpm

Greenplum 6 exporter for Prometheus of realtime monitor system

2020-07-26

greenplum-6.6.0-distribute-installer.tar.gz

Greenplum分布式MPP数据库多节点主机一键安装及卸载脚本,里面包含详细的安装教程和设计实现方法。

2020-04-30

jclasslib_win64_5_5.zip

JClassLib是一款简单好用的编程代码编写查看工具,能快速编写代码程序,代码查看编辑生成信息读取等多种功能,使用简单快速编程。这里提供了jclasslib工具下载。

2020-03-07

Java设计模式导读.pdf

一本使用Java语言讲述设计模式的电子书,设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。

2020-03-07

数据库访问工具dbeaver7.0

DBeaver 是一个基于Java 开发,免费开源的通用数据库管理和开发工具,DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等

2020-03-07

HTML网页截图工具CutyCapt源代码

CutyCapt是基于Qt实现的跨平台的将HTML网页转化成矢量图形和位图图像格式的命令行工具(比如,SVG, PDF, PS, PNG, JPEG, TIFF, GIF)

2015-11-25

Windows下采用IOCP实现的ACE的Proactor框架剖析

ACE的Proactor框架在Windows底层下是采用IOCP来实现的,这里采用IOCP模仿实现了ACE的Proactor框架,对于学习和研究ACE的Proactor框架很有帮助.

2015-04-20

Web服务器(VC++2005源代码)

Web服务器(VC++2005源代码) [基于Socket编程和MFC实现的Web服务器程序]

2012-05-02

软件安装包程序制作(VC++6.0源代码)

本程序用于初学者学习VC软件安装包程序的设计与制作. 【辽宁大学信息学院】

2012-01-01

遍历一个目录下的所有文件(VC++6.0源代码)

用VC++6.0编写的用于遍历一个目录下的所有文件的源代码。

2011-09-16

显示或隐藏桌面窗口(VC++6.0源代码).rar

显示或隐藏桌面窗口(VC++6.0源代码).rar 显示或隐藏桌面窗口(VC++6.0源代码).rar 显示或隐藏桌面窗口(VC++6.0源代码).rar

2011-09-13

漂亮的石英钟(VC++6.0源代码)

漂亮的石英钟(VC++6.0源代码)漂亮的石英钟(VC++6.0源代码)

2011-09-05

IP地址设置工具(VC6.0开发)

IP地址设置工具(VC6.0开发)IP地址设置工具(VC6.0开发)

2011-08-24

Asm汇编编译器(VC++6.0源代码)

Asm汇编编译器(VC++6.0源代码).用于编译Windows下的汇编文件

2011-08-16

基于TCP的文件下载系统(VC++6.0源代码).

基于TCP的文件下载系统(VC++6.0源代码).有客户端和服务器端,可作为初学者学习网络通信用!【辽大】

2011-07-18

辽宁大学网关登录器(VC++6.0源代码).

辽宁大学网关登录器(VC++6.0源代码).在辽大校园网内可正常使用.

2011-07-16

IP地址设置器(VC++6.0源代码)

IP地址设置器+界面美化(VC++6.0源代码)用于经常在学生在宿舍和实验室等两个地点搬动笔记本是更改IP地址的麻烦而设计。纯绿色!!!【辽宁大学】

2011-07-15

精美时钟(VC++6.0源代码)

精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)精美时钟(VC++6.0源代码)

2011-06-03

空空如也

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

TA关注的人

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