- K8S集群部署
-
环境说明:
192.168.188.40 k8s 部署Kuboard Spray+Kuboard
192.168.188.41 k8s01 master,etcd,worker192.168.188.42 k8s02 master,worker
192.168.188.43 k8s03 worker
192.168.188.44 k8s04 worker
192.168.188.45 k8s05 worker
192.168.188.46 k8s06 worker
1.初始化机器
安装wget
yum install -y wget
centos 7 添加阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
停止防火墙和SELinux
systemctl stop firewalld && systemctl disable firewalld
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
setenforce 0
卸载自带的mariadb
yum remove mariadb mariadb-libs
关闭swap(可选,k8s集群推荐关闭,不关影响性能)
临时 swapoff -a
永久 注释/etc/fstab中swap的一行并重启
修改每台的hostname
192.168.188.40上执行 hosenamectl set-hostname k8s && su -
192.168.188.41上执行 hosenamectl set-hostname k8s01 && su -
192.168.188.42上执行 hosenamectl set-hostname k8s02 && su -
192.168.188.43上执行 hosenamectl set-hostname k8s03 && su -
192.168.188.44上执行 hosenamectl set-hostname k8s04 && su -
192.168.188.45上执行 hosenamectl set-hostname k8s05 && su -
192.168.188.46上执行 hosenamectl set-hostname k8s06 && su -
编辑hosts
vi /etc/hosts
192.168.188.40 k8s
192.168.188.41 k8s01
192.168.188.42 k8s02
192.168.188.43 k8s03
192.168.188.44 k8s04
192.168.188.45 k8s05
192.168.188.46 k8s06
做免密登陆(可选)
安装docker并配置启动和自启
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker && systemctl enable docker
配置镜像加速
sudo mkdir /etc/docker
编辑配置文件,如果文件不存在,以下命令会自动创建。
sudo nano /etc/docker/daemon.json
将配置信息粘贴到配置文件中,配置信息为 json 格式,可以根据实际需要设置多个国内的镜像服务器。
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
重启docker生效
service docker restart
2..安装Kuboard Spray和k8s集群
192.168.188.40上执行
docker run -d \
--privileged \
--restart=unless-stopped \
--name=kuboard-spray \
-p 80:80/tcp \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /opt/kuboard-spray-data:/data \
eipwork/kuboard-spray:latest-amd64
# 如果您是 arm64 环境,请将标签里的 amd64 修改为 arm64,例如 eipwork/kuboard-spray:latest-arm64
# 如果抓不到这个镜像,可以尝试一下这个备用地址:
# swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard-spray:latest-amd64
在浏览器地址栏中输入 http://这台机器的IP地址,输入用户名 admin,默认密码 Kuboard123,
即可登录 kuboard-spray 界面,下载所需版本的k8s离线资源包
-
添加OS软件源
-
创建集群并选好角色(填好响应主机角色和IP用户名密码等并测试连接,全局设置中容器引擎选docker_20.10,os软件源仅勾选centos,可选组件中勾选kuboard并填入Kuboard 数据目录,其他使用默认配置即可 )
一直等到安装结束
安装kuboard 集成
下载镜像:
docker pull eipwork/kuboard:v3.5.2.4
sudo docker run -d \
--restart=unless-stopped \
--name=kuboard \
-p 81:80/tcp \
-p 10081:10081/tcp \
-e KUBOARD_ENDPOINT="http://192.168.188.40:81" \
-e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
-v /root/kuboard-data:/data \
eipwork/kuboard:v3.5.2.4
# 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
# 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
# Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \
访问http://192.168.188.40:81 账号密码: admin/Kuboard123
- 大数据集群部署
- EMQ集群部署
-
环境说明:
192.168.188.47
192.168.188.48
192.168.188.49
1.初始化机器
安装wget
yum install -y wget
centos 7 添加阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install epel-release
停止防火墙和SELinux
systemctl stop firewalld && systemctl disable firewalld
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
setenforce 0
卸载自带的mariadb
yum remove mariadb mariadb-libs
关闭swap(可选,k8s集群推荐关闭,不关影响性能)
临时 swapoff -a
永久 注释/etc/fstab中swap的一行并重启
安装docker并配置启动和自启
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker && systemctl enable docker
配置镜像加速
sudo mkdir /etc/docker
编辑配置文件,如果文件不存在,以下命令会自动创建。
sudo nano /etc/docker/daemon.json
将配置信息粘贴到配置文件中,配置信息为 json 格式,可以根据实际需要设置多个国内的镜像服务器。
{
"registry-mirrors": [
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
重启docker生效
service docker restart
下载生成emqx容器
192.168.188.47上执行
docker run -tid --name emqx01 --restart=always --cpus=0.6 \
--network host \
-e EMQX_LISTENER__TCP__EXTERNAL=1883 \
-e EMQX_NAME=emqx01 \
-e EMQX_HOST=192.168.188.47 \
-e EMQX_MANAGEMENT__LISTENER__HTTP=18080 \
-e EMQX_CLUSTER__NAME=ys_emqxcl \
-e EMQX_CLUSTER__DISCOVERY=manual \
-e EMQX_NODE__DIST_LISTEN_MIN=6369 \
-e EMQX_NODE__DIST_LISTEN_MAX=7369 \
-e EMQX_NODE__COOKIE=emqxsecretcookie \
emqx/emqx:5.0.16
docker exec -it emqx01 bash
./bin/emqx_ctl cluster join emqx01@192.168.188.47
192.168.188.48上执行
docker run -tid --name emqx02 --restart=always --cpus=0.6 \
--network host \
-e EMQX_LISTENER__TCP__EXTERNAL=1883 \
-e EMQX_NAME=emqx02 \
-e EMQX_HOST=192.168.188.48 \
-e EMQX_MANAGEMENT__LISTENER__HTTP=18080 \
-e EMQX_CLUSTER__NAME=ys_emqxcl \
-e EMQX_CLUSTER__DISCOVERY=manual \
-e EMQX_NODE__DIST_LISTEN_MIN=6369 \
-e EMQX_NODE__DIST_LISTEN_MAX=7369 \
-e EMQX_NODE__COOKIE=emqxsecretcookie \
emqx/emqx:5.0.16
docker exec -it emqx02 bash
./bin/emqx_ctl cluster join emqx01@192.168.188.47
192.168.188.49上执行
docker run -tid --name emqx03 --restart=always --cpus=0.6 \
--network host \
-e EMQX_LISTENER__TCP__EXTERNAL=1883 \
-e EMQX_NAME=emqx03 \
-e EMQX_HOST=192.168.188.49 \
-e EMQX_MANAGEMENT__LISTENER__HTTP=18080 \
-e EMQX_CLUSTER__NAME=ys_emqxcl \
-e EMQX_CLUSTER__DISCOVERY=manual \
-e EMQX_NODE__DIST_LISTEN_MIN=6369 \
-e EMQX_NODE__DIST_LISTEN_MAX=7369 \
-e EMQX_NODE__COOKIE=emqxsecretcookie \
emqx/emqx:5.0.16
docker exec -it emqx03 bash
./bin/emqx_ctl cluster join emqx01@192.168.188.47
- RabbitMQ集群部署
-
环境说明:
192.168.188.47
192.168.188.48
192.168.188.49
mkdir -p /home/docker/rabbitmq/data
服务器47执行
docker run -d --restart=always \
--hostname myrabbit01 --name rabbit01 \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=zzby@2023 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' \
-p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 -p 25672:25672 \
-v /home/docker/rabbitmq/data:/var/lib/rabbitmq \
--add-host myrabbit02:192.168.188.48 \
--add-host myrabbit03:192.168.188.49 \
rabbitmq:3.11.9-management
服务器48执行
docker run -d --restart=always \
--hostname myrabbit02 --name rabbit02 \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=zzby@2023 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' \
-p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 -p 25672:25672 \
-v /home/docker/rabbitmq/data:/var/lib/rabbitmq \
--add-host myrabbit01:192.168.188.47 \
--add-host myrabbit03:192.168.188.49 \
rabbitmq:3.11.9-management
服务器49执行
docker run -d --restart=always \
--hostname myrabbit03 --name rabbit03 \
-e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=zzby@2023 \
-e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' \
-p 15672:15672 -p 5672:5672 -p 5671:5671 -p 4369:4369 -p 25672:25672 \
-v /home/docker/rabbitmq/data:/var/lib/rabbitmq \
--add-host myrabbit01:192.168.188.47 \
--add-host myrabbit02:192.168.188.48 \
rabbitmq:3.11.9-management
-d 后台执行 --restart=always 容器自动启动
--hostname myrabbit03 主机名 --name rabbit03 容器名
-e RABBITMQ_DEFAULT_USER=user 管理界面账号 -e RABBITMQ_DEFAULT_PASS=password 管理界面密码
-e RABBITMQ_ERLANG_COOKIE='rabbitmqCookie' 集群cookie,同一集群的节点设置cookie一致
-p 15672:15672 管理界面端口 -p 5672:5672 -p 5671:5671 连接端口
-p 4369:4369 -p 25672:25672 集群所需端口
-v /home/soft/rabbitmq/data:/var/lib/rabbitmq 挂载数据目录
--add-host myrabbit01:192.168.45.129 \ 添加host
--add-host myrabbit02:192.168.45.130 \
rabbitmq:3-management
管理界面验证 192.168.188.47:15672
加入集群
进入47容器
docker exec -it rabbit01 bash
关闭应用
rabbitmqctl stop_app
重置节点(数据都会清除,按需使用,新搭建的节点可以忽略此步骤)
rabbitmqctl reset
加入49节点,--ram的意思是将rabbit01设置为内存节点,不配置的话默认是磁盘节点。
rabbitmqctl join_cluster --ram rabbit@myrabbit03
rabbitmqctl join_cluster rabbit@myrabbit03
启动应用
rabbitmqctl start_app
退出容器
exit
进入48容器
docker exec -it rabbit02 bash
关闭应用
rabbitmqctl stop_app
重置节点(数据都会清除,按需使用,新搭建的节点可以忽略此步骤)
rabbitmqctl reset
加入49节点,
rabbitmqctl join_cluster rabbit@myrabbit03
启动应用
rabbitmqctl start_app
退出容器
exit
- mongoDB集群部署
-
环境说明:
192.168.188.47
192.168.188.48
192.168.188.49
47上创建文件夹
mkdir -p /home/docker/mongo-rs/
cd /home/docker/mongo-rs/
mkdir -p data01
mkdir -p key
mkdir -p backup
48上
mkdir -p /home/docker/mongo-rs/
cd /home/docker/mongo-rs/
mkdir -p data02
mkdir -p key
mkdir -p backup
49上
mkdir -p /home/docker/mongo-rs/
cd /home/docker/mongo-rs/
mkdir -p data03
mkdir -p key
mkdir -p backup
47上创建密钥
cd /home/docker/mongo-rs/
openssl rand -base64 756 > key/mongo-rs.key
chmod 400 key/mongo-rs.key
chown polkitd:input key/mongo-rs.key
把密钥复制到48和49
分别创建三个容器
47
docker run --name mongo-rs01 -p 27017:27017 -v /home/docker/mongo-rs/data01:/data/db -v /home/docker/mongo-rs/backup:/data/backup -v /home/docker/mongo-rs/key:/data/key -v /etc/localtime:/etc/localtime -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=zzby@2023 -d mongo:4.0.0 --replSet mongo-rs --auth --keyFile /data/key/mongo-rs.key --bind_ip_all
48
docker run --name mongo-rs02 -p 27017:27017 -v /home/docker/mongo-rs/data02:/data/db -v /home/docker/mongo-rs/backup:/data/backup -v /home/docker/mongo-rs/key:/data/key -v /etc/localtime:/etc/localtime -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=zzby@2023 -d mongo:4.0.0 --replSet mongo-rs --auth --keyFile /data/key/mongo-rs.key --bind_ip_all
49
docker run --name mongo-rs03 -p 27017:27017 -v /home/docker/mongo-rs/data03:/data/db -v /home/docker/mongo-rs/backup:/data/backup -v /home/docker/mongo-rs/key:/data/key -v /etc/localtime:/etc/localtime -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=zzby@2023 -d mongo:4.0.0 --replSet mongo-rs --auth --keyFile /data/key/mongo-rs.key --bind_ip_all
47上配置副本集
docker exec -it mongo-rs01 bash
mongo
use admin
db.auth("admin","zzby@2023")
var config={
_id:"mongo-rs",
members:[
{_id:0,host:"192.168.188.47:27017"},
{_id:1,host:"192.168.188.48:27017"},
{_id:2,host:"192.168.188.48:27017",arbiterOnly:true}
]};
rs.initiate(config)
rs.status()
#arbiterOnly:true 表示该节点为仲裁节点,只负责投票,不负责存储数据
执行rs.initiate()方法,初始化副本集,同时执行该方法的节点为主节点
#rs.status()可查看副本集节点状态
验证数据同步
在主节点插入数据
use test
db.test.insert({name:"mongo rs test"})
在从节点查询数据
docker exec -it mongo-rs02 bash
mongo
use admin
db.auth("admin","PWD2020")
db.getMongo().setSlaveOk()
use test
db.test.find()
以上完成副本集的搭建
其它操作
备份数据
docker exec -it mongo-rs01 bash
mongodump -d test-u admin -p zzby@2023 --authenticationDatabase=admin -o /data/backup
恢复数据
docker exec -it mongo-rs01 bash
mongorestore -d test -u admin -p zzby@2023 --authenticationDatabase=admin --dir /data/backup/test
6.3 创建用户
docker exec -it mongo-rs01 bash
mongo
use admin
db.auth("admin","zzby@2023");
use test
db.createUser({ user: 'test', pwd: 'zzby@2023', roles: [ { role: "readWrite", db: "test" } ] });
- Redis集群部署
-
环境说明:
192.168.188.47 redis-master redis-sentinel-1
192.168.188.48 redis-slave-1 redis-sentinel-2
192.168.188.49 redis-slave-2 redis-sentinel-3
三台节点上新建目录
mkdir /home/docker/redis
cd /home/docker/redis
mkdir redis
mkdir data
mkdir conf
cd conf
47上编辑
vi redis.conf
填写:
# 任何都可以连接redis
bind 0.0.0.0
# 配置master密码
requirepass zzby@2023
# 宕机后成为从要连接master的密码
masterauth zzby@2023
# 开启持久化
appendonly yes
48上编辑
vi redis.conf
# 配置master的ip和端口号
replicaof 192.168.188.47 6379
# 任何都可以连接redis
bind 0.0.0.0
# 成为master后的密码
requirepass zzby@2023
# 连接master密码
masterauth zzby@2023
# 开启持久化
appendonly yes
49上编辑
vi redis.conf
# 配置master的ip和端口号
replicaof 192.168.188.47 6379
# 任何都可以连接redis
bind 0.0.0.0
# 成为master后的密码
requirepass zzby@2023
# 连接master密码
masterauth zzby@2023
# 开启持久化
appendonly yes
47上启动
docker run -p 6379:6379 --name redis-master \
-v /home/docker/redis/data:/usr/local/etc/redis/data \
-v /home/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
48上启动
docker run -p 6379:6379 --name redis-slave-1 \
-v /home/docker/redis/data:/usr/local/etc/redis/data \
-v /home/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
49上启动
docker run -p 6379:6379 --name redis-slave-2 \
-v /home/docker/redis/data:/usr/local/etc/redis/data \
-v /home/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf \
-d redis redis-server /usr/local/etc/redis/redis.conf
47上操作
docker exec -it redis-master /bin/bash
登录
redis-cli
auth zzby@2023
查看从节点
Info
搭建三哨兵sentinel
47 48 49 三个虚拟机一起创建
mkdir /home/docker/sentinel
cd /home/docker/sentinel
vi sentinel.conf
填入:
port 26379
sentinel monitor redis-master 192.168.188.47 6379 2
sentinel auth-pass redis-master zzby@2023
sentinel down-after-milliseconds redis-master 6000
sentinel parallel-syncs redis-master 1
sentinel failover-timeout redis-master 6000
第二行:Redis 监控一个名为redis-master的redis集群,我们可以随意写;后面就是ip,我们宿主机的ip即可,端口为主redis的端口;2为哨兵投票的票数,当主redis宕机,三个哨兵必须两个哨兵都投票的redis才会变为主!!
第三行:配置master的密码
第四行:Sentinel判断实例进入主观下线所需的时间,毫秒单位。
第五行:限制在一次故障转移之后,每次向新的主节点同时发起复制操作节点个数,越大效率越慢。
第六行:在指定的时间内未能完成failover故障转移,则任务故障转移失败。
47上运行
docker run -p 26379:26379 --name redis-sentinel-1 \
-v /home/docker/sentinel/sentinel.conf:/usr/local/etc/redis/sentinel.conf \
-d redis redis-sentinel /usr/local/etc/redis/sentinel.conf
48上运行
docker run -p 26379:26379 --name redis-sentinel-2 \
-v /home/docker/sentinel/sentinel.conf:/usr/local/etc/redis/sentinel.conf \
-d redis redis-sentinel /usr/local/etc/redis/sentinel.conf
49上运行
docker run -p 26379:26379 --name redis-sentinel-3 \
-v /home/docker/sentinel/sentinel.conf:/usr/local/etc/redis/sentinel.conf \
-d redis redis-sentinel /usr/local/etc/redis/sentinel.conf
测试主从复制
master节点创建一个键值对:
Redis-cli
auth zzby@2023
set a b
从节点查看key是否存在
get a
- MySQL集群部署
- Nacos集群部署
-
环境说明:
192.168.188.50
192.168.188.51
192.168.188.52
linux安装maven: 需要先安装maven环境:
先测试本机linux有没有安装maven : mvn -v
链接: https://blog.csdn.net/weixin_38568503/article/details/120639472.
Linux安装JDK::
链接: https://blog.csdn.net/weixin_38568503/article/details/120234708.
(1)百度nacos官网,然后下载linun版本的nacos(生产环境的集群部署都在linux机器上)
(2)打开虚拟机,上传到linux并解压:
将我们的tar压缩包直接上传到/usr/local 文件夹下,
然后切换到nacos压缩包所在的目录:
cd /usr/local
然后使用命令去解压:
tar -zxvf nacos-server-1.4.2.tar.gz
解压完毕后,我们可以在local文件夹看到一个解压后的nacos文件夹,然后我们进入配置文件:
cd /usr/local/nacos/conf
ll
初始化 nacos 必须的数据库表并配置:
找到 Nacos 安装目录下提供的数据库脚本文件:
创建mysql数据库use nacos_config;
执行数据库脚本文件
application.properties 配置:
vi application.properties
# 指定数据源为 MySQL
spring.datasource.platform=mysql
### Count of DB:
# 数据库实例数量
db.num=1
# 数据库连接信息,如果是 MySQL 8.0+ 版本需要添加 serverTimezone=Asia/Shanghai
### Connect URL of DB:
db.url.0=jdbc:mysql://192.168.188.50:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&serverTimezone=Asia/Shanghai
db.user=root
db.password=zzby@2023
在cluster.conf文件中进行集群环境配置(三台):
cd /usr/local/nacos/conf
vi cluster.conf
192.168.188.50:8848
192.168.188.51:8848
192.168.188.52:8848
分别启动三个nacos
cd /usr/local/nacos/conf
cd ../bin
ls
cp startup.sh startup.sh.bk
//集群启动命令:
sh startup.sh
7. 访问测试:
三个linux主机的nacos启动后,分别在windows电脑网页访问:
http://192.168.188.50:8848/nacos
http://192.168.188.51:8848/nacos
http://192.168.188.52:8848/nacos
访问地址: http://您的主机IP:8848/nacos
默认账户:nacos
默认密码:nacos
- Harbor部署
-
1.安装docker环境
修改daemon,并添加http的通信地址,不然docker默认使用https进行通信,如果配置了https协议就不需要添加
cat > /etc/docker/daemon.json <<'EOF'
{
"registry-mirrors": [
"https://nr240upq.mirror.aliyuncs.com",
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"https://dockerhub.azk8s.cn",
"http://hub-mirror.c.163.com"
],
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"log-driver": "json-file",
"log-opts": {
"max-size": "300m",
"max-file": "2"
},
"live-restore": true
}
EOF
安装docker-compose
yum -y install docker-compose
2.下载的harbor解压
wget https://ghproxy.com/https://github.com/goharbor/harbor/releases/download/v2.5.3/harbor-offline-installer-v2.5.3.tgz
tar -zxf harbor-offline-installer-v2.1.3.tgz
对harbor配置文件进行修改
vi harbor.cfg
hostname = 20.0.0.10 #本机ip地址
//启动harbor,install.sh
sh /usr/local/harbor/install.sh
//到这里,harbor安装已经完成,可以查看Harbor启动的镜像和容器服务
docker images #查看镜像
docker ps -a #查看容器
访问192.168.188.53:80 账号密码:admin/zzby@2023
3、推送镜像
docker login -u admin -p zzby@2023 http://192.168.188.53
如报错:(1) vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --insecure-registry 20.0.0.10(本机ip) --containerd=/run/containerd/containerd.sock #添加服务器的ip
systemctl daemon-reload
systemctl restart docker
(2)解决方法二:在/etc/docker/daemon.json下加入如下
# cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"registry-mirrors":[
"https://b4buxx.mirror.aliyuncs.com"
]
}
{
"insecure-registry":["10.0.0.110:"]#harbor地址
}
systemctl daemon-reload && systemctl restart docker
使用docker info就可以看见非安全仓库列表
- SonarQube部署
-
1、下载
https://docs.sonarqube.org/latest/
同样在左侧菜单找到 Setup and Upgrade 选项,打开以后按步骤找到 Download 链接,下载对应版本的安装包。
解压文件unzip sonarqube-7.6.zip
1).如果你如无法使用unzip命令解压.zip文件,可能是你没有安装unzip软件,下面是安装方法
#获取安装列表安装命令: yum list | grep zip/unzip
#安装压缩命令: yum install zip #提示输入时,请输入y;
#安装解压命令:yum install unzip #提示输入时,请输入y;
2.安装需要jdk和mysql
我们首先需要通过配置文件修改 sonarqube 的 mysql 连接字符串等信息,打开 conf 目录的 sonar.properties
#----- DEPRECATED
#----- MySQL >=5.6 && <8.0
# Support of MySQL is dropped in Data Center Editions and deprecated in all other editions
# Only InnoDB storage engine is supported (not myISAM).
# Only the bundled driver is supported. It can not be changed.
sonar.jdbc.url=jdbc:mysql://localhost:39901/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&maxAllowedPacket = 16777216&useSSL=false
sonar.jdbc.username=sonarqube
sonar.jdbc.password=xxxxx
3.SonarQube 启动
打开 sonarqube 的下载目录的bin目录,里面列举了各个平台的启动脚本
启动之前先使用 chown 命令将sonarqube-7.6及其子目录授权给一个非root的用户,sonarqube及其es等软件禁止 root账户启动,因此需要切换一个非root账户,授权的用户需要有bin目录及其子目录的读取和可执行的权限。
adduser sonarUser
passwd sonarUser
chown -R sonarUser:sonarUser /home/sonarqube-7.8
- Prometheus部署
-
1、下载Prometheus
wget https://github.com/prometheus/prometheus/releases/download/v2.4.3/prometheus-2.4.3.linux-amd64.tar.gz
2、解压
mv prometheus-2.4.3.linux-amd64.tar.gz prometheus
cd prometheus/
tar xvfz prometheus-2.4.3.linux-amd64.tar.gz
3、运行
nohup ./prometheus --config.file=prometheus.yml &
nodexeporter
2下载nodexeporter
1、下载nodexeporter
cd nodexeporter/
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
2、解压
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
3、运行
cd node_exporter-1.3.1.linux-amd64
nohup ./node_exporter &
ps -aux
3.下载alertmanager
wget https://github.com/prometheus/alertmanager/releases/download/v0.15.2/alertmanager-0.15.2.linux-amd64.tar.gz
tar xvfz alertmanager-0.15.2.linux-amd64.tar.gz
nohup ./alertmanager &
防火墙关闭或放行端口9100、9090
开机自启
cat > /etc/systemd/system/prometheus.service <<EOF
[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
ExecStart=/home/prometheus/prometheus-2.4.3.linux-amd64 --config.file=/home/prometheus/prometheus-2.4.3.linux-amd64/prometheus.yml
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start prometheus.service
systemctl status prometheus.service
systemctl enable prometheus.service
cat > /etc/systemd/system/node_exporter.service <<EOF
[Unit]
Description=node_exporter Monitoring System
Documentation=node_exporter Monitoring System
[Service]
ExecStart=/usr/local/nodexeporter/node_exporter-1.3.1.linux-amd64/node_exporter --web.listen-address=:9100
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start node_exporter.service
systemctl status node_exporter.service
systemctl enable node_exporter.service
vi /etc/
- General部署
-
grafana
- 下载grafana
-
wget https://mirrors.aliyun.com/grafana/yum/rpm/Packages/grafana-enterprise-8.5.21-1.x86_64.rpm
或
wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.2-1.x86_64.rpm
cd grafana/
yum install grafana-enterprise-8.5.2-1.x86_64.rpm
systemctl enable grafana-server
systemctl start grafana-server
systemctl status grafana-server
访问 http://yourIP:3000 ,默认会跳到login页 如下图,输入默认用户名/密码:admin/admin登录。
第一次登录会提示输入2次密码,设置一个新密码,根据个人设置就行,别忘记哈8919监控模板id