# HuaweiCloud-Vitess-plugins **Repository Path**: HuaweiCloudDeveloper/huaweicloud-vitess-plugins ## Basic Information - **Project Name**: HuaweiCloud-Vitess-plugins - **Description**: HuaweiCloud-Vitess-plugins - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-30 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # vitess ## 简介 Vitess是一个用于部署、扩展和管理大型MySQL实例集群的数据库解决方案。Vitess集MySQL数据库的很多重要特性和NoSQL数据库的可扩展性于一体。它的架构设计使得您可以像在物理机上一样在公共云或私有云架构中有效运行。它结合并扩展了许多重要的MySQL功能,同时兼具NoSQL数据库的可扩展性。 ## 前提条件 - ubuntu 22.04 ## 部署 1.编译 - 拉取代码 ```sh cd /home git clone https://gitee.com/HuaweiCloudDeveloper/huaweicloud-vitess-plugins.git ``` - 编译 ```sh make ``` - 配置环境变量 ```sh sudo mkdir -p /usr/local/vitess sudo cp -r ./{example,web,bin} /usr/local/vitess/ ``` ```sh vi $HOME/.bashrc ``` 添加一行 ```sh export PATH=/usr/local/vitess/bin:${PATH} ``` 2.换镜像源为官方镜像源 ```sh vi /etc/apt/sources.list ``` ```sh deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu focal partner deb-src http://archive.canonical.com/ubuntu focal partner ``` ```sh apt-get update ``` 3.安装aptitude ```sh apt-get install aptitude aptitude install mysql-server etcd curl ``` ```sh The following NEW packages will be installed: mysql-server{b} 0 packages upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 9,468 B of archives. After unpacking 35.8 kB will be used. The following packages have unmet dependencies: mysql-server : Depends: mysql-server-8.0 but it is not installable The following actions will resolve these dependencies: Keep the following packages at their current version: 1) mysql-server [Not Installed] Accept this solution? [Y/n/q/?] q ``` 如果显示上列信息,选择n 然后会显示是否解决依赖,选择y安装依赖 4.关闭服务 ```sh sudo service mysql stop sudo service etcd stop sudo systemctl disable mysql sudo systemctl disable etcd ``` 5.关闭AppArmor ```sh sudo ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/ sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld ``` 6.创建用户并赋予权限 ```sh sudo adduser vitess sudo usermod -aG sudo vitess sudo su vitess ``` 7.启动vitess - 把脚本目录复制到当前用户 ```sh vitess_path=/usr/local/vitess mkdir ~/my-vitess-example cp -r ${vitess_path}/{examples,web} ~/my-vitess-example cd ~/my-vitess-example/examples/local ``` - 修改common/env.sh ```sh vi ../common/env.sh ``` ``` hostname= ``` 修改hostname为当前ecs的私网ip,不能使用公网ip,会在验证的时候报错修改参数 - 修改参数 修改vtctld-up.sh和vttablet-up.sh,添加以下参数 ```sh vi ../common/scripts/vtctld-up.sh ``` ```sh --backup_storage_implementation=obs --obs_backup_huaweicloud_endpoint= --obs_backup_storage_bucket= --obs_backup_storage_root=vt ``` backup_storage_implementation参数修改为obs,\、\改为自己的值 - 配置aksk ```sh export OBS_ACCESS_KEY= export OBS_SECRET_KEY= ``` - 启动 ```sh ./101_initial_cluster.sh ``` 8.访问 访问web页面:http://\:14201 必须在同一个vpc下通过私网ip访问 9.查看tablets ```sh source ../common/env.sh vtctldclient GetTablets ``` 10.备份 ``` vtctlclient Backup zone1-101 ``` 11.恢复 ```sh vtctldclient RestoreFromBackup zone1-101 ``` ## 常见问题 1.安装mysql依赖拉取失败 After this operation, 278 MB of additional disk space will be used. Ign:1 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-client-core-8.0 amd64 8.0.33-0ubuntu0.22.04.2 Ign:2 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-client-8.0 amd64 8.0.33-0ubuntu0.22.04.2 Ign:3 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server-core-8.0 amd64 8.0.33-0ubuntu0.22.04.2 Ign:4 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server-8.0 amd64 8.0.33-0ubuntu0.22.04.2 Ign:5 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server all 8.0.33-0ubuntu0.22.04.2 Err:1 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-client-core-8.0 amd64 8.0.33-0ubuntu0.22.04.2 404 Not Found [IP: 103.198.200.200 80] Err:2 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-client-8.0 amd64 8.0.33-0ubuntu0.22.04.2 404 Not Found [IP: 103.198.200.200 80] Err:3 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server-core-8.0 amd64 8.0.33-0ubuntu0.22.04.2 404 Not Found [IP: 103.198.200.200 80] Err:4 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server-8.0 amd64 8.0.33-0ubuntu0.22.04.2 404 Not Found [IP: 103.198.200.200 80] Err:5 http://repo.huaweicloud.com/ubuntu jammy-updates/main amd64 mysql-server all 8.0.33-0ubuntu0.22.04.2 404 Not Found [IP: 103.198.200.200 80] E: Failed to fetch http://repo.huaweicloud.com/ubuntu/pool/main/m/mysql-8.0/mysql-client-core-8.0_8.0.33-0ubuntu0.22.04.2_amd64.deb 404 Not Found [IP: 103.198.200.200 80] E: Failed to fetch http://repo.huaweicloud.com/ubuntu/pool/main/m/mysql-8.0/mysql-client-8.0_8.0.33-0ubuntu0.22.04.2_amd64.deb 404 Not Found [IP: 103.198.200.200 80] E: Failed to fetch http://repo.huaweicloud.com/ubuntu/pool/main/m/mysql-8.0/mysql-server-core-8.0_8.0.33-0ubuntu0.22.04.2_amd64.deb 404 Not Found [IP: 103.198.200.200 80] E: Failed to fetch http://repo.huaweicloud.com/ubuntu/pool/main/m/mysql-8.0/mysql-server-8.0_8.0.33-0ubuntu0.22.04.2_amd64.deb 404 Not Found [IP: 103.198.200.200 80] E: Failed to fetch http://repo.huaweicloud.com/ubuntu/pool/main/m/mysql-8.0/mysql-server_8.0.33-0ubuntu0.22.04.2_all.deb 404 Not Found [IP: 103.198.200.200 80] E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing 解决方法:换源 ```sh deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse deb http://archive.canonical.com/ubuntu focal partner deb-src http://archive.canonical.com/ubuntu focal partner ``` 2. sudo apt-get install mysql-server报错,缺少依赖 The following packages have unmet dependencies: libevent-pthreads-2.1-7 : Depends: libevent-core-2.1-7 (= 2.1.11-stable-1) but 2.1.12-stable-1build3 is to be installed E: Unable to correct problems, you have held broken packages **解决方法:** 1.安装aptitude sudo apt-get install aptitude 2.利用aptitude来安装 sudo aptitude install mysql-server 选择n,然后y安装依赖