![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端技术
李有理啊
不甘平凡。
展开
-
rabbitmq 3.6.6集群升级目前最新版本3.8.5
背景:系统为centos 7.2 ,目前使用的rabbitmq版本比较旧,故在测试环境先下验证升级到目前为止的最新版本3.8.5各版本依赖的erlang不同,详情可见https://www.rabbitmq.com/which-erlang.html现erlang的版本过低,故还得升级到最新的erlang才行了。1.卸载相关程序各节点执行:yum remove -y rabbitmq-server erlang*2.安装新版本Erlang不同系统的方法不一样,详情见https://githu原创 2020-07-17 15:51:49 · 2858 阅读 · 0 评论 -
ElasticSearch 6.4升级ElasticSearch 7.8
背景:目前ES集群的版本还是6.4,最新的ES版本已经到了7.8了,是时候更新迭代了,先把测试环境下的更新了。通过官方文档了解到有2种升级方案https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-upgrade.html1.滚动升级首先升级到6.8再升级到7.8,这个好处是不用中断业务,一台一个升级2.全新集群升级这个在升级的过程中是会要关闭集群的,对业务有一定的影响考虑到公司存储的只是普通的业务数据,定期7原创 2020-07-01 16:22:06 · 2627 阅读 · 0 评论 -
uBuntu指定gcc版本升级(add-apt-repository)
1.首先添加软件源:sudo add-apt-repository ppa:ubuntu-toolchain-r/test但是有些系统一执行就报错了:add-apt-repository: command not found解决办法如下:apt-get updateapt-get install python-software-propertiesapt-get install apt-fileapt-file updateapt-get install software-properti原创 2020-05-20 11:43:51 · 9077 阅读 · 3 评论 -
centos7编译安装redis 6.0
背景:现有环境跑的redis还是4.x的版本,看最近更新了新版本,作为技术人,当然是要尝鲜啊。故先在测试环境下部署,验证现有代码是否需要改动。那第一步当然是要编译安装拉。1.首先下载源码包,目前的版本是6.0.1wget http://download.redis.io/releases/redis-6.0.1.tar.gz2.环境部署yum install gcc cmake -y3.升级gcccentos7.x的还是4.8.5,而编译指定的版本是需要5.3以上。安装scl源yum i原创 2020-05-12 16:29:42 · 3160 阅读 · 1 评论 -
apache钩子模块开发
背景:现项目下,有这样一个需求,当用户访问的是特定域名时跳转到登陆界面输入密码,验证成功后,在40分钟内可以正常浏览界面,以此循环。首先需要前端做好相关界面,且后台要提供一个校验密码的接口,后台在校验成功需写入相关记录。在此基础上开始开发apache相关模块。Apache的钩子函数挺多的,在此我使用的是RUN_FIRST ap_hook_handler(),RUN_FIRST是钩子类型,还...原创 2020-04-26 10:39:06 · 318 阅读 · 0 评论 -
fastdfs硬盘故障恢复
背景:项目使用fastdfs作为分布式文件系统,前天有客户反馈说某一节点下载文件失败。服务器登陆不上,运维后面反馈说硬盘坏了,只能恢复到19年12月份的数据。在不影响现在业务的前提下,利用现有业务逻辑踢除了此节点的访问。那现在我们开始进行数据修复吧。首先了解一下binlog的相关知识:截图里的最前面是时间戳,记录操作的时间中间的是操作类型:C表示源创建、c表示副本创建A表示源追加、...原创 2020-04-15 10:42:15 · 1185 阅读 · 0 评论 -
mysql 根据条件显示特定内容
在设计数据库表中,我们喜欢用一个int值去表示多个类别,例如我们设计一张表people,type字段 0代表学生,1代表老师,2代表家长,但是在搜索展示在界面时,0,1,2不能一下子让人明了,一般的做法是搜索出来后再进行判断转化成对应的字面内容。但是mysql其实很强大,我们可以这样来搜索:select name,CASE WHEN type=0 THEN ‘学生’ WHEN type=1...原创 2019-12-02 18:01:49 · 4249 阅读 · 0 评论 -
ElasticSearch按插入顺序排序
在多并发的场景下,同一秒内或是可以插入多条数据,当我们按时间进行倒序排序的时候,同一秒内的数据并不会倒着排序,那在一些业务场景内就不适用了,结果如下图:此时我们可以增加一个条件在每插入一条数据时,_seq_no都会自增1,所以可以使用此字段进行排序,但需要注意的是,如果对文档进行更新时,其_seq_no值也会随着更新,大家要根据自己的实际场景进行使用。一般只是使用在只进行查询分析的场景,例...原创 2019-11-29 18:15:52 · 2497 阅读 · 0 评论 -
Fielddata is disabled on text fields by default
在昨天导入数据中,要一一对旧接口进行验证是否可行。在尝试获取一个时间段的数据并排序时,发现了一个问题:“type”: “illegal_argument_exception”,“reason”: “Fielddata is disabled on text fields by default. Set fielddata=true on [cloud_time] in order to lo...原创 2019-11-20 14:08:39 · 2342 阅读 · 0 评论 -
ElasticSearch 6.x数据迁移ElasticSearch7.4
之前已经搭建好一个集群了。需要测试一下新版本的ES对现有的相关ES查询接口是否可重用。那测试就需要相关数据。为了模拟一下真实的环境,那就把6.x版本的ES数据导进7.4里。通过了解,有这个玩意可以帮助到:https://github.com/taskrabbit/elasticsearch-dump1.首先到6.x集群里的一个节点执行以下命令:npm install elasticdump...原创 2019-11-19 11:39:21 · 4813 阅读 · 4 评论 -
Centos7 添加启动脚本
因为业务的需要,在机器重启后需要执行一些脚本。最开始,我直接在/etc/rc.d/rc.local里最下面一行添加了一句sh /home/test.sh需要注意的是/home/test.sh必须要有执行权限自测之后,很OK啊,但是放上生产后,有客户反应,脚本没有被执行。我再细看这个文件原来要给它加上执行权限才行,才能确保在引导期间执行。...原创 2019-10-28 09:51:08 · 374 阅读 · 0 评论 -
ElasticSearch7.4 elasticsearch-head插件安装
上一篇已经部署好集群了,现在安装elasticsearch-head 插件1.node.js 安装curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -yum install -y nodejs2.安装elasticsearch-headyum install -y git bzip2git clo...原创 2019-10-17 14:11:39 · 2526 阅读 · 1 评论 -
ElasticSearch 7.4集群部署
2台机器,系统均为Centos 7.2,主节点IP为10.45.154.236,第二节点的IP为10.45.154.70,均为内网IP。1.下载相关软件包到官网上下载最新版本ElasticSearch 7.4,https://www.elastic.co/cn/downloads/elasticsearch我选择的是RPM包下载最新的JDK 13 https://www.oracle....原创 2019-10-16 19:00:33 · 9771 阅读 · 0 评论 -
centos下搭建open_nsfw
服务器yum源为阿里源open nsfw是雅虎开源的一款开源的黄图识别的模型。nsfw翻译为不可在工作中看的图片。主要是针对黄图的,恐怖,血腥图片不能识别。在centos7.2搭建open nsfw的环境1.安装依赖sudo yum -y install protobuf-devel leveldb-devel snappy-devel opencv-devel boost-devel ...原创 2019-04-12 17:54:34 · 4102 阅读 · 0 评论 -
Mosaic Models:用于Porngraphic检测的深度学习模型
开源项目:https://github.com/boozyguo/mosaic马赛克是一种高层次的神经网络模型,用Python编写的,并能够在上面运行的keras与Tensorflow后端。现在,它的开发重点是porngraphic检测。如果您需要深度学习模型,请使用镶嵌模型:•允许轻松快速地检测porngraphic。•设计并微调自己的网络(基于马赛克)。•在CPU和GPU上无缝运...原创 2019-04-16 16:53:49 · 3204 阅读 · 0 评论 -
open_nsfw接口封装成python脚本直接调用
import osimport sysimport commandsdef index(filepath):#command = “python /home/open_nsfw/classify_nsfw.py --model_def /home/open_nsfw/nsfw_model/deploy.prototxt --pretrained_model /home/open_nsfw/...原创 2019-04-15 15:24:52 · 1050 阅读 · 0 评论 -
Centos7升级Python3.7
背景:centos7下的python版本为2.7,而目前的项目需要使用Python 3.6或以上的版本。wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgztar zxvf Python-3.7.0.tgzyum install gcc gcc-c++ libffi-devel -ycd Python-3.7.0/...原创 2019-05-31 13:53:17 · 4002 阅读 · 1 评论 -
not enough arguments in call to oprot.Flush
最近打算把之前C++相关的thrift项目,改成go项目。把协议重新生成后,就开始撸一发看看。结果第一个错误就来了:not enough arguments in call to oprot.Flush,这是因为本地生成协议的版本是0.9.3与 go get git.apache.org/thrift.git/lib/go/thrift下载下来的库版本是不同导致的。解决方法:到git.a...原创 2019-06-25 16:33:03 · 4410 阅读 · 0 评论 -
zend_class_entry’ has no member named ‘iterator_funcs’
在centos上编译php 7.3 的rar拓展的时候会出现这个错误。error: ‘zend_class_entry’ has no member named ‘iterator_funcs’这是由于新的Zend代码由之前的:zend_class_iterator_funcs iterator_funcs;class_container.iterator_funcs.funcs = NU...原创 2019-09-05 16:43:38 · 1000 阅读 · 2 评论 -
ubuntu下搭建open_nsfw
open_nsfw初体检open nsfw是雅虎开源的一款开源的黄图识别的模型。nsfw翻译为不可在工作中看的图片。主要是针对黄图的,恐怖,血腥图片不能识别。在ubuntu 14.04搭建open nsfw的环境执行以下命令:apt-get updatesudo apt-get -y install libprotobuf-dev libleveldb-dev libsnappy-de...原创 2019-04-12 14:53:16 · 2119 阅读 · 0 评论