lib文件

基于k8s、docker、jenkins构建springboot服务

扶醉桌前 提交于 2019-11-26 03:26:44
Jenkins + github + docker + k8s + springboot 本文介绍基于k8s、docker、jenkins、springboot构建docker服务。 环境准备 server-1 k8s-master Centos7 ip地址10.12.5.110 server-2 k8s-node Centos7 ip地址10.12.5.115 两台服务执行如下命令 $ setenforce 0 $ systemctl stop firewalld $ systemctl disable firewalld server-1 k8s-master 安装 k8s-master节点安装kubernets、docker、etcd、git、maven等软件。 安装docker $ yum install docker // 修改docker配置文件 /etc/sysconfig/docker OPTIONS='--registry-mirror=https://docker.mirrors.ustc.edu.cn --selinux-enabled --log-driver=journald --signature-verification=false' ADD_REGISTRY='--add-registry 10.12.5.110:5000' INSECURE

JAVA通过Gearman实现MySQL到Redis的数据同步(异步复制)

北城以北 提交于 2019-11-26 03:08:07
MySQL到Redis数据复制方案 无论MySQL还是Redis,自身都带有数据同步的机制,像比较常用的 MySQL的Master/Slave模式 ,就是由Slave端分析Master的binlog来实现的,这样的数据复制其实还是一个异步过程,只不过当服务器都在同一内网时,异步的延迟几乎可以忽略。 那么理论上我们也可以用同样方式,分析MySQL的binlog文件并将数据插入Redis。但是这需要对binlog文件以及MySQL有非常深入的理解,同时由于 binlog存在Statement/Row/Mixedlevel多种形式 ,分析binlog实现同步的工作量是非常大的。 因此这里选择了一种开发成本更加低廉的方式,借用已经比较成熟的MySQL UDF,将MySQL数据首先放入Gearman中,然后通过一个自己编写的PHP Gearman Worker,将数据同步到Redis。比分析binlog的方式增加了不少流程,但是实现成本更低,更容易操作。 Gearman的安装与使用 Gearman 是一个支持分布式的任务分发框架。设计简洁,获得了非常广泛的支持。一个典型的Gearman应用包括以下这些部分: Gearman Job Server:Gearman核心程序,需要编译安装并以守护进程形式运行在后台 Gearman Client:可以理解为任务的收件员

VMware虚拟机上Ubuntu安装TensorFlow 1.0

一笑奈何 提交于 2019-11-26 03:06:58
1、安装VMware 安装的版本为 VMware-workstation-full-10.0.1-1379776 2、安装Ubuntu 网上下载ubuntu-16.10-desktop-amd64.iso 镜像 然后在VMware里面用创建新的虚拟机的方式去安装, 注意 : 网络适配器直接使用默认的 NAT模式即可。 其它选项全部默认配置,启动并安装(安装各种软件包时可能比较慢,请耐心等待) 注意安装过程中要填ubuntu系统的登录用户和密码,一定记住,后面在系统里一系列操作可能会用到 第一次启动时可能会出现这样的错误提示: SMBus Host Controller not enabled ,解决方法是: 重启ubuntu系统,在开始时按住shift键不放,直到出现系统安全模式界面为止 选择Ubuntu的高级选项(Advanced options for Ubuntu) 进入Ubuntu的恢复模式(Ubuntu, with Linux 4.7.x.x-generic (recovery mode)) 在Recovery Menu中选择root进入root shell 命令行 输入命令: mount -o remount,rw / 回车; 接下里输入命令: sudo vi /etc/modprobe.d/blacklist.conf 修改文件 在文件最后添加一行 :

阿里云机器清除隐藏的挖矿程序

妖精的绣舞 提交于 2019-11-26 02:05:14
问题描述: 一台阿里云服务器,收到连续告警CPU使用量已经大于95%。但这台机器上面使用中的业务只有一个不常使用的MySQL,其他就没有了,正常情况下CPU是不可能达到这么高的。查看告警信息,发现有被植入挖矿程序,可疑程序文件路径为 /usr/lib/libiacpkmn.so.3。 排查过程: 1、top查看,找占CPU高的进程: 通过按照CPU占比降序查看,除了少数几个进程占CPU,并没有发现可疑程序 占用CPU高的挖矿程序应该是隐藏在某个地方了, 2、使用命令ps -aux --sort=-pcpu|head -10查找,果然找到了这个程序: [root@dbserver ~]# ps -aux --sort=-pcpu|head -10 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 14454 179 0.0 6780 740 ? Ssl 08:00 708:24 [xfsdatad] 解决过程: 1、首先杀掉上面这个占CPU高的xfsdatad进程: [root@dbserver ~]# kill -9 14454 再使用top查看CPU,马上就降下来了: 2、清理定时任务 挖矿程序一般都设置了定时任务启动脚本程序,查看定时任务,crontab -l查看是找不到的。得看/etc/crontab文件

运维自动化之系统安装

試著忘記壹切 提交于 2019-11-26 01:22:30
实现方式 1 使用kickstart半自动化安装CentOS系统(CentOS6) 1.1 什么是kickstart安装? 安装系统时的应答文件,其中包括在典型安装过程中可能会问的所有问题的答案。 1.2 KICKSTART Configurator(配置器) Kickstart Configurator 允许使用图形用户界面创建和修改 kickstart 文件,这样就需要记住文件的正确语法。 默认情况下,不会在 Red Hat Enterprise Linux 6 中安装 Kickstart Configurator。运行yum install system-config-kickstart,或使用图形化软件包管理器安装这个软件。 要启动 Kickstart Configurator,请将系统引导至图形环境,然后运行 system-config-kickstart,或在 GNOME 桌面上点击 应用程序 → 系统工具 → Kickstart,或者在 KDE 桌面上点击 开始应用程序启动器+应用程序 → 系统 → Kickstart。 创建 kickstart 文件时,可以在任何时候选择 File → Preview 查看当前的选择。 要修改现有的 kickstart 文件,选择 File → Open File,并选择文件。 1.2.1 基本配置 1.2.2 安装方法 1.2.3

CMake Hello World

纵然是瞬间 提交于 2019-11-25 23:27:00
目录 CMake Hello World 一、单个源文件的编译 二、多文件编译 三、生成一个静态库,链接该库 四、将源文件、库文件、头文件放在不同的文件夹中 单独指定目标文件及库文件的位置 五、使用动态库 install 指令 使用外部共享库和头文件 CMake Hello World 一、单个源文件的编译 //main.c #incldue<stdio.h> int main() { printf("Hello World!/n"); return 0; } 在main.c相同目录下再编写一个CMakeLists.txt文件,内容如下: project(HELLO) set(SRC_LIST main.c) add_executable(hello ${SRC_LIST}) 同时,在相同目录下创建一个build子文件夹,用来进行外部编译 进入build文件夹,调用cmake: $ cmake .. $ make cmake将会按照CMakeLists.txt中的规则生成对应的MakeFile,make 之后得到可执行目标文件 hello $ ./hello $ Hello World! 当前的目录结构: +-- main.c +-- CMakeLists.txt +-- /build +--hello 第一行的 project 其实很重要,一般来说该语句在整个工程中只需要出现一次

浅析easyswoole源码Di原理与实现

▼魔方 西西 提交于 2019-11-25 23:03:31
依赖注入   简介:Dependency Injection 依赖注入   EasySwoole实现了简单版的IOC,使用 IOC 容器可以很方便的存储/获取资源,实现解耦。   使用依赖注入,最重要的一点好处就是有效的分离了对象和它所需要的外部资源,使得它们松散耦合,有利于功能复用,更重要的是使得程序的整个体系结构变得非常灵活。   在我们的日常开发中,创建对象的操作随处可见以至于对其十分熟悉的同时又感觉十分繁琐,每次需要对象都需要亲手将其new出来,甚至某些情况下由于坏编程习惯还会造成对象无法被回收,这是相当糟糕的。但更为严重的是,我们一直倡导的松耦合,少***原则,这种情况下变得一无是处。于是前辈们开始谋求改变这种编程陋习,考虑如何使用编码更加解耦合,由此而来的解决方案是面向接口的编程。   --摘自《easyswoole开发文档》 本文将解析并实现下列功能。 1、singleton模式的巧妙实现。 2、通过Di方式实现简单的容器,方便存取资源,从而达到解耦的目的。 代码实现 文件结构 \client.php 功能调用入口 \AbstractInterface\Singleton.php 单例抽象接口 \Lib\Redis.php   redis服务类 \Service\Di.php   依赖注入实现简单Ioc容器 单例实现过程解读 client.php <?php /**

Postgres 11.4 pg_basebackup Permission denied

这一生的挚爱 提交于 2019-11-25 22:29:15
报错截图: pg_basebackup: could not get write-ahead log end position from server: ERROR: could not open file "./.postgresql.conf.swn": Permission denied 一、环境准备:【生产环境】 1、 Master PG host IP :172.17.16.16 host name:hkzbxdb1 Standby PG host IP:172.17.16.18 host name:hkzbxdb2 2、PG Cluster 理想环境是版本一致,所以主备库版本如下: 3、停止Firewalls防火墙【主备机】、初始化PG数据库【主备机】、iptables规则配置【假如你用到/主备】; 4、Master host 配置:pg_hba.conf 和postgresql.conf;创建replication role账户repl; 文件路径:/var/lib/pgsql/11/data/pg_hba.conf 配置pg_hba.conf keepalives 参数非必须,主要是监控TCP连接状态使用; /var/lib/pgsql/11/data/postgresql.conf 配置流复制功能WAL归档这部分可以不用配置,当然也可以采用"流复制+WAL连续归档

Linux 环境下 gcc 链接库 编译、链接(概览) 以及 自动化工具Makefile的编写

假装没事ソ 提交于 2019-11-25 21:09:45
个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268 1、简介 程序编译一般需要经预处理、编译、汇编和链接,在实际应用中,有些公共代码需要反复使用,就把这些代码编译成为 "库" 文件,本文 主要 描述 Linux 平台下 库文件的 创建 和 链接 相关操作(既然都看 这么底层的内容了,相信 也有一定的基础,所以本文 对相关命令 也不会进行详细解释) 备注: linux平台下,静态链接库是以 .a 的后缀文件,动态链接库是以 .so 的后缀文件 widows平台下,静态链接库是以 .lib 的后缀文件,动态库文件是以 .dll 的后缀文件 2、库文件 库是写好的 现有的、成熟的 一种可执行、可以复用代码的二进制形式(注,其本身不可执行),可以被操作系统载入内存执行;分为 静态链接库 和 动态链接库 2.1 静态库 2.1.1 简介 静态链接库可以简单看成一组目标文件.o 的集合,即很多目标文件经过压缩打包后形成的一个文件 2.1.2 原理 链接器将从 静态(链接)库 取得所需的代码,复制到生成的可执行文件 2.1.3 特点 静态库对函数库的链接是放在程序编译时期完成 程序在运行时对函数库再无瓜葛(因为所有相关的目标文件和牵涉到的函数库被链接合成一个可执行文件) 浪费空间和资源(因为所有相关的目标文件和牵涉到的函数库被链接合成一个可执行文件

Linux g++ 链接库 编译、链接 以及 Makefile编写

為{幸葍}努か 提交于 2019-11-25 21:09:05
个人博客首页(点解查看详情)-- https://blog.51cto.com/11495268 1、简介 程序编译一般需要经预处理、编译、汇编和链接,在实际应用中,有些公共代码需要反复使用,就把这些代码编译成为 "库" 文件,本文 主要 描述 Linux 平台下 库文件的 创建 和 链接 相关操作(既然都看 这么底层的内容了,相信 也有一定的基础,所以本文 对相关命令 也不会进行详细解释) 备注: linux平台下,静态链接库是以 .a 的后缀文件,动态链接库是以 .so 的后缀文件 widows平台下,静态链接库是以 .lib 的后缀文件,动态库文件是以 .dll 的后缀文件 2、库文件 库是写好的 现有的、成熟的 一种可执行、可以复用代码的二进制形式(注,其本身不可执行),可以被操作系统载入内存执行;分为 静态链接库 和 动态链接库 2.1 静态库 2.1.1 简介 静态链接库可以简单看成一组目标文件.o 的集合,即很多目标文件经过压缩打包后形成的一个文件 2.1.2 原理 链接器将从 静态(链接)库 取得所需的代码,复制到生成的可执行文件 2.1.3 特点 静态库对函数库的链接是放在程序编译时期完成 程序在运行时对函数库再无瓜葛(因为所有相关的目标文件和牵涉到的函数库被链接合成一个可执行文件) 浪费空间和资源(因为所有相关的目标文件和牵涉到的函数库被链接合成一个可执行文件)