架构和运维技术高峰论坛参会有感

几个关键字:AIops、机器人、微服务、容器机器人这个概念几年前在巨人的时候,团队就已经提出来了,用robot代替人工巡检,定时批量去完成一些定义好的job,携程的专家说的好,招不下人的时候自己招个"机器人"来完成一些简单的任务,这也是个不错的idea。微服务最近这两年很热,大小厂及团队都在搞,每个人对微服务的这个理解不太一样,但是基本都是这个模式,按功能模块切分,但要有个度,不能太细,对外提供统一API接口提供服务,语言可以是好几种组合,可以参考下面几个图;参考:黄勇 轻量级微服务架构实践之路 容器比微服务早点,大部分微服务是运行在容器上,这个得根据公司实际情况因地制宜,这两年 ......

PostgreSQL备份与恢复

postgresql数据库的备份和还原命令pg_dump 单个库纯文本SQL格式的备份:pg_dump -U postgres -d myDBname -f dump.sql还原:psql -U username -f filename dbname 使用pg_dumpall备份:pg_dumpall -U postgres > alldbs.pgsql恢复所有数据库:psql -f filename备份和恢复单个表备份:从一个名为mydb的数据库中备份mytable一个表。pg_dump -U postgres -d mydb -t mytable > mydb-m ......

PostgreSQL常用操作命令整理

使用yum安装PostgreSQL:安装PostgreSQL客户端yum install postgresql-client -y安装PostgreSQL服务端:yum install postgresql -y安装完成后,PostgreSQL服务器会自动在本机的5432端口开启。安装图形管理界面(可选)yum install pgadmin3 -y启动服务service postgresql start安装参考:https://www.aliang.org/PostgreSQL/centos7-4-install-postgresql10-1.html进入控制台psql -U ......

MySQL报错This function has none of DETERMINISTIC解决

创建存储过程出错logERROR 1418 (HY000): This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)原因:开启了bin-log就须指函数是否是1 DETERMINISTIC 不确定的2 NO SQL 没有SQl语句,当然也不会修 ......

吃芒果过敏了
吃芒果过敏了

以前买芒果都是大点的,吃了好多次,也没过敏过;这次买的小芒果,具体名字忘记了,结果吃了4个以后第二天过敏了,反应出来了,手背、胳膊上和腿上出来了好多小红片,有点痒,手“胖”了不少,冏、冏、冏......

Redis高可用方案之sentinel(哨兵集群)

Redis哨兵为Redis提供了高可用性。实际上这意味着你可以使用哨兵模式创建一个可以不用人为干预而应对各种故障的Redis部署。监控:哨兵不断的检查master和slave是否正常的运行。 通知:当监控的某台Redis实例发生问题时,可以通过API通知系统管理员和其他的应用程序。 自动故障转移:如果一个master不正常运行了,哨兵可以启动一个故障转移进程,将一个slave升级成为master,其他的slave被重新配置使用新的master,并且应用程序使用Redis服务端通知的新地址。 配置提供者:哨兵作为Redis客户端发现的权威来源:客户端连接到哨兵请求当前可靠的mast ......

ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

Ucloud云上Oracle数据库服务器,由于物理机宕机重启,造成虚机也重启了,手动启动oracle服务和listen监听以后,PL/SQL客户端和应用都无法连接,提示“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”,数据库版本Oracle 11g R2,初步判断是listener.ora 文件有问题,# Generated by Oracle configuration tools.LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = T ......

Kvm虚拟机静态迁移

什么是静态迁移?静态迁移:也叫做常规迁移、离线迁移(Offline Migration)。就是在虚拟机关机或暂停的情况下从一台物理机迁移到另一台物理机。因为虚拟机的文件系统建立在虚拟机镜像上面,所以在虚拟机关机的 情况下,只需要简单的迁移虚拟机镜像和相应的配置文件到另外一台物理主机上;如果需要保存虚拟机迁移之前的状态,在迁移之前将虚拟机暂停,然后拷贝状态至目的主机,最后在目的主机重建虚拟机状态,恢复执行。这种方式的迁移过程需要显式的停止虚拟机的运行。从用户角度看,有明确的一段停机时间,虚拟机上的服务不可用。这种迁移方式简单易行,适用于对服务可用性要求不严格的场合。说明(1)虚拟主 ......

Keepalived构建高可用MySQL互为主从自动切换

关于MySQL-HA,目前有多种解决方案,比如heartbeat、drbd、mmm、共享存储,但是它们各有优缺点。heartbeat、drbd配置较为复杂,需要自己写脚本才能实现MySQL自动切换,对于不会脚本语言的人来说,这无疑是一种脑裂问题;对于mmm,生产环境中很少有人用,且mmm管理端需要单独运行一台服务器上,要是想实现高可用,就得对mmm管理端做HA,这样增加了硬件开支;对于共享存储,数据还是放在本地较为安全,存储设备毕竟存在单点隐患。Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换 ......

Nginx中虚拟目录alias和root目录说明

Nginx的配置中,alias目录和root目录是有区别的:1、alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是在alias目录下查找的;2、root指定的目录是location匹配访问的path目录的上一级目录,这个path目录一定要是真实存在root指定目录下的;3、使用alias标签的目录块中不能使用rewrite的break(具体原因不明);另外,alias指定的目录后面必须要加上"/"符号!!4、alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/"不影响 ......

CentOS上部署rsync同步文件

rsync特点:快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据过程中可以实行压缩及解压缩操作,以使用更少的带宽。   安全:可以使用rcp、ssh等方式来传输文件,也可以用直接的socket连接。安装rsync:yum install rsync -y安装xinetd启停rsyncyum install xinetd -y安装完后要修改以下配置文件:vi /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to ......

BASH脚本:/bin/sh^M:bad interpreter: No such file or directory解决

在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 解决:1)在windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。 2)也可在Linux中转换: 首先要确保文件有可 ......

FastDFS 一个tracker配置多个Storage Group

一个tracker配置多个Storage Group步骤如下:1、修改相应storage的storage_group2.conf配置文件,以下三个参数需注意:group_name=group2 port=23001 base_path=/data/fastdfs_group2 store_path0=/data/fastdfs_group22、修改storage的mod_fastdfs.confgroup_count = 2 #storage的个数 [group2] group_name=group2 storage_server_port=23001 store_path_ ......

MySQL命令行参数整理

一、MySQL命令行参数:Usage: mysql [OPTIONS] [database] //命令方式 -?, --help //显示帮助信息并退出 -I, --help //显示帮助信息并退出 --auto-rehash //自动补全功能,就像linux里面,按Tab键出提示差不多,下面有例子 -A, --no-auto-rehash //默认状态是没有自动补全功能的。-A就是不要自动补全功能 -B, --batch //ysql不使用历史文件,禁用交互 (Ena ......

提取jks证书配置Nginx使其支持https

证书配置在nginx上,对外提供https服务,内部和tomcat做反向代理走http,提取jks证书步骤如下:提取jks证书(keytool命令安装jdk以后就默认安装了)查看jks文件中的entrykeytool -list -keystore server.jks查看是否有entries,如果有下个命令需要加 -srcalias 参数指定entry转换jks文件为p12keytool -importkeystore -srckeystore server.jks -destkeystore server.p12 -deststoretype PKCS12查看新格式(pkcs ......

Tomcat查看占用CPU过高的原因

应用服务器服务起来以后占用CPU一直很高,排查方法如下:1、使用top命令查看使用CPU过高的进程的pid,按“shift+P”键按照cpu从高到低排列,按“shift+M”键按照内存用高到低排列。2、根据pid定位占用cpu的线程,并按照占用从高到低排列#此处的pid为15217 $ ps -mp 15254 -o THREAD,tid,time|sort -rn|head -10 USER %CPU PRI SCNT WCHAN USER SYSTEM TID TIME tomcat 99.9 - - - - - ......

Nginx目录浏览功能autoindex设置

Nginx默认是不允许列出整个目录的。如需此功能,打开nginx.conf文件或你要启用目录浏览虚拟主机的配置文件,在server或location 段里添加上autoindex on;来启用目录流量,下面会分情况进行说明。另外Nginx的目录流量有两个比较有用的参数,可以根据自己的需求添加:autoindex_exact_size off;默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GBautoindex_localtime on;默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器 ......

dd创建测试文件

使用dd这个linux命令可以创建一定大小文件。linux创建文件命令:dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换。语法:CODE:[Copy to clipboard]dd 〔选项〕QUOTE:if =输入文件(或设备名称)。 of =输出文件(或设备名称)。 ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数。 skip = blocks 跳过读入缓冲区开头的ibs*blocks块。 obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数。 bs = bytes 同时设置读/写缓冲区的字节数(等于设置o ......

MySQL的max_allowed_packet参数说明

max_allowed_packet 定义的是所允许的单条sql语句的大小。引用官方的说法: http://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packetYou must increase this value if you are using large BLOB columns or long strings. It should be as big as the largest BLOB you want to use. The protocol l ......