CentOS7上安装Apache Maven

Apache Maven主要用于Java项目的自由开源项目管理。 Maven使用项目对象模型(POM),该对象本质上是一个XML文件,其中包含关于项目,配置,依赖关系等信息。 在本教程中,我们将向您展示两种在CentOS 7上安装Apache Maven的两种不同方法。它们分别:1.yum安装Apache Maven。2.从官方站点下载最新版本Apache Maven并配置环境变量PATH与JAVA_HOME环境变量。 CentOS 默认储存库包含可以通过yum软件包管理器安装的Maven软件包。这是在CentOS上安装Maven的最简单方法,但是存储库中包含的版本可能落后于最新版本的Maven。 要安装最新版本的Maven,请按照本文第二部分提供的说明进行操作,我们将从其官方网站上下载Maven。具体的取决于你的喜好,选择最适合您的设置和环境的安装方法。 先决条件 您所登录的用户必须具有sudo权限,才能安装软件包。 使用Yum在CentOS上安装Apache Maven 使用yum在CentOS 7上安装Maven是一个简单,直接的过程。通过在终端中键入以下命令来安装Maven: sudo yum install maven 验证安装,通过键入mvn -version命令: mvn -version 输出应如下所示: Apache Maven 3.0.5 (Red Hat 3.0.5-17) Maven home: /usr/share/maven Java version: 1.8.0_191, vendor: Oracle Corporation Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre Default locale: en_US, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-862.3.2.el7.x86_64", arch: "amd64", family: "unix" 现在,Maven已安装在CentOS系统上。 安装Apache Maven的最新版本 以下提供了有关如何在CentOS 7上安装最新版本的Apache Maven的逐步说明。我们将从官方网站上下载最新版本的Apache Maven。 1.安装OpenJDK Maven 3.3+需要安装JDK 1.7或更高版本。我们将安装OpenJDK ,这是CentOS 7中默认的Java开发和运行时。通过输入以下命令安装OpenJDK软件包:...

2022-04-07 · 1 分钟

CentOS搭建Consul集群

一、什么是consul 1、Consul 是 HashiCorp 公司推出的开源软件,用于实现分布式系统的服务发现与配置。 Consul 是分布式的、高可用的、 可横向扩展的 2、官方网站: https://www.consul.io/ 3、Consul 集群间使用了 Gossip 协议通信和 raft 一致性算法 二、下载consul软件 1,下载地址: https://www.consul.io/downloads 选择64位linux版本下载 2,把consul的安装文件解压: [root@localhost consul]# cd /usr/local/source/consul [root@localhost consul]# ls consul_1.8.4_linux_amd64.zip [root@localhost consul]# unzip consul_1.8.4_linux_amd64.zip Archive: consul_1.8.4_linux_amd64.zip inflating: consul [root@localhost consul]# ls consul consul_1.8.4_linux_amd64.zip 3,复制到到各服务器的/usr/local/soft目录下 三、在第一台consul服务器上运行: 1,生成数据目录: [root@consul1 /]# mkdir /data/ [root@consul1 /]# mkdir /data/consul/ [root@consul1 /]# mkdir /data/consul/data [root@consul1 /]# chmod 777 /data/consul/data 2,运行consul -server:以server身份启动 -bootstrap-expect=2:集群要求的最少server数量 -bind:监听的ip -client:客户端ip,0.0.0.0表示不限制客户端ip -data-dir:指定存放数据的目录 -node:指定节点id,注意:同一集群内节点id不允许重复...

2022-04-07 · 4 分钟

Docker Swarm集群启动时找不到镜像的问题解决

私有镜像仓库搭建 docker run -d -p 5050:5000 --restart always --name registry registry:2 仓库配置 vim /etc/docker/daemon.json { "registry-mirrors": ["https://aqwaeuv8.mirror.aliyuncs.com"], "insecure-registries":["10.3.55.134:5050"] // 取消仓库认证 } 测试,push和pull镜像没有问题,使用docker swarm update时出现找不到镜像错误 问题1: update时提示,No such image: 10.3.55.134:5050/ms-group/ly-12320-server-ks_online:5f223018@sha256:261b7ef562bf95a7293046fb0524e5ff2fe70ad55dcd5ffe7981b35f9d50ff56 解决方案: 需要在所有的docker swarm集群节点都配置daemon.json,并重启docker systemctl restart docker 问题2: 修复完以上问题后,再更新时,出现starting container failed: failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused: exec: “/bin/sh”: stat /bin/sh: no such file or directory: unknown 解决方案: 基础镜像没有/bin/sh导致,检查基础镜像...

2022-04-07 · 1 分钟

CentOS7搭建Rocketmq4.6三主集群

一、下载 wget https://archive.apache.org/dist/rocketmq/4.6.0/rocketmq-all-4.6.0-bin-release.zip unzip rocketmq-all-4.6.0-bin-release.zip mv rocketmq-all-4.6.0-bin-release.zip /data/rocketmq # tree rocketmq rocketmq-all-4.6.0-bin-release ├── LICENSE ├── NOTICE ├── README.md ├── benchmark │ ├── consumer.sh │ ├── producer.sh │ ├── runclass.sh │ └── tproducer.sh ├── bin │ ├── README.md │ ├── cachedog.sh │ ├── cleancache.sh │ ├── cleancache.v1.sh │ ├── dledger │ │ └── fast-try.sh │ ├── mqadmin │ ├── mqadmin.cmd │ ├── mqbroker │ ├── mqbroker.cmd │ ├── mqbroker.numanode0 │ ├── mqbroker....

2022-03-31 · 4 分钟

CentOS7搭建基于用户认证的MongoDB3.4三节点副本集集群

基础规划 软件环境 #mongodb下载 # wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.10.tgz #mongodb解压 # tar -zxvf mongodb-linux-x86_64-rhel70-3.4.10.tgz #mongodb安装 # mv mv mongodb-linux-x86_64-rhel70-3.4.10 /usr/local/mongodb #mongodb环境配置 # echo 'export PATH=/usr/local/mongodb/bin:$PATH' >> /etc/profile #使配置生效 # source /etc/profile # 查看是否安装成功 # mongo --version 环境规划–单机器部署多节点 节点名 节点用途 节点IP 节点端口 集群名 node1 主节点(PRIMARY) 10.0.2.11 27017 mgset node2 从节点(SECONDARY) 10.0.2.11 27018 node3 仲裁节点(ARBITER) 10.0.2.11 27019 目录 用途 备注 /data/mongodb/node[x]/data Mongo集群数据文件目录 /data/mongodb/node[x]/logs Mongo集群系统日志目录 /data/mongodb/node[x]/conf Mongo集群配置文件目录 搭建步骤 配置文件 node1的配置文件/data/mongodb/node1/conf/mongod....

2022-03-30 · 3 分钟

CentOS7安装Redis4.0

一、Redis安装 安装基础依赖 #安装基础依赖包 sudo yum install -y gcc gcc-c++ make jemalloc-devel epel-release 下载Redis( https://redis.io/download ) #从官网获取最新版本的下载链接,然后通过wget命令下载 wget http://download.redis.io/releases/redis-4.0.2.tar.gz 解压到指定目录 #解压 sudo tar -zvxf redis-4.0.2.tar.gz -C /usr/local/src/ 编译&安装 #进入目录 cd /usr/local/src/redis-4.0.2 #编译&安装 sudo make -j 16 & make install 二、Redis启动与测试 启动redis-server #进入src目录 cd /usr/local/src/redis-4.0.2/src #启动服务端 sudo ./redis-server 启动redis客户端测试 #进入src目录 cd /usr/local/src/redis-4.0.2/src #启动客户端 sudo ./redis-cli 设置:set key1 value1 获取:get key1...

2022-03-29 · 1 分钟

CentOS7编译安装MySQL5.6

1、下载mysql的安装包 #下载mysql wget https://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.30.tar.gz 2、编译安装mysql #查看系统发行版本号 cat /etc/redhat-release CentOS Linux release 7.8.2003 (Core) # 安装依赖包 yum install ncurses-devel libaio-devel -y yum install cmake gcc gcc-c++ make autoconf -y #关闭SELinux #临时关闭selinux setenforce 0 #永久关闭selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config #关闭防火墙 #查看防火墙状态 systemctl status firewalld.service #临时关闭防火墙 systemctl stop firewalld.service #永久关闭防火墙 systemctl disable firewalld.service #创建mysql帐号 groupadd -r mysql useradd -r -g mysql -s /sbin/nologin mysql # 编译安装mysql tar xf mysql-5....

2022-03-29 · 2 分钟

Mysql备份和恢复(Xtrabackup方式)

一、Xtrabackup介绍  MySQL冷备、mysqldump、MySQL热拷贝都无法实现对数据库进行增量备份。在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况下,可以每天进行完整备份,如果每天产生的数据量较大,需要定制数据备份策略。例如每周实用完整备份,周一到周六实用增量备份。而Percona-Xtrabackup就是为了实现增量备份而出现的一款主流备份工具,xtrabakackup有2个工具,分别是xtrabakup、innobakupe。  Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具,支持MySQL、Percona server和MariaDB,开源免费,是目前较为受欢迎的主流备份工具。xtrabackup只能备份innoDB和xtraDB两种数据引擎的表,而不能备份MyISAM数据表。 二、Xtrabackup优点 (1)备份速度快,物理备份可靠 (2)备份过程不会打断正在执行的事务(无需锁表) (3)能够基于压缩等功能节约磁盘空间和流量 (4)自动备份校验 (5)还原速度快 (6)可以流传将备份传输到另外一台机器上 (7)在不增加服务器负载的情况备份数据 三、Xtrabackup备份原理 Xtrabackup备份流程图: (1)innobackupex启动后,会先fork一个进程,用于启动xtrabackup,然后等待xtrabackup备份ibd数据文件; (2)xtrabackup在备份innoDB数据是,有2种线程:redo拷贝线程和ibd数据拷贝线程。xtrabackup进程开始执行后,会启动一个redo拷贝的线程,用于从最新的checkpoint点开始顺序拷贝redo.log;再启动ibd数据拷贝线程,进行拷贝ibd数据。这里是先启动redo拷贝线程的。在此阶段,innobackupex进行处于等待状态(等待文件被创建) (4)xtrabackup拷贝完成ibd数据文件后,会通知innobackupex(通过创建文件),同时xtrabackup进入等待状态(redo线程依旧在拷贝redo.log) (5)innobackupex收到xtrabackup通知后哦,执行FLUSH TABLES WITH READ LOCK(FTWRL),取得一致性位点,然后开始备份非InnoDB文件(如frm、MYD、MYI、CSV、opt、par等格式的文件),在拷贝非InnoDB文件的过程当中,数据库处于全局只读状态。 (6)当innobackup拷贝完所有的非InnoDB文件后,会通知xtrabackup,通知完成后,进入等待状态; (7)xtrabackup收到innobackupex备份完成的通知后,会停止redo拷贝线程,然后通知innobackupex,redo.log文件拷贝完成; (8)innobackupex收到redo.log备份完成后,就进行解锁操作,执行:UNLOCK TABLES; (9)最后innbackupex和xtrabackup进程各自释放资源,写备份元数据信息等,innobackupex等xtrabackup子进程结束后退出。 四、xtrabackup的安装部署以及备份恢复实现 1、xtrabackup的安装 下载地址:https://www.percona.com/downloads/XtraBackup/LATEST/ 可以选择rpm包方式安装,也可以下载源码包编译安装,这里直接采用rpm包的方式进行安装 [root@master tools]# wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.9/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm [root@master tools]# yum install -y percona-xtrabackup-24-2.4.9-1.el7.x86_64.rpm [root@master ~]# rpm -qa |grep xtrabackup percona-xtrabackup-24-2.4.9-1.el7.x86_64 Xtrabackup中主要包含两个工具: xtrabackup:是用于热备innodb,xtradb表中数据的工具,不能备份其他类型的表,也不能备份数据表结构; innobackupex:是将xtrabackup进行封装的perl脚本,提供了备份myisam表的能力。 常用选项: --host 指定主机 --user 指定用户名 --password 指定密码 --port 指定端口 --databases 指定数据库 --incremental 创建增量备份 --incremental-basedir 指定包含完全备份的目录 --incremental-dir 指定包含增量备份的目录 --apply-log 对备份进行预处理操作 一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。 --redo-only 不回滚未提交事务 --copy-back 恢复备份目录 使用innobackupex备份时,其会调用xtrabackup备份所有的InnoDB表,复制所有关于表结构定义的相关文件(....

2022-03-25 · 7 分钟

Mysql备份和恢复(mysqldump方式)

一、备份单个数据库 1、备份命令:mysqldump  MySQL数据库自带的一个很好用的备份命令。是逻辑备份,导出的是SQL语句。也就是把数据从MySQL库中以逻辑的SQL语句的形式直接输出或生成备份的文件的过程。 单实例语法(Syntax): mysqldump -u <username> -p <dbname> > /path/to/***.sql 多实例的备份语法(Syntax): mysqldump -u <username> -p <dbname> -S <sockPath> > /path/to/***.sql eg: mysqldump -u root -p wordpress > /opt/wordpress_$(date +%F).sql 2、参数解析 1 -A --all-databases:导出全部数据库 2 -Y --all-tablespaces:导出全部表空间 3 -y --no-tablespaces:不导出任何表空间信息 4 --add-drop-database每个数据库创建之前添加drop数据库语句。 5 --add-drop-table每个数据表创建之前添加drop数据表语句。(默认为打开状态,使用--skip-add-drop-table取消选项) 6 --add-locks在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(默认为打开状态,使用--skip-add-locks取消选项) 7 --comments附加注释信息。默认为打开,可以用--skip-comments取消 8 --compact导出更少的输出信息(用于调试)。去掉注释和头尾等结构。可以使用选项:--skip-add-drop-table --skip-add-locks --skip-comments --skip-disable-keys 9 -c --complete-insert:使用完整的insert语句(包含列名称)。这么做能提高插入效率,但是可能会受到max_allowed_packet参数的影响而导致插入失败。 10 -C --compress:在客户端和服务器之间启用压缩传递所有信息 11 -B--databases:导出几个数据库。参数后面所有名字参量都被看作数据库名。 12 --debug输出debug信息,用于调试。默认值为:d:t:o,/tmp/ 13 --debug-info输出调试信息并退出 14 --default-character-set设置默认字符集,默认值为utf8 15 --delayed-insert采用延时插入方式(INSERT DELAYED)导出数据 16 -E--events:导出事件。 17 --master-data:在备份文件中写入备份时的binlog文件,在恢复进,增量数据从这个文件之后的日志开始恢复。值为1时,binlog文件名和位置没有注释,为2时,则在备份文件中将binlog的文件名和位置进行注释 18 --flush-logs开始导出之前刷新日志。请注意:假如一次导出多个数据库(使用选项--databases或者--all-databases),将会逐个数据库刷新日志。除使用--lock-all-tables或者--master-data外。在这种情况下,日志将会被刷新一次,相应的所以表同时被锁定。因此,如果打算同时导出和刷新日志应该使用--lock-all-tables 或者--master-data 和--flush-logs。 19 --flush-privileges在导出mysql数据库之后,发出一条FLUSH PRIVILEGES 语句。为了正确恢复,该选项应该用于导出mysql数据库和依赖mysql数据库数据的任何时候。 20 --force在导出过程中忽略出现的SQL错误。 21 -h --host:需要导出的主机信息 22 --ignore-table不导出指定表。指定忽略多个表时,需要重复多次,每次一个表。每个表必须同时指定数据库和表名。例如:--ignore-table=database....

2022-03-25 · 3 分钟

Mysql用户操作

Mysql 5.6 -- 创建用户 CREATE USER 'joker'@'%' IDENTIFIED BY 'qweasd11'; -- 授权用户访问的数据库以及权限 grant all privileges on test.* to 'joker'@'%'; -- test为访问数据库 -- all privileges 表示可以对数据进行任意的操作, -- all privileges 可以替换为 select,delete,update,create,drop -- 修改用户的密码 update mysql.user set password=password('qweasd11') where user='joker'; -- 修改密码必须刷新才会起作用 flush privileges; Mysql 5.7 -- 创建用户 CREATE USER 'joker'@'%' IDENTIFIED BY 'qweasd11'; -- 授权用户访问的数据库以及权限 grant all privileges on test.* to 'joker'@'%'; -- test为访问数据库 -- all privileges 表示可以对数据进行任意的操作, -- all privileges 可以替换为 select,delete,update,create,drop -- 修改用户的密码 update mysql....

2022-03-25 · 1 分钟