自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 收藏
  • 关注

原创 【HBase之轨迹】(3)Apache Phoenix 5.1.2 详细使用,像 MySQL 一样使用 SQL 语句操作 HBase(Shell 操作和 SpringBoot+MyBatis 整合)

本篇将记录 Phoenix 的安装配置过程,Shell 使用和使用 SpringBoot+MyBatis 整合 Phoenix。配置过程中的一些常见错误已经在文中指出,有如 Phoenix 无法启动、缺少依赖、Command line too long、如何映射实体类等。避免走笔者已经走过的弯路,如果还发现新的问题欢迎留言。

2022-03-08 13:36:51 2955 4

原创 【HBase之轨迹】(2)使用 hbase命令 和 JavaAPI 操作 HBase(包括复杂查询--过滤器,HBase 工具类)

本篇介绍了 HBase 一系列命令的使用,包括表的增删改查,数据的增删改查同时列出了官网中提到的各个过滤器和比较器及其功能,最后在命令行和 Java 中进行使用JavaAPI 另外整理了一个工具集,以及其简单使用

2022-02-25 15:43:26 2560 3

原创 【HBase之轨迹】(1)使用 Docker 搭建 HBase 集群

继 hadoop 和 zookeeper 之后,再次使用 docker 搭建 hbase 集群,详细说明搭建过程以及 docker 搭建过程中会才踩到的坑。同时

2022-02-22 16:25:45 3337 4

原创 【Java之轨迹】SpringBoot 实现动态往数据库中添加时间点,使程序在规定的时间点执行任务(定时任务变形应用,附实战:动态日程提醒任务调度)

本文中使用 SchedulingConfigurer ,利用动态多定时任务的添加和删除,实现了通过 mysql 数据库中指定的一系列时间点,使得程序在指定的时间点执行对应任务的功能。本质上是重复定时任务的变形,但更加灵活,能支持动态插入时间点使程序执行任务文中附带一个实战,帮助大家更好地感受和理解

2022-01-31 16:10:52 4069 8

原创 【Nginx之轨迹】Nginx + Lua 实现 waf Web 应用防火墙(解决 nignx 加载失败问题:LuaJIT version which is not OpenResty‘s)

详细步骤介绍 ngx_lua_waf 的安装和使用,配置和使用 luajit,lua-nginx-module,ngx_devel_kit 以及将他们配置到 nginx 中。包括防御 CC 攻击、SQL 注入、XSS 攻击,以及设置黑名单和白名单。其中分享了一些配置过程中踩过的坑,可减少后来者走的弯路...

2022-01-25 12:49:31 3324 4

原创 【MySQL之轨迹】MySQL 常见报错解决方案(Unit not found,Host ‘xxx‘ is not allowed,Can‘t connect to MySQL...)

整合了如下错误,有新报错及其解决方法也会即时更新:Failed to start mysql.service: Unit not found.ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx' (10060)ERROR 1130 (HY000): Host 'xxx' is not allowed to connect to this MySQL serverERROR 1396 (HY000): Operation CREATE U

2022-01-19 22:55:41 1040

原创 【C语言】B 树全代码实现与超超详细思路解读(五天的呕心沥血,绝对原创每个细节,详解查找、插入与删除)

本文详细解读了 B 树的查找、插入与删除代码,其中代码有大量的注释,同时还附上了个人的编写思路、代码总体思路、应该注意的地方以及需要避开的坑等等。对于某些需要解释的参数,也都做了详细的说明。相信看完本篇博客,即便不参考文中的代码,手撕一份 B 树也是没问题的啦

2021-12-05 13:10:45 2128 13

原创 【C语言】打印二叉树树形(制表符实现,清晰+高拓展)(2022-10-22 更新—偏移量说明)

—— 目录 ——0. 前言1. 效果展示2. 核心代码及解读3. 辅助代码0. 前言上 CSDN 找了很多份树形代码,一个共通的感觉就是拓展性不够强比如说树大了节点之间被撑开无法兼容性不好没有使用树枝连接的画显示稍显混乱,使用斜线当树枝又不好拓展还有一部分就是代码太冗长看不懂基于此,我打算用回制表符,力求清晰显示出树形肝了几个小时的代码,过程中一点一点调出来树形代码部分也在不断优化,思路在不断的调试中也不断改变最后总结出一种以绝对偏移量画树形的方法,下边将一一对代码进行解释1. 效果展

2021-11-01 13:41:45 10449 34

原创 【Kafka之轨迹】Kafka 入门使用

—— 目录 ——0. 前言1. 安装、启动与关闭① 下载② 配置③ 启动④ 关闭2. 基础使用① 主题(Topic)的增删查② 模拟发布订阅0. 前言本博客使用的版本是 0.11.0.3各版本的区别可以自行了解,大致可选 0.11.x 1.x 2.x 三种版本使用的集群是 Docker 搭建的,可参见:【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)集群之间的分发脚本 xsync 参照尚硅谷,可参见:【Linux之轨迹】Linux 各种实用小功

2021-10-27 22:09:05 1437 2

原创 【Linux之轨迹】1核2G 内存不够怎么办?Swap 交换分区解决内存不足问题

需求本人服务器买的是最便宜的 1核2G 服务器,最近在学新技术时,发现服务器经常死机,很纳闷后来才注意到时内存问题,几个程序跑起来 2G 内存基本上拉满,这时候再启动其他程序时,就会导致服务器死机但是又没钱买新服务器,也没钱升级,咋办呢穷砸的我终于注意到 free 下边的 swap,一番查询后反复尝试后,终于掌握了 swap 的使用方法首先看一下在没使用 swap 之前的内存状态:空闲分区仅剩 78M,可供程序使用的仅剩 55M这时候只需要再跑一个小小的程序,服务器立马就会死机(已经重启.

2021-10-26 15:06:29 767 1

原创 【Zookeeper之轨迹】Zookeeper 入门使用(集群使用 Docker 模拟)

1. 安装启动与解决错误① 下载安装包https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/选择 apache-zookeeper-3.5.7-bin.tar.gz② 在 Linux 服务器中解压得到以下目录,然后新增 data 目录存放 zookeeper 数据(mkdir data)bin conf docs lib LICENSE.txt logs NOTICE.txt README.md README_pac

2021-10-21 14:59:02 1012

原创 【Hadoop之轨迹】Hadoop 使用(纯干货!)(用 Docker 模拟的集群)

—— 目录 ——1. 安装 Hadoop2. 模拟集群环境3. HDFS基础命令Java 调用 API 操作1. 安装 Hadoop本篇博客 Hadoop 版本为 3.1.3首先进入官网下载 Hadoop :http://archive.apache.org/dist/hadoop/core要安装在 Linux 上的,选择 .tar.gz 后缀的压缩包上传到服务器解压后,配置环境变量:可以直接配置在 /etc/profile 文件中,也可以新建一个 xxx.sh 放在 /etc/profile

2021-10-16 10:50:07 295

原创 【Docker x Hadoop x Java API】xxx could only be written to 0 of the 1 minReplication nodes,There are 3

脑阔疼本人使用 docker 搭建的 hadoop 集群:【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)今天在使用 Java API 对 Docker 搭建的 Hadoop 集群进行操作时创建和删除文件夹可以,但一到了上传和下载文件,就疯狂报错上传的文件在集群中可以看到,但大小均为 0 ,主要的异常报错主要如下:File /idea/warn.log could only be written to 0 of the 1 minReplica.

2021-10-07 15:57:34 1645 2

原创 【Docker之轨迹】为正在运行中的容器动态添加端口映射(使用 iptables,附删除 iptables 规则)

需求docker 中为容器添加端口映射只能在启动容器时(即 run)添加,而一旦启动完毕后,docker 就不再提供端口映射的功能,那我们可以绕开 docker,自己手动添加吗?答案是可以的!一番查找后,我了解到 docker 添加端口映射实际上是基于 iptables 实现的,所以只要修改里边的映射规则,就可以作用到 docker 容器上了,步骤如下:① 获取容器 IP可以进入到容器,通过 ifconfig 拿到容器的 IP 地址,如下:当然,如果有为容器固定 IP 地址的,话也可以直接用那.

2021-10-06 13:06:43 1448

原创 【Docker x Hadoop】使用 Docker 搭建 Hadoop 集群(从零开始保姆级)

—— 步骤 ——0. 背景1. 创建出第一个容器2. 为该容器配置 java 和 hadoop 环境3. 配置允许外界通过 ssh 连接容器4. 由该容器克隆出多个容器5. 为各个容器配置 ssh 免密登录6. 开始编写集群配置7. 启动集群0. 背景看到网上的教程,都是使用虚拟机克隆出多台虚拟机模拟集群但在真正的服务器上,发现这种方法行不通了这时候就想起 Docker 了,仔细想象 Docker 学完到现在还没真正实战过,这次正好是一个好机会实现思路也很简单,在 Docker 中创建多个 Ce

2021-10-03 20:29:08 2402 4

原创 【Linux之轨迹】Linux 各种实用功能合集(持续补充)

—— 功能列表 ——1. 了解服务器信息2. 修改主机名字3. 文件查找4. ls 命令高亮5. 常见命令安装6. ssh 免密登录1. 了解服务器信息一台服务器刚到手,首先当然就是要先认识它啦1) 查看系统信息 uname -a2) 查看操作系统版本 cat /etc/redhat-release3) 查看网络配置信息 ifconfig4) 查看磁盘信息,加 -h 会将单位转化为 G,M 这些 df -h5) 查看内存实用情况,-h 同上 free -h2. 修改主

2021-10-02 15:09:53 365

原创 【Redis之轨迹】记录一次 Linux 服务器惨遭挖矿的经历 [kdevtmpfs](Redis 安全问题)

Redis 漏洞说明Redis 默认情况下,会绑定在 0.0.0.0:6379,在没有利用防火墙进行屏蔽的情况下,将会将 Redis 服务暴露到公网上,如果在没有开启认证的情况下,将导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。攻击者在未授权访问 Redis 的情况下利用 Redis 的相关方法,可以成功将自己的公钥写入目标服务器的 ~/.ssh 文件夹的 authotrized_keys 文件中,进而可以直接登录目标服务器。如果Redis服务是以roo.

2021-09-30 22:38:58 410

原创 【Spring之轨迹】SpringBoot 项目启动时,报错 java.nio.charset.MalformedInputException: Input length = 1

在一个夜黑风高的晚上,我兴起而走,缓缓缓缓。突然!就掉坑里了。嗯??嗯???Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1at org.yaml.snakeyaml.reader.StreamReader.update(StreamReader.java:200)at org.yaml.snakeyaml.reader.Stre.

2021-09-30 00:21:59 201

原创 【Docker之轨迹】Docker 入门使用(穿插踩坑经历)

—— 目录 ——1. 安装 Docker2. Docker 基本使用① 镜像命令② 容器命令③ 辅助命令3. 提交自己的镜像自定义脚本安装 Docker1. 安装 Docker① 查看服务器环境cat /etc/os-release:查看系统内核版本(确认在 3.10 以上)uname -r:查看服务器版本② 卸载旧的 docker(确保没有下载)yum remove docker \ docker-client \ docker-client-l

2021-09-20 13:08:14 807

原创 【魔数 bug + 求助】挖槽,MP4 魔数变了?如何解决无法通过魔数判断 MP4 文件类型?

问题描述今天在测试上传文件时,发现 MP4 格式的文件老是无法通过魔数判断出类型在网上查到的 MP4 魔数统一都是 00000020667479706D70多次尝试过后,本澈选择了断点将魔数揪出来将一个 MP4 的魔数取出来后,发现是 000000146674797069736F6D0MP4 的魔数是 000000146674797069736F6D0 !!!What?为什么魔数会变?不知道为啥,改成了这个之后,该 MP4 格式的文件,就都顺利识别出来了—— “虽然不知道为什么,但我大受震惊

2021-09-15 20:42:02 956 2

原创 【Spring之轨迹】SpringBoot 应用全整合(持续补充)

梳理了 SpringBoot 最基本的实用整合,包括了创建 SpringBoot 项目,配置文件与配置类的简单书写,使用 JSR-303 校验。异步任务、定时任务以及邮件任务的实用。整合 MyBatis、Redis、Log4j2、AOP 面向切面编程这些常用的操作。最后将 SpringBoot 项目以 war 包的形式部署到服务器

2021-09-09 21:52:26 324

原创 【Spring之轨迹】结合 @Scheduled 实现定时将 Redis 缓存刷入数据库(配 Redis 工具类与例子实战)

使用 @Scheduled 实现定时任务,着重记录 corn 表达式的使用,然后李荣 redis 工具类实现简单的讲数据存入缓存,在定时刷入数据库的操作

2021-08-18 21:23:42 1140 3

原创 【Java之轨迹】Log4j 配置(详细注释)

自己写一份模板备用~① 配置文件######## Log4j配置 ######### 指定日志输出的级别和地方,第一个参数是级别# 往后可以接多个参数,参数名自定义,下面可以用到log4j.rootLogger = debug,logDB# console,file,rollingFile# 自定义 logger 实现控制日志输出,前缀 log4j.logger,后面加上类的全路径,等于号后边写级别和参数(同上,不写继承 root的)# log4j.logger.com.xxx = er

2021-08-06 22:16:07 427

原创 【Java之轨迹】Guava 基础使用之集合(详细注释演示)

—— 目录 ——0. 导入依赖包1. 新集合类型① Mutiset② SortedMultiset③ Multimap④ BiMap⑤ Table⑥ ClassToInstanceMap2. 集合工具类① Lists② Sets0. 导入依赖包<!-- guava --><dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artif

2021-08-06 19:46:32 454

原创 【Spring之轨迹】Spring Session 基础使用(三种情况)

分别介绍了利用 SpringSession 实现三种情况的 seesion 共享:同域名同项目、同域名不同项目、同域名不同二级域名的 session 共享(基于 SSM 环境)

2021-08-06 17:32:51 743

原创 【纯干货】SSM 实现将数据导出为 Excel 表格(利用反射实现类型通配)

利用反射实现了将任意的 List<T> 导出为 Excel 表格,不需要再去手动指定参数和值啦!全部自动读取自动生成,只包含了一个工具类和一个核心函数

2021-08-06 08:50:59 2890 6

原创 【纯干货】SSM 实现文件上传

使用 commons-io和 commons-fileupload 实现文件的简化上传,只包含了一个核心函数,调用即可实现文件上传

2021-08-06 08:49:01 3532

原创 【Redis之轨迹】Redis基础入门(Linux & IDEA)(配套工具类例子)

—— 目录 ——0. Redis 简介1. 安装 Redis2. 基本命令3. 五大数据类型① String 字符串② List 列表③ Set 集合④ Hash 散列表⑤ Zset 有序集合4. 在 IDEA 中使用 Redis(Jedis)0. Redis 简介Redis 即 Remote Dictionary Server 远程字典服务1. 安装 Redis(1)下载安装包:https://redis.io/ 官网中间的 Download it(2)解压安装包,看到拿到目录结构(3)

2021-08-04 16:52:00 309

原创 解决 Redis 连接异常 JedisConnectionException: Failed to create socket

使用 Jedis 连接 Redis 时抛出错误redis.clients.jedis.exceptions.JedisConnectionException: Failed to create socket.java.net.SocketTimeoutException: connect timed out▲ 最有可能的情况:Redis 配置问题需要将 bind 这一行注释掉然后将 protected-mode 设置为 no▲ 其他原因情况1:地址或端口写错了情况2:防火墙没开放 6.

2021-08-04 16:31:34 12503 3

原创 【Nginx之轨迹】从零开始 Nginx 基础(超详细)

—— 目录 ——0. Nginx 的原理1. 安装 Nginx安装前的准备方式一:源码简单安装方式二:yum 安装卸载 Nginx2. Nginx 服务器的开启和停止方式一:Nginx 服务信号控制方式二:Nginx 命令行控制3. 平滑升级 Nginx4. 配置文件(nginx.conf)① 全局快② events 块② http 块5. —— 反向代理 ——6. —— 负载均衡 ——7. —— 动静分离 ——0. Nginx 的原理Nginx 采用了 io 多路复用和机制。有一个 master 进

2021-08-02 22:21:17 2886 16

原创 依赖没问题,报找不到符号,程序包xxx不存在错误的解决方法

问题描述今天在做程序测试时,在 Maven中新引入了一个包后来发现不需要了,变将该依赖从 Maven 中删去整个过程其他代码没有动,但要运行时却发现,所有的类都报程序包xxx找不到错误去了每个类查看,发现代码有高亮,都没问题,classes 下的 lib 包也是完整的解决方法最后的解决方法是将 Maven 中的 <dependency> 全部删除,只保留 <dependencies>然后刷新 Maven,之后再将所有依赖重新导入,再次刷新,问题解决原因可能时 id.

2021-07-29 10:17:29 771

原创 【Netty之轨迹】对 NIO 的理解与实战

—— 目录 ——0. NIO 简介1. NIO 三大核心2. Buffer 缓存区3. Channel 通道4. Selector 选择器5. 知识厘清:客户端与服务端的连接6. 实战演练:附带详细注释7. SelectionKey 解释0. NIO 简介Java 共支持 3 中 I/O 模型:BIO,NIO 和 AIOBIO(Blocking IO):同步并阻塞,是传统的阻塞型没实现模式为 一个线程处理一个连接 (适用于连接数目少且固定的架构)NIO(Non-blocking IO):同步非阻

2021-07-25 09:26:16 196 1

原创 【Spring之轨迹】SpringMVC 笔记快速梳理

—— 目录 ——0. SpringMVC 简介1. 基本开发全流程2. 执行流程3. 使用注解开发(推荐使用)4. RestFul 风格5. 重定向和转发6. 参数的接收7. 乱码问题0. SpringMVC 简介SpringMvc 是基于 Java 实现的轻量级 Web 框架,是 Spring 框架的一部分,因此可以和 Spring 无缝整合1. 基本开发全流程① 导入依赖: spring-webmvc(这个包会将其他 Spring 需要的基本都导入,一步解决),servlet-api② 配

2021-07-23 17:30:18 332 6

原创 【Spring之轨迹】Spring 全部知识快速整合

—— 目录 ——0. Spring 简介1. 基础使用2. 别名与导入3. 依赖注入4. 作用域5. 自动装配6. 使用注解开发7. AOP 面向切面编程① AOP 配置② 使用 spring 的接口实现 AOP③ 使用自定义类实现 AOP④ 使用注解实现 AOP8. 整合 MyBatis① 导入依赖② 在 Spring 配置文件中整合 MyBatis③ 具体使用9. Spring 声明式事务(AOP 方法)0. Spring 简介Spring 是一个轻量级的,非入侵式的框架(包很小,也不需要改变原

2021-07-22 22:27:25 325 8

原创 【MyBatis之轨迹】MyBatis 快速知识点梳理

—— 目录 ——0. MyBatis 简介1. 基本使用① 使用 maven 导入 mybatis 依赖和 mysql 驱动② 创建 mybatis 主配置文件③ 创建 dao 接口,定义数据库操作接口④ 创建 sql 映射文件⑤ 代码使用2. 参数详解① 单个参数② 多个参数③ # 和 $ 的区别3. 结果处理4. 动态 sql 语句0. MyBatis 简介SSM 之 MyBatis界面层:SpringMVC业务逻辑层:Spring数据访问层:MyBatisMyBatis 是一个基于

2021-07-22 10:19:59 285 1

原创 【Java之轨迹】多线程与线程池

—— 目录 ——1. 线程的创建2. 线程的生命周期与监测3. 常用方法4. sleep 和 wait 的区别5. yield 和 join6. 线程的优先级7. 线程同步和锁① synchronized② Lock③ 轻量级同步机制:volatile④ 锁的分类8. 线程池9. CyclicBarrier 用法10. CountDownLatch 类1. 线程的创建继承 Thread 类,重写 run() 方法,使用 xx.start() 启动注意:不能使用 xx.run() 去启动线程,这只是

2021-07-21 08:12:55 121 1

原创 【MySQL之轨迹】MySQL索引优化实战(1)单表索引优化过程

—— 目录 ——实战题目1:单表索引优化实战题目1:单表索引优化有如下表数据,找出 贴吧id=5,帖子点赞>1 且 帖子浏览 最多的 帖子id① 初步达成要求:select post_id from t_post where post_bar_id = 5 and post_liked > 1 order by post_browsing desc limit 1;分析:可以看到进行了全表扫描(ALL),没有使用任何索引(key),还惊动了 Using filesort

2021-07-19 11:44:21 138

原创 【MySQL之轨迹】MySQL索引与Explain性能分析

—— 目录 ——0. 什么是索引1. 索引的数据结构2. 索引分类3. 覆盖索引4. 聚簇索引与非聚簇索引(二级索引)5. 索引失效6. 使用 Explain 了解索引性能0. 什么是索引索引(Index)是帮助MySQL高效获取数据的数据结构查看表的索引:show index from <表名>1. 索引的数据结构B+树(B 树的优化版)B树 与 B+树的比较B 树B+树可以看到,B 树的每一个结点都要存储数据,这就导致了在同样的大小下(InnoDB 每页默认大小为

2021-07-18 17:06:00 202 1

原创 HTTP 学习小结

—— 目录 ——1. TCP/IP 协议族2. HTTP 工作原理3. 请求方法4. 状态码1. TCP/IP 协议族共分为 4 层应用层: 决定了向用户提供应用服务时通信的活动HTTP 协议DNS 服务:提供域名到 IP 地址之间的解析服务传输层: 对应用层提供处于网络连接中的两台计算机之间的数据传输TCP 协议:将大的数据快分割成以报文段(segment)为单位的数据包,为了更容易地将数据传送给对方,并且其采用三次握手的方式,能确保数据达到目标网络层: 处理在网络上流动的

2021-07-17 20:32:26 132

原创 【Linux之轨迹】Shell 脚本笔记梳理

—— 目录 ——0. 什么是 Shell 脚本1. 基本的 Shell 脚本① 整体准备② 变量③ 函数④ 常用符号⑤ 常用指令2. 控制语句① 条件判断② 循环3. 输入输出重定向0. 什么是 Shell 脚本shell 脚本就是将完成一个任务的所有命令按照执行的先后顺序,自上而下写入到一个文本文件中,然后给予执行权限1. 基本的 Shell 脚本① 整体准备在 vim 中第一行定义脚本执行环境(#!是一个组合,不是注释)#!/user/bin/bash在 vim 中最后一行可以返回执

2021-07-17 11:05:42 166 1

空空如也

空空如也

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

TA关注的人

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