自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java.util.ConcurrentModificationException异常原因和解决方法

简单地说就是你在遍历的时候,你自己不会去改变这个值,但是你在遍历的过程中发现这个值被改变了,那只有一种解释,其他人修改了集合导致这个值改变了。=expectedModCount导致异常。上面说集合类线程不安全,尝试调用工具类Collections.synchronizedList(dataList)将集合转换为线程安全的集合类,或是转换成CopyOnWriteArrayList,以为就可以解决问题了,很遗憾进行forEach插入的时候还是抛出了异常,想来这种安全的集合类也只能解决数组越界,数据丢失的问题。

2024-02-28 17:20:58 1143

原创 Exception in thread “main“ java.nio.file.NotDirectoryException: /usr/share/elasticsearch/plugins/.DS

之所以报上面的错误是因为开发者在gitignore中没有包括.DS_Store这个文件,所以解决的办法是在elasticsearch目录下的plugins目录中删除.DS_Store文件。你曾经打开过的每个文件夹里都有DS_Store文件,删掉后打开文件夹还会再生。DS store文件本身是隐藏的。当我们的ElasticSearch在安装插件的时候会报这个错:如ik分词器,拼音分词器等。.DS_Store是MAC系统里记录每个文件夹的文件排列模式、窗口位置等信息的文件。执行删除命令在重启就可以了。

2023-07-10 14:47:01 1276 2

原创 m1pro通过docker安装elasticsearch、kibana、ik分词器

创建网络(后面我们安装其它插件可以放在同一网络中)在本地创建文件挂在目录 按照图片创建出来即可。出现如下页面我们的es就已经安装成功了。运行镜像(第一次仅做copy)访问服务在浏览器输入网址。将创建的镜像删除即可。

2023-06-25 15:37:22 730 6

原创 m1pro通过docker部署canal

7.canal这边就基本部署完成了,更改mysql的配置即可,主要是在mysql的配置文件中添加一些配置开启二进制日志(为什么要开启二进制,自己百度一下吧这里不做教学只是记录一下自己部署的过程,踩了很多坑,按照我的一步一步部署肯定是没问题的)5.更改配置,基本都是默认的(address属性尽量写成本机的内网ip,本人在部署的时候因为写的127.0.0.1导致canal连接mysql被拒绝,排查了很久)10.可以去java端测试了 ,我截了个图代码就不贴了有需要私聊或者评论看到会回复的。

2023-05-10 17:19:36 299

原创 m1pro环境通过docker安装nacos2.x

拉取docker镜像注意slim结尾不然会报错!运行docker容器,先运行一下只为复制挂载内容。看到这个日志我们的容器运行成功了访问登录就行了。先创建nacos需要的数据库和表。将运行的容器停掉删除。

2023-04-04 16:37:36 275 1

原创 docker更改容器名称

这是我的mysql容器因为当时启动的时候没有设置容器的名称,系统随机分配了一个名称。

2023-03-30 09:24:45 774 1

原创 将本地项目提交到git

将所有的文件添加到暂存区里面去,不要忘记后面的小数点“.”,意为添加文件夹下的所有文件。执行完命令生成文件夹代表初始化成功。在git新建远程仓库获取仓库url。通过右键进入到git命令行。进入到项目的文件夹下。

2023-03-23 21:30:09 113

原创 m1pro环境使用docker安装rabbitmq安装插件DelayExchange

p:开放端口这里开放了5672和15672两个端口。--hostname:分片名称搭建集群的时候可以用到。RABBITMQ_DEFAULT_USER:用户名。RABBITMQ_DEFAULT_PASS:密码。rabbitmq:management:版本信息。搜索rabbitmq镜像。name:启动镜像的名称。命令方式查看所有镜像。

2023-03-23 09:56:52 323

原创 macbookpro通过docker启动mysql将配置文件挂载到本地

macbookpro通过docker启动mysql将配置文件挂载到本地,其实主要是通过-v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/mysql指向指定的文件夹而已

2023-03-14 17:16:02 472

原创 -failover-abort-no-good-slave master

-failover-abort-no-good-slave masterr在搭建redis哨兵监听集群状态时出现这个错误这个错误的意思表示选择附属从节点,转换主节点是出了错误,原因是没有好的从节点,根本原因就是没有找到从节点信息,出现这个错误的根本原因是在于我们的哨兵配置文件写错了

2023-03-13 10:36:02 1022

原创 linux环境安装redis6.x并配置环境变量全局任意角落启动

安装运行redis需要c语言环境gcc和g++执行命令安装即可,如需离线请提前下载安装包,c环境安装比较简单这里直接用在线命令安装的。但是新版本的redis目录结构发生了改变,为了方便操作我们可以在解压后的目录redis下创建bin和etc文件夹。上传压缩包到指定目录我这里是放在了/usr/local下,一般存放软件的目录,执行以下命令解压安装包。上面我们已经安装并启动了redis但是发现命令还是挺长并且还要在指定的目录下。然后就可以启动redis了,需要在bin目录下启动。进入解压后的目录执行安装命令。

2023-03-08 11:00:12 1014 2

原创 redis数据结构HyperLogLog

redis中的HLL是基于string结构实现的,单个HLL的内存永远小于16kb,内存占用低的令人发指!作为代价,其测量结果是概率性的,有小于0.81%的误差。PV: 全称Page View,也叫页面访问量或点击量,用户每访问网站的一个页面,记录1次PV,用户多次打开页面,则记录多次PV。UV统计在服务端做会比较麻烦,因为要判断该用户是否已经统计过了,需要将统计过的用户信息保存。Hyperloglog(HLL)是从Loglog算法派生的概率算法,用于确定非常大的集合的基数,而不需要存储其所有值。

2023-03-06 14:45:10 108

原创 redsi数据结构BitMap

BITFIELD : 操作(查询、修改、自增) BitMap中bit数组中的指定位置 (offset)的值。BITFIELD_RO : 获取BitMap中bit数组,并以十进制形式返回。BITOP : 将多个BitMap的结果做位运算(与 、或、异或)BITPOS: 查找bit数组中指定范围内第一个0或1出现的位置。BITCOUNT: 统计BitMap中值为1的bit位的数量。SETBIT: 向指定位置 (offset)存入一个0或1。GETBIT: 获取指定位置 (offset)的bit值。

2023-03-06 14:08:20 134

原创 记录一个linux下centOS7环境ip存在shell工具却连接不上的问题

很奇怪的一个问题,一开始是连接不上的,重新获取了一个ip后这两个ip都可以连接了,很奇怪但是总归可以正常使用了,有知道为什么会出现两个ip或者刚打开虚拟机的时候连接不上这种问题的大佬可以留下指教一下。记录一个在centOS7环境下输入ip addr命令存在ip,shell工具却连接不上的问题。我的解决方式是输入命令dhclient自动获取IP地址,并通过命令ip addr显示IP。这里出现了两个ip这两个ip是都可以连接成功的。我们输入ip addr发现ip是存在的。

2023-03-05 12:09:38 355 1

原创 基于Redis实现Feed流消息推送

feed流即持续更新并呈现给用户内容的信息流。feed是将用户主动订阅的若干消息源组合在一起形成内容聚合器,帮助用户持续地获取最新的订阅源内容。feed直接翻译是饲料的意思,其实是把用户都比喻成爱吃东西得某种动物,不断的给他喂食,满足他的需求,wiki百科上定义是一种数据格式,网站可通过它将最新信息传播给用户,用户能够订阅网站的先决条件是网站可提供持续更新的信息。流,就是他的呈现形式,就是这个信息怎么呈现的,大多数的都是根据时间排列的形式呈现的。

2023-03-03 17:23:48 363

原创 Spring基于Redis实现附近商户附近的人功能

GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有:GEOADD:添加一个地理空间信息,包含:经度(longitude)、纬度(latitude)、值(member)GEODIST:计算指定的两个点之间的距离并返回GEOHASH:将指定member的坐标转为hash字符串形式并返回GEOPOS:返回指定member的坐标。

2023-03-03 17:08:28 289

原创 基于redis实现滚动分页功能

执行分页查询第一次查询查询到的的是id为13,12,11,10,9这几条数据,如果当前时间其他用户向集合中添加数据那么新数据会在最顶部新增一条id为14score为当前时间戳的数据,那么这条数据会被放到最上方第二次查询到的数据则会变成9,8,7三条9这条数据则重复查询到,在一些特定场景下这种情况是不允许发生的,为此我们需要实现滚动分页这种动态查询。此时集合中有7条数据执行分页查询第一次查询查询到的的是id为13,12,11,10,9这几条数据。第二次查询为8,7两条,这是正常情况下分页查询到的数据。

2023-03-03 09:35:00 892

原创 linux环境离线安装jdk8

linux环境离线安装java jdk8

2023-03-01 09:29:29 682

原创 Linux环境离线安装Nginx

需要配置nginx.conf需要在use/local/nginx下的conf中进行配置。yum install -y zlib-devel 执行对应的安装命令即可。启动-c参数指定了要加载的nginx配置文件路径。或者上传zlib包安装命令同上边。安装nginx时可能会抛出异常。二.安装libtool。切换libtool目录。先把pcre解压出来。

2023-02-28 12:54:34 530

原创 linux环境离线安装Mysql8.0

如果Linux中安装了mariadb数据库,先卸载掉,因为CentOS 7 内部集成了mariadb,mariadb数据库是mysql的分支,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb。无结果,说明未安装mysql或已经卸载彻底,接下来直接安装mysql即可,否则需要删除之前安装的mysql。初始化基础信息,得到数据库的初始密码(在/usr/local/mysql/bin目录下执行)复制 mysql.server 文件,在/usr/local/mysql目录下执行。

2023-02-28 12:40:50 1575 2

空空如也

空空如也

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

TA关注的人

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