Linux下Maven安装
去官网下载maven,http://maven.apache.org/
解压tar zxvf apache-maven-3.6.3-bin.tar.gz
配置环境变量vim /etc/profileMAVEN_HOME=/usr/local/mavenPATH=$PATH:${MAVEN_HOME}/binexport PATH MAVEN_HOME
如果含有多个PATH环境变量需要配置,使用冒号隔开,比如
JAVA_HOME=/usr/local/jdkMAVEN_HOME=/usr/local/mavenCLASSPATH=$JAVA_HOME/lib/PATH=$PATH:$JAVA_HOME/bin:${MAVEN_HOME}/binexport PATH JAVA_HOME CLASSPATH MAVEN_HOME
使环境变量生效source /etc/profile
测试
MySQL读写分离之Atlas
前言我们已经部署了MySQL高可用MHA架构,本文基于MHA使用Atlas构建mysql读写分离。
安装我们额外选着一台服务器去做Atlas的安装配置下载地址:https://github.com/Qihoo360/Atlas/releases
yum install -y Atlas*
配置mv test.cnf test.cnf.bakvi test.cnf
[mysql-proxy]admin-username = useradmin-password = pwdproxy-backend-addresses = 192.168.186.100:3306proxy-read-only-backend-addresses = 192.168.186.133:3306,192.168.186.135:3306pwds = twf:JKEfAH2h9U0a8s/oWZlMvQ==,mha:JKEfAH2h9U0a8s/oWZlMvQ==daemon = truekeepalive = trueevent-threads = 8log-level = messagelog-path ...
Jenkins安装部署
安装前准备
#关闭防火墙systemctl stop firewalld#关闭selinuxsetenforce 0
下载rpm包cd /usr/local/src && wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/redhat-stable/jenkins-2.204.3-1.1.noarch.rpm
导入jenkins库的keyrpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
安装jdk1.8yum install -y java-1.8.0-openjdk-*
安装jenkinsyum install -y jenkins
创建jenkins用户useradd deploy
编辑/etc/sysconfig/jenkins文件vim /etc/sysconfig/jenkins
#修改以下内容JENKINS_USER="deploy"JENKINS_PORT="8080"
...
GitLab安装部署
安装前准备
#关闭防火墙systemctl stop firewalld#关闭selinuxsetenforce 0
安装依赖包yum install curl policycoreutils openssh-server openssh-clients postfix -y
启动postfix服务,并设置开机启动systemctl start postfix && systemctl enable postfix
下载rpm包wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm
本地安装gitlab-ceyum -y localinstall gitlab-ce-10.0.6-ce.0.el7.x86_64.rpm
配置(1)创建一个ssl目录
mkdir -p /etc/gitlab/ssl
(2)使用openssl创建私有密钥
openssl genrsa -out "/etc/gitlab/ssl/gi ...
Zabbix监控Nginx
开启nginx status配置location /ngx_status { stub_status on; access_log off;}
重启systemctl restart nginx
打开status页面curl http://localhost:8001/ngx_status
编写脚本#!/bin/bash#author: twf#description: zabbix监控nginx性能HOST="127.0.0.1"PORT="8001"#检测nginx进程是否存在function ping { ps -ef |grep nginx |grep -v grep |wc -l}#检测nginx存活的连接数function active { curl http://${HOST}:${PORT}/ngx_status 2>/dev/null |grep 'Active' |awk '& ...
MySQL高可用架构之MHA部署
本文是基于mysql主从环境的
MHA组成MHA主要有Manager、Node两部分组成Manager:Manager可以部署在单独的服务器上,管理多个主从集群,也可以部署在一个从服务器上。MHA Manager会探测集群中master节点,当master出现故障时,它可以自动将一个slave提升为新的master,然后重新建立主从关系Node:所有机器均需要安装
MHA工作原理当master出现故障后,MHA会挑选一个slave,进行数据补偿,让他做为新的master,并且重新建立主从关系。
选主策略(1)如果从库(GTID)数据有差异,选择数据最接近master的slave成为备选主(2)如果从库数据一致,按照配置文件顺序选主(3)如果设定了权重(candidate_master=1),按照权重选主 1)默认情况下如果一个slave数据落后master大于100M的中继日志数据的话,权重不会生效 2)如果设置check_repl_delay=0,即使落后很多日志,也会成为备选主
MHA部署实验环境192.168.186.133 mysql-master node19 ...
MySQL主从复制
mysql主从复制原理mysql中有一种二进制日志,这种日志会记录所有修改数据库的操作,主从复制的原理实际上就是把主服务器的binlog日志复制到从服务器上执行一遍,这样从节点的数据就可以保持与主节点数据一致了。
主从复制过程(1)首先因为从节点需要复制主节点的binlog日志,所以必须保证主节点启用二进制日志(log-bin=mysql-bin)(2)从节点会开启一个I/O线程扮演mysql客户端,去请求主节点的二进制日志的事件(3)主节点启动一个dump线程,检查自己二进制日志中的事件,跟对方请求的位置对比,如果不带请求位置参数,则主节点就会第一个日志文件中的第一个事件一个个发送给从节点(4)从节点收到主节点发送过来的数据,把它放到中继日志(relay log)中,并且记录该次请求到主节点哪个二进制日志文件的哪个位置(5)从节点另外一个SQL线程会把中继日志(relay log)中的事件读取出来,并且在执行一遍
实验环境
192.168.186.133 mysql-master192.168.186.134 mysql-slave192.168.186.135 mysql-sla ...
ELK安装和部署
链接:https://pan.baidu.com/s/18fFb0ZVQyXLxJg1tp9Yi_A
提取码:q7gk
实验环境192.168.186.129 centos7
实验前准备#关闭防火墙systemctl stop firewalld#关闭selinuxsetenforce 0#创建目录mkdir -p /usr/local/elk#解压缩,将文件移动到/usr/local/elk目录下tar zxvf 文件#打开/etc/security/limits.conf文件,在末尾追加以下内容,设置更大的打开文件数* soft nofile 65536* hard nofile 65536* soft nproc 2048* hard nproc 4096#打开/etc/security/limits.d/20-nproc.conf,修改以下内容* soft nproc 4096#打开/etc/sysctl.conf文件,在末尾追加以下内容vm.max_map_count=655360fs.file-max=655360#使配置生效sysctl ...
Redis哨兵模式搭建
实验环境
192.168.186.129 centos7
实验前准备#关闭防火墙systemctl stop firewalld#关闭selinuxsetenforce 0#创建目录mkdir -p /usr/local/redis/7001mkdir -p /usr/local/redis/7002mkdir -p /usr/local/redis/7003mkdir -p /usr/local/redis/7004
安装redis-5.0.3#安装gccyum install gcc -y#安装wgetyum install wget -y#下载redis-5.0.3.tar.gzwget http://download.redis.io/releases/redis-5.0.3.tar.gz#解压tar zxvf redis-5.0.3.tar.gz#移动到redis-5.0.3目录下,执行make#移动到redis-5.0.3/src目录下,执行make install
复制redis-server、redis-cli、redis-sentinel到/usr/local/r ...
Redis简介
redis概念redis是一个开源的、使用C语言编写的基于内存可持久化的key-value非关系型数据库。
redis优点(1)性能高redis读的速度是110000次/s,写的速度81000次/s。(2)丰富的数据类型redis支持的数据类型有String、List、Set、Hash、sorted set(3)原子性redis操作具有原子性,要么成功执行,要么失败完全不执行(4)丰富的特性支持发布/订阅、数据持久化、key过期等特性
redis缺点(1)持久化redis持久化方案有RDB和AOF。前者redis通过定时快照的方式将数据写入到硬盘上,对于非正常redis关闭的情况下,可能会导致数据丢失,而且这种持久化操作每次都会把所有数据写入硬盘,代价非常高。后者redis只追踪变化的数据,但是追加的log会越来越大,并且所有操作均重新执行一遍,恢复速度慢。(2)耗内存redis是基于内存操作的,对内存的要求较高。
redis下载官方网站:http://redis.io/download 可以根据需求下载不同版本
#redis是C语言开发的,所以需要gcc环境yum install ...