TiDB的搭建与维护过程


背景

  1. 总结一下TiDB的搭建以及简单维护过程.
  2. 目标: 简单快速的创建TiDB数据库,以及进行备份恢复等工作.

TiDB 简介

  1. TiDB(全称:Ti Distributed Database)是一款开源的分布式数据库系统,
  2. PingCAP公司开发。它是一种基于分布式架构的新型关系数据库,
  3. 融合了传统关系数据库的ACID特性和分布式数据库的可扩展性、高可用性和分布式事务特性。
  4. TiDBMySQL协议为基础,与MySQL兼容,可以无缝替代传统的关系型数据库。
  5. 它的最大不同是它的存储和计算部分是分离的,存储节点称为TiKV,计算节点称为TiDB
  6. TiKV是以分布式的方式将数据存储在多个节点上,而TiDB负责存储计划的解析与执行。
  7. 这种架构使得TiDB具备了良好的水平扩展性和高并发处理能力。
  8. TiDB拥有强大的分布式特性,支持数据的自动分片与迁移,
  9. 可以根据负载自动扩容与缩容,从而实现了无需停机的横向扩展。
  10. 它还支持跨数据中心的数据复制,保证了数据的高可用性和容灾能力。
  11. 此外,TiDB还具备分布式事务的支持,可以提供全局的事务一致性。
  12. 除了以上特性,TiDB还集成了一些高级功能,
  13. 如分布式查询优化、在线数据扩容、自动故障转移等,以满足复杂的业务需求。
  14. 总之,TiDB是一个具备分布式特性、高可用性和水平扩展能力的开源分布式数据库系统,
  15. 为用户提供了一种全新的数据库解决方案。

环境准备

  1. 1. 机器名
  2. 2. ssh互信
  3. 3. /etc/hosts
  4. 4. ulimit配置
  5. 5. selinux设置
  6. 5. 防火墙设置
  7. 6. 其他设置
  8. 7. 关闭透明大页
  9. 8. 修改IO调度器
  10. 9. 创建用户/ssh互信
  11. 10.挂载磁盘等.
  12. 11.内核参数优化

部分环境准备内容

  1. 1. 用户相关
  2. useradd tidb
  3. passwd tidb
  4. visudo
  5. tidb ALL=(ALL) NOPASSWD: ALL
  6. ssh-keygen
  7. ssh-copy-id tidb@tidb01
  8. su - tidb
  9. ssh-copy-id tidb@tidb01
  10. 2. 部分设置
  11. 关闭selinux
  12. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  13. 临时关闭
  14. setenforce 0
  15. 查看状态
  16. getenforce
  17. ulimit 的设置
  18. vi /etc/security/limits.conf
  19. tidb hard nproc 65536
  20. tidb soft nproc 65536
  21. tidb soft nofile 1000000
  22. tidb hard nofile 1000000
  23. tidb soft stack 32768
  24. tidb hard stack 32768
  25. 临时设置
  26. ulimit -HSn 65536
  27. 检查
  28. ulimit -a

内核参数相关

  1. vim /etc/sysctl.conf
  2. kernel.sysrq=0
  3. net.ipv4.ip_forward=0
  4. net.ipv4.conf.all.send_redirects=0
  5. net.ipv4.conf.default.send_redirects=0
  6. net.ipv4.conf.all.accept_source_route=0
  7. net.ipv4.conf.default.accept_source_route=0
  8. net.ipv4.conf.all.accept_redirects=0
  9. net.ipv4.conf.default.accept_redirects=0
  10. net.ipv4.conf.all.secure_redirects=0
  11. net.ipv4.conf.default.secure_redirects=0
  12. net.ipv4.icmp_echo_ignore_broadcasts=1
  13. net.ipv4.icmp_ignore_bogus_error_responses=1
  14. net.ipv4.conf.all.rp_filter=1
  15. net.ipv4.conf.default.rp_filter=1
  16. net.ipv4.tcp_syncookies=1
  17. kernel.dmesg_restrict=1
  18. net.ipv6.conf.all.accept_redirects=0
  19. net.ipv6.conf.default.accept_redirects=0
  20. net.ipv4.tcp_syncookies=0
  21. vm.swappiness=0
  22. vm.vfs_cache_pressure=200
  23. vm.dirty_background_ratio=5
  24. vm.dirty_ratio=10
  25. vm.dirty_expire_centisecs=1500
  26. vm.dirty_writeback_centisecs=300
  27. net.core.netdev_max_backlog = 5000
  28. net.ipv4.tcp_max_tw_buckets = 5000
  29. net.ipv4.ip_local_port_range = 2000 65000
  30. net.core.somaxconn = 32768
  31. net.ipv4.tcp_max_syn_backlog = 4096

文件系统相关

  1. 关闭swap
  2. swapoff -a
  3. 永久关闭swap
  4. vi /etc/fstab
  5. 删除 swap一行.
  6. 挂载其他硬盘
  7. mkdir -p {/data1,/data2,/data3}
  8. 初始化卷
  9. fdisk -l |grep "/dev"
  10. 查看为挂载的硬盘
  11. 然后执行
  12. fdisk /dev/vdb 等磁盘初始化
  13. 选择 n 新建分区. P 分区. w写入就可以.
  14. lsblk 查看带挂载的信息
  15. mkfs.ext4 /dev/vdb1
  16. mkfs.ext4 /dev/vdc1
  17. mkfs.ext4 /dev/vdd1
  18. 开机自动挂载的设置
  19. vim /etc/fstab中新增加
  20. /dev/vdb1 /data1 ext4 defaults,noatime,nodiratime,nodelalloc 0 0
  21. /dev/vdc1 /data2 ext4 defaults,noatime,nodiratime,nodelalloc 0 0
  22. /dev/vdd1 /data3 ext4 defaults,noatime,nodiratime,nodelalloc 0 0
  23. 修改一下文件属主:
  24. chown tidb:tidb /data1 -R
  25. chown tidb:tidb /data2 -R
  26. chown tidb:tidb /data3 -R

文件调度器与透明大页

  1. 修改磁盘调度器模式
  2. 注意 需要改 /etc/rc.d/rc.local 可执行权限
  3. chmod 700 /etc/rc.d/rc.local
  4. cat /sys/block/vda/queue/scheduler
  5. 永久设置
  6. 关闭透明大页
  7. vi /etc/rc.d/rc.local
  8. if test -f /sys/kernel/mm/transparent_hugepage/enabled;then
  9. echo never > /sys/kernel/mm/transparent_hugepage/enabled
  10. fi
  11. if test -f /sys/kernel/mm/transparent_hugepage/defrag;then
  12. echo never > /sys/kernel/mm/transparent_hugepage/defrag
  13. fi
  14. echo none > /sys/block/vda/queue/scheduler
  15. echo none > /sys/block/vdb/queue/scheduler
  16. echo none > /sys/block/vdc/queue/scheduler
  17. echo none > /sys/block/vdd/queue/scheduler
  18. # 可以将 echo none 也添加进来 none 是centos8 的叫法
  19. 查看方式
  20. cat /sys/kernel/mm/transparent_hugepage/enabled
  21. cat /sys/block/vda/queue/scheduler
  22. # 需要重启后验证

安装部分软件

  1. yum install numactl sysstat ntp -y
  2. 关闭防火墙
  3. systemctl disable firewalld && systemctl stop firewalld
  4. systemctl disable cockpit.socket && systemctl stop cockpit.socket
  5. ntpdate ntp.aliyun.com
  6. crontab -e
  7. 1 */4 * * * ntpdate ntp.aliyun.com
  8. systemctl enable --now crond

检查项目合计

  1. systemctl status firewalld
  2. cat /sys/kernel/mm/transparent_hugepage/enabled
  3. cat /sys/block/vda/queue/scheduler
  4. ulimit -a
  5. getenforce

安装过程

  1. 上传安装包到 一台机器
  2. 比如我使用的版本是 7.2 第一步安装软件
  3. cd tidb-community-toolkit-v7.2.0-linux-amd64
  4. 执行命令:
  5. ./local_install.sh
  6. 然后进行处理一下:
  7. source /root/.bash_profile
  8. # 注意离线安装的话 需要 toolkit和server 放到一起不然会提示缺少很多component
  9. # 在线与离线安装的命令基本上一样.
  10. # 最大的不同点是 mirror 是本地的文件,还是外部的地址.

配置文件

  1. global:
  2. user: "tidb"
  3. ssh_port: 22
  4. deploy_dir: "/deploy/tidb"
  5. data_dir: "/data1"
  6. server_configs:
  7. pd:
  8. replication.enable-placement-rules: true
  9. pd_servers:
  10. - host: 172.16.39.101
  11. - host: 172.16.39.102
  12. - host: 172.16.39.103
  13. tidb_servers:
  14. - host: 172.16.39.101
  15. - host: 172.16.39.102
  16. - host: 172.16.39.103
  17. tikv_servers:
  18. - host: 172.16.39.101
  19. - host: 172.16.39.102
  20. - host: 172.16.39.103
  21. tiflash_servers:
  22. - host: 172.16.39.103
  23. data_dir: /data2,/data3
  24. cdc_servers:
  25. - host: 172.16.39.101
  26. - host: 172.16.39.102
  27. - host: 172.16.39.103
  28. monitoring_servers:
  29. - host: 172.16.39.103
  30. grafana_servers:
  31. - host: 172.16.39.103
  32. alertmanager_servers:
  33. - host: 172.16.39.103

在线安装

  1. curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  2. 安装 tiup
  3. source /root/.bash_profile
  4. tiup mirror show
  5. 安装 cluster
  6. tiup install cluster
  7. 升级到最新
  8. tiup update --self && tiup update cluster
  9. tiup update --all 升级所有.
  10. 执行一下检查
  11. tiup cluster check ./tidb_cluster.yaml --user tidb -i /home/tidb/.ssh/id_rsa
  12. 查看 tidb的版本:
  13. tiup list tidb
  14. 进行安装: 最新的稳定是 7.2.0 20230629.
  15. tiup cluster deploy erptidb v7.2.0 ./tidb_cluster.yaml --user tidb -i /home/tidb/.ssh/id_rsa
  16. 启动命令为:
  17. tiup cluster start erptidb --init
  18. 建立本地的 仓库的方法
  19. tiup mirror clone tidb-community-server-7.2.0-linux-amd64 7.2.0 --os=linux --arch=amd64
  20. arm的话 可以直接使用.
  21. tiup mirror clone tidb-community-server-7.2.0-linux-amd64 7.2.0 --os=linux --arch=arm64
  22. 设置镜像的路径:
  23. tiup mirror set /shared_data/tiup
  24. tiup mirror set https://tiup-mirror.example.com/

默认监控信息

  1. http://172.16.39.102:2379/dashboard
  2. 默认用户 root 密码为空
  3. http://172.16.39.103:3000/
  4. 默认用户 admin 密码 admin
  5. 登录数据库以及修改密码:
  6. mysql -u root -p -P 4000 -h 172.16.39.101
  7. 默认是空密码 回车就可以登录.
  8. show databases;
  9. set password for 'root'@'%' = 'Test20131127' ;
  10. flush privileges ;

tiup的部分运维操作

  1. tiup cluster list
  2. # 查看集群列表
  3. tiup cluster start $cluster_name
  4. # 启动集群
  5. tiup cluster start ${cluster-name} -R pd
  6. # 单独启动组件
  7. tiup cluster start $cluster_name -N 1.2.3.4:2379,1.2.3.5:2379
  8. # 单独重启某几台机器上面的特定组件.
  9. tiup cluster display $cluster-name
  10. # 查看集群状态
  11. tiup cluster stop $cluster-name
  12. # 关闭集群
  13. tiup cluster stop ${cluster-name} -N 1.2.3.4:4000,1.2.3.5:4000
  14. # 关闭tidb组件 注意 4000 也是 mysql客户端使用的端口.
  15. tiup cluster clean ${cluster-name} --all
  16. # 清理所有的数据

TiDB快速处理参数硬件参数的方法

  1. useradd tidb
  2. echo Test20131127 | passwd --stdin tidb
  3. sed -i '/tidb/d' /etc/sudoers
  4. echo "tidb ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
  5. sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  6. sed -i '/^tidb/d' /etc/security/limits.conf
  7. echo "tidb hard nproc 65536
  8. tidb soft nproc 65536
  9. tidb soft nofile 1000000
  10. tidb hard nofile 1000000
  11. tidb soft stack 32768
  12. tidb hard stack 32768" >> /etc/security/limits.conf
  13. scp /etc/sysctl.conf /etc/sysctl.conf_$(date +%Y%m%d%H%M)
  14. cat > /etc/sysctl.conf <<EOF
  15. kernel.sysrq=0
  16. net.ipv4.ip_forward=1
  17. net.ipv4.conf.all.send_redirects=0
  18. net.ipv4.conf.default.send_redirects=0
  19. net.ipv4.conf.all.accept_source_route=0
  20. net.ipv4.conf.default.accept_source_route=0
  21. net.ipv4.conf.all.accept_redirects=0
  22. net.ipv4.conf.default.accept_redirects=0
  23. net.ipv4.conf.all.secure_redirects=0
  24. net.ipv4.conf.default.secure_redirects=0
  25. net.ipv4.icmp_echo_ignore_broadcasts=1
  26. net.ipv4.icmp_ignore_bogus_error_responses=1
  27. net.ipv4.conf.all.rp_filter=1
  28. net.ipv4.conf.default.rp_filter=1
  29. net.ipv4.tcp_syncookies=1
  30. kernel.dmesg_restrict=1
  31. net.ipv6.conf.all.accept_redirects=0
  32. net.ipv6.conf.default.accept_redirects=0
  33. net.ipv4.tcp_syncookies=0
  34. vm.swappiness=0
  35. vm.vfs_cache_pressure=200
  36. vm.dirty_background_ratio=5
  37. vm.dirty_ratio=10
  38. vm.dirty_expire_centisecs=1500
  39. vm.dirty_writeback_centisecs=300
  40. net.core.netdev_max_backlog = 5000
  41. net.ipv4.tcp_max_tw_buckets = 5000
  42. net.ipv4.ip_local_port_range = 2000 65000
  43. net.core.somaxconn = 32768
  44. net.ipv4.tcp_max_syn_backlog = 4096
  45. vm.max_map_count=262144
  46. EOF
  47. sysctl -p
  48. cat > /etc/systemd/system/cpupower.service <<EOF
  49. [Unit]
  50. Description=CPU powersave
  51. [Service]
  52. Type=oneshot
  53. ExecStart=/usr/bin/cpupower -c all frequency-set -g performance
  54. [Install]
  55. WantedBy=multi-user.target
  56. EOF
  57. systemctl enable --now cpupower
  58. swapoff -a
  59. scp /etc/fstab /etc/fstab_$(date +%Y%m%d%H%M)
  60. sed -i '/swap/d' /etc/fstab
  61. # 需要注意这个命令一定要注意安全 必须测试完再重启, 先备份文件
  62. sed -i '/scheduler/d' /etc/rc.d/rc.local
  63. sed -i '/transparent_hugepage/d' /etc/rc.d/rc.local
  64. echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled
  65. echo never > /sys/kernel/mm/transparent_hugepage/defrag
  66. echo none > /sys/block/vda/queue/scheduler
  67. echo none > /sys/block/vdb/queue/scheduler
  68. echo none > /sys/block/vdc/queue/scheduler " > /etc/rc.d/rc.local
  69. chmod 777 /etc/rc.d/rc.local
  70. systemctl disable firewalld && systemctl stop firewalld
  71. systemctl disable cockpit.socket && systemctl stop cockpit.socket
  72. yum install -y ntpdate
  73. cat >/etc/cron.d/ntpdate <<EOF
  74. 1 */4 * * * ntpdate ntp.aliyun.com
  75. EOF
  76. systemctl enable --now crond

创建时建议手工介入的脚本

  1. 挂载新的硬盘
  2. mkdir /data01 /data02
  3. fdisk /dev/vdb
  4. fdisk /dev/vdc
  5. mkfs.ext4 /dev/vdb1
  6. mkfs.ext4 /dev/vdc1
  7. 然后挂载新的硬盘
  8. # 方式2
  9. mkdir /data01 /data02
  10. parted /dev/vdc mklabel gpt
  11. parted /dev/vdc mkpart primary ext4 2048s 100%
  12. parted /dev/vdb mklabel gpt
  13. parted /dev/vdb mkpart primary ext4 2048s 100%
  14. mkfs.ext4 /dev/vdb1
  15. mkfs.ext4 /dev/vdc1
  16. echo "/dev/vdb1 /data01 ext4 defaults,noatime,nodiratime,nodelalloc 0 0
  17. /dev/vdc1 /data02 ext4 defaults,noatime,nodiratime,nodelalloc 0 0" >> /etc/fstab
  18. 注意可以给将目录廷加上对应的用户权限
  19. chown tidb:tidb /data01 -R
  20. chown tidb:tidb /data02 -R

参数优化部分-需要根据配置单独的配置进行优化

  1. server_configs:
  2. tidb:
  3. log.file.max-days: 1
  4. log.level: error
  5. performace:
  6. max-procs: 4
  7. server-memory-quota: 4G
  8. allow-expression-index: true
  9. tikv:
  10. log.file.max-days: 1
  11. log.level: error
  12. readpool.unified.max-thread-count: 8
  13. storage.block-cache.capacity: 3G
  14. pd:
  15. replication.enable-placement-rules: true
  16. tidb_dashboard: {}
  17. tiflash:
  18. performance.max-procs: 4
  19. tiflash-learner: {}
  20. pump: {}
  21. drainer: {}
  22. cdc: {}
  23. kvcdc: {}
  24. grafana: {}

其他配置

  1. SET GLOBAL tidb_ignore_prepared_cache_close_stmt=on;
  2. SET GLOBAL tidb_enable_fast_analyze=1 ;
  3. SET GLOBAL tidb_rc_read_check_ts=on ;
  4. SET config pd `replication.max-replicas`=1;
  5. SET config tikv `txn-local-latches`=false;
  6. set config tikv `raftstore.apply-pool-size` = 16 ;
  7. set config tikv `raftstore.store-pool-size` = 16 ;
  8. SET GLOBAL tidb_auto_analyze_start_time='01:00 +0000' ;
  9. SET GLOBAL tidb_auto_analyze_end_time='03:00 +0000' ;
  10. SET config tikv `log.level` = 'CRITICAL';
  11. SET config pd `log.level` = 'error';
  12. SET GLOBAL sql_mode='NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
  13. SET GLOBAL tidb_server_memory_limit = "8GB";
  14. SET GLOBAL tidb_mem_quota_query = 1<< 30;
  15. SET GLOBAL tidb_multi_statement_mode='ON' ;
  16. SET GLOBAL tidb_enable_tiflash_read_for_write_stmt=ON;
  17. set GLOBAL tidb_max_tiflash_threads = 4 ;
  18. set @@global.tidb_disable_txn_auto_retry = 0;
  19. set @@global.tidb_retry_limit = 10;
  20. set GLOBAL tidb_partition_prune_mode = `dynamic`;
  21. set global tidb_enable_noop_functions=1 ;
  22. set global sql_require_primary_key=off;
  23. # 注意以下参数与分区表冲突
  24. set GLOBAL tidb_scatter_region=true ;

下载与安装之二

  1. curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh
  2. /root/.bash_profile
  3. tiup cluster check /deploy/tidb_cluster.yaml --user tidb -i /home/tidb/.ssh/id_rsa
  4. tiup cluster deploy erptidb v6.5.3 /deploy/tidb_cluster.yaml --user tidb -i /home/tidb/.ssh/id_rsa
  5. # 启动命令为:
  6. tiup cluster start erptidb --init
  7. 使用mysql登录并且修改密码
  8. alter user root@'%' identified by 'SomePassword' ;
  9. tiup install br:v6.5.3 安装备份恢复软件
  10. tiup install ctl:v6.5.3
  11. 增加环境变量 便于后续处理
  12. cat > /etc/profile.d/tidb.sh <<EOF
  13. export PATH=$PATH:/root/.tiup/components/br/v6.5.3:/root/.tiup/components/ctl/v6.5.3
  14. EOF
  15. source /etc/profile.d/tidb.sh

备份恢复数据库

  1. 备份
  2. now=`date +%Y%m%d%H`
  3. export AWS_ACCESS_KEY_ID=minioadmin
  4. export AWS_SECRET_ACCESS_KEY=minioadmin
  5. ssh root@192.168.255.65 "mkdir -p /data/minio/data/tidb25574${now}"
  6. time /root/.tiup/components/br/v7.2.0/br backup full -f '*.*' -f '!information_schema.*' -f '!emetrics_schema.*' --pd "192.168.254.72:2379" --storage "s3://tidb25574${now}" --s3.endpoint "http://192.168.255.65:9000" --send-credentials-to-tikv=true --log-file backupfull.log
  7. 恢复 可以单个数据库, 单个表回复, 也可以完整恢复
  8. 注意恢复时 数据库建议是空的.
  9. export AWS_ACCESS_KEY_ID=minioadmin
  10. export AWS_SECRET_ACCESS_KEY=minioadmin
  11. /root/.tiup/components/br/v7.2.0/br restore db --db ERPDATA_ZZ_DEV_0001 --pd "192.168.254.72:2379" --storage "s3://tidb255742023100823" --s3.endpoint "http://192.168.255.65:9000" --send-credentials-to-tikv=true --log-file restore

计划任务备份与处理

  1. crontab -e
  2. 1 23 * * * /deploy/br
  3. 清理方式
  4. find /minio/data -maxdepth 1 ! -path "/minio/data/.minio.sys" -mtime +5 -exec rm -rf {} \;
  5. 设置计划任务:
  6. 1 4 * * * /deploy/diskclean

TiDB的搭建与维护过程的更多相关文章

  1. mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(附demo和搭建过程遇到的问题解决方法)

    文章介绍结构一览 一.使用maven创建web项目 1.新建maven项目 2.修改jre版本 3.修改Project Facts,生成WebContent文件夾 4.将WebContent下的两个文 ...

  2. 深入理解Fabric环境搭建的详细过程

    博主之前的文章都是教大家怎么快速的搭建一个Fabric的环境,但是其中大量的工作都隐藏到了官方的脚本中,并不方便大家深入理解其中的过程,所以博主这里就将其中的过程一步步分解,方便大家! 前面的准备工作 ...

  3. mybatis学习笔记(六) -- maven+spring+mybatis从零开始搭建整合详细过程(下)

    继续 mybatis学习笔记(五) -- maven+spring+mybatis从零开始搭建整合详细过程(上) 五.使用监听器启动Spring容器 1.修改pom.xml文件,添加Spring-we ...

  4. 深入理解Fabric环境搭建的详细过程(转)

    前面的准备工作我就不用多说了,也就是各种软件和开发环境的安装,安装好以后,我们git clone下来最新的代码,并切换到v1.0.0,并且下载好我们需要使用的docker镜像,也就是到步骤6,接下来我 ...

  5. git的本质是资源库和版本(资源)目录的维护过程

    仓库的本质: 资源+索引. 对git而言,添加到暂存区的过程是,将单个资源的修改副本保存到资源库,同时维护暂存区目录的过程. git的本质是资源库和版本目录的维护过程. 一.要素 1.资源 2.副本 ...

  6. vue-cli3.0 脚手架搭建项目的过程详解

    1.安装vue-cli 3.0 ? 1 2 3 npm install -g @vue/cli # or yarn global add @vue/cli 安装成功后查看版本:vue -V(大写的V) ...

  7. Nginx搭建反向代理服务器过程详解

    一.反向代理:Web服务器的“经纪人” 1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从 ...

  8. Nginx 搭建反向代理服务器过程详解

    1.1 反向代理初印象 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet ...

  9. CentOS7使用yum详细搭建zabbix3.2过程

    本文引用于:http://blog.csdn.net/s3275492383/article/details/62417210 一.准备搭建环境: 1.系统:CentOS7 2.默认有使用linux服 ...

  10. Docker 企业级镜像仓库 Harbor 的搭建与维护

    目录 一.什么是 Harbor 二.Harbor 安装 2.1.Harbor 安装环境 2.2.Harbor安装 2.3 配置HTTPS 三.Harbor 的使用 3.1.登录Harbor并使用 3. ...

随机推荐

  1. openstack云基础架构

    openstack搭建及基本配置 节点servera: 配置好yum后 yum -y update 更新yum仓库 安装openstack yum -y install openstack-packs ...

  2. MySQL进阶篇:详解存储引擎InnoDB

    本篇基础环境是使用navicat 12和Mysql8.0 MySQL进阶篇:第一章_一.二_存储引擎特点_InnoDB 1.1 存储引擎特点 1.1.1 InnoDB 1). 介绍 InnoDB是一种 ...

  3. C++篇:第九章_字符串_知识点大全

    C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 九.字符串 可以用[ ]进行下标访问 使用string类需将头文件包含在程序中, ...

  4. GaussDB(DWS)集群中寻找节点CPU占用高的语句

    摘要:本文主要通过实例讲解如何通过gs_cpuwatcher.sh 脚本寻找CPU占用高语句. 本文分享自华为云社区<GaussDB(DWS) gs_cpuwatcher.sh 脚本如何寻找CP ...

  5. Ubuntu 安装 MySQL 5.7

    一.安装MySQL 1. 删除Mysql 数据库 sudo apt autoremove --purge mysql-server-* sudo apt remove mysql-server sud ...

  6. Java FTP操作

    pom引用: <dependency> <groupId>commons-net</groupId> <artifactId>commons-net&l ...

  7. vmware中 centos 突然不能联网,ens33丢失,见了鬼了..........

    本人笔记本上vmware中centos允许一直很稳定,今天启动centos准备docker打包,结果发现不能联网了!!! ifconfig一下,发现ens33没了,见鬼了吧! 于是一通vmware虚拟 ...

  8. 【Boost】Windows 下个人在配置 Boost 踩到的坑以及解决方案

    要编译的 Boost 版本:1.82.0 假设 Boost 的根目录为 ${boost_root}$ 如果不想编译可以使用博主编译后的Boost:https://pan.baidu.com/s/1s2 ...

  9. #1241: Oil Deposits(八向搜索 + 并查集)

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

  10. L3-013 非常弹的球 (30 分) (math)

    刚上高一的森森为了学好物理,买了一个"非常弹"的球.虽然说是非常弹的球,其实也就是一般的弹力球而已.森森玩了一会儿弹力球后突然想到,假如他在地上用力弹球,球最远能弹到多远去呢?他不 ...