A deployer and package manager for OceanBase open-source software.

Overview

OceanBase Deploy

OceanBase Deploy (简称 OBD)是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。本文介绍如何安装 OBD、使用 OBD 和 OBD 的命令。

安装 OBD

您可以使用以下方式安装 OBD:

方案1: 使用 RPM 包(Centos 7 及以上)安装。

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo
sudo yum install -y ob-deploy
source /etc/profile.d/obd.sh

方案2:使用源码安装。

使用源码安装 OBD 之前,请确认您已安装以下依赖:

  • gcc
  • wget
  • python-devel
  • openssl-devel
  • xz-devel
  • mysql-devel

Python2 使用以下命令安装:

pip install -r requirements.txt
sh build.sh
source /etc/profile.d/obd.sh

Python3 使用以下命令安装:

pip install -r requirements3.txt
sh build.sh
source /etc/profile.d/obd.sh

快速启动 OceanBase 数据库

安装 OBD 后,您可以使用 root 用户执行这组命令快速启动本地单节点 OceanBase 数据库。 在此之前您需要确认以下信息:

  • 当前用户为 root。
  • 28822883 端口没有被占用。
  • 您的机器内存应该不低于 8G。
  • 您的机器 CPU 数目应该不低于 2。

说明: 如果以上条件不满足,请移步使用 OBD 启动 OceanBase 数据库集群

obd cluster deploy c1 -c ./example/mini-local-example.yaml
obd cluster start c1
# 使用 mysql 客户端链接到到 OceanBase 数据库。
mysql -h127.1 -uroot -P2883

使用 OBD 启动 OceanBase 数据库集群

按照以下步骤启动 OceanBase 数据库集群:

第 1 步. 选择配置文件

根据您的资源条件选择正确的配置文件:

小规格开发模式

适用于个人设备(内存不低于 8G)。

专业开发模式

适用于高配置 ECS 或物理服务器(不低于 16 核 64G 内存)。

本文以 小规格开发模式-本地单节点 为例,启动一个本地单节点的 OceanBase 数据库。

# 修改 home_path, 这是 OceanBase 数据库的工作目录。
# 修改 mysql_port,这是 OceanBase 数据库 SQL 服务协议端口号。后续将使用此端口连接数据库。
# 修改 rpc_port,这是 OceanBase 数据库集群内部通信的端口号。
vi ./example/mini-local-example.yaml

如果您的目标机器(OceanBase 数据库程序运行的机器)不是当前机器,请不要使用 本地单节点配置样例,改用其他样例。 同时您还需要修改配置文件顶部的用户密码信息。

user:
  username: <您的账号名>
  password: <您的登录密码>
  key_file: <您的私钥路径>

username 为登录到目标机器的用户名,确保您的用户名有 home_path 的写权限。passwordkey_file都是用于验证改用户的方式,通常情况下只需要填写一个。

注意: 在配置秘钥路径后,如果您的秘钥不需要口令,请注释或者删掉password,以免password被视为秘钥口令用于登录,导致校验失败。

第 2 步. 部署和启动数据库

# 此命令会检查 home_path 和 data_dir 指向的目录是否为空。
# 若目录不为空,则报错。此时可以加上 -f 选项,强制清空。
obd cluster deploy lo -c local-example.yaml

# 此命令会检查系统参数 fs.aio-max-nr 是否不小于 1048576。
# 通常情况下一台机器启动一个节点不需要修改 fs.aio-max-nr。
# 当一台机器需要启动 4 个及以上的节点时,请务必修改 fs.aio-max-nr。
obd cluster start lo 

第 3 步. 查看集群状态

# 参看obd管理的集群列表
obd cluster list
# 查看 lo 集群状态
obd cluster disply lo

第 4 步. 修改配置

OceanBase 数据库有数百个配置项,有些配置是耦合的,在您熟悉 OceanBase 数据库之前,不建议您修改示例配件文件中的配置。此处示例用来说明如何修改配置,并使之生效。

# 使用 edit-config 命令进入编辑模式,修改集群配置
obd cluster edit-config lo
# 修改 sys_bkgd_migration_retry_num 为 5
# 注意 sys_bkgd_migration_retry_num 值最小为 3
# 保存并退出后,obd 会告知您如何使得此次改动生效
# 此配置项仅需要 reload 即可生效
obd cluster reload lo

第 5 步. 停止集群

stop 命令用于停止一个运行中的集群。如果 start 命令执行失败,但有进程没有退出,请使用 destroy 命令。

obd cluster stop lo

第 6 步. 销毁集群

运行以下命令销毁集群:

# �启动集群时失败,可以能会有一些进程停留。
# 此时可用 -f 选项强制停止并销毁集群
obd cluster destroy lo

其他 OBD 命令

OBD 有多级命令,您可以在每个层级中使用 -h/--help 选项查看该子命令的帮助信息。

镜像和仓库命令组

obd mirror clone

将本地 RPM 包添加为镜像,之后您可以使用 OBD 集群 中相关的命令中启动镜像。

obd mirror clone <path> [-f]

参数 path 为 RPM 包的路径。

选项 -f--force-f 为可选选项。默认不开启。开启时,当镜像已经存在时,强制覆盖已有镜像。

obd mirror create

以本地目录为基础创建一个镜像。此命令主要用于使用 OBD 启动自行编译的 OceanBase 开源软件,您可以通过此命令将编译产物加入本地仓库,之后就可以使用 obd cluster 相关的命令启动它。

obd mirror create -n <component name> -p <your compile dir> -V <component version> [-t <tag>] [-f]

例如您根据 OceanBase 编译指导书编译成功后,可以使用 make DESTDIR=./ install && obd mirror create -n oceanbase-ce -V 3.1.0 -p ./usr/local 将编译产物加入OBD本地仓库。

选项说明见下表:

选项名 是否必选 数据类型 说明
-n/--name string 组件名。如果您编译的是 OceanBase 数据库,则填写 oceanbase-ce。如果您编译的是 ODP,则填写 obproxy。
-p/--path string 编译目录。执行编译命令时的目录。OBD 会根据组件自动从该目录下获取所需的文件。
-V/--version string 版本号
-t/--tag string 镜像标签。您可以为您的创建的镜像定义多个标签,以英文逗号(,)间隔。
-f/--force bool 当镜像已存在,或者标签已存在时强制覆盖。默认不开启。

obd mirror list

显示镜像仓库或镜像列表

obd mirror list [mirror repo name]

参数 mirror repo name 为 镜像仓库名。该参数为可选参数。不填时,将显示镜像仓库列表。不为空时,则显示对应仓库的镜像列表。

obd mirror update

同步全部远程镜像仓库的信息

obd mirror update

集群命令组

OBD 集群命令操作的最小单位为一个部署配置。部署配置是一份 yaml 文件,里面包含各个整个部署的全部配置信息,包括服务器登录信息、组件信息、组件配置信息和组件服务器列表等。

在使用 OBD 启动一个集群之前,您需要先注册这个集群的部署配置到 OBD 中。您可以使用 obd cluster edit-config 创建一个空的部署配置,或使用 obd cluster deploy -c config 导入一个部署配置。

obd cluster edit-config

修改一个部署配置,当部署配置不存在时创建。

obd cluster edit-config <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster deploy

根据配置部署集群。此命令会根据部署配置文件中组件的信息查找合适的镜像,并安装到本地仓库,此过程称为本地安装。 在将本地仓库中存在合适版本的组件分发给目标服务器,此过程称为远程安装。 在本地安装和远程安装时都会检查服务器是否存在组件运行所需的依赖。 此命令可以直接使用 OBD 中已注册的 deploy name 部署,也可以通过传入 yaml 的配置信息。

obd cluster deploy <deploy name> [-c <yaml path>] [-f] [-U]

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

选项说明见下表:

选项名 是否必选 数据类型 默认值 说明
-c/--config string 使用指定的 yaml 文件部署,并将部署配置注册到 OBD 中。
deploy name 存在时覆盖配置。
如果不使用该选项,则会根据 deploy name 查找已注册到OBD中的配置信息。
-f/--force bool false 开启时,强制清空工作目录。
当组件要求工作目录为空且不使用改选项时,工作目录不为空会返回错误。
-U/--ulp/ --unuselibrepo bool false 使用该选项将禁止 OBD 自动处理依赖。不开启的情况下,OBD 将在检查到缺失依赖时搜索相关的 libs 镜像并安装。使用该选项将会在对应的配置文件中天 unuse_lib_repository: true。也可以在配置文件中使用 unuse_lib_repository: true 开启。

obd cluster start

启动已部署的集群,成功时打印集群状态。

obd cluster start <deploy name> [-s]

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

选项 -s--strict-check。部分组件在启动前会做相关的检查,当检查不通过的时候会报警告,不会强制停止流程。使用该选项可开启检查失败报错直接退出。建议开启,可以避免一些资源不足导致的启动失败。非必填项。数据类型为 bool。默认不开启。

obd cluster list

显示当前 OBD 内注册的全部集群(deploy name)的状态。

obd cluster list

obd cluster display

展示指定集群的状态。

obd cluster display <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster reload

重载一个运行中集群。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 reload 命令应用修改。 需要注意的是,并非全部的配置项都可以通过 reload 来应用。有些配置项需要重启集群,甚至是重部署集群才能生效。 请根据 edit-config 后返回的信息进行操作。

obd cluster reload <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster restart

重启一个运行中集群。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 restart 命令应用修改。

注意: 并非所有的配置项都可以通过 restart 来应用。有些配置项需要重部署集群才能生效。

请根据 edit-config 后返回的信息进行操作。

obd cluster restart <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster redeploy

重启一个运行中集群。当您使用 edit-config 修改一个运行的集群的配置信息后,可以通过 redeploy 命令应用修改。

注意: 该命令会销毁集群,重新部署,您集群中的数据会丢失,请先做好备份。

obd cluster redeploy <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster stop

停止一个运行中的集群。

obd cluster stop <deploy name>

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

obd cluster destroy

销毁已部署的集群。如果集群处于运行中的状态,该命令会先尝试执行stop,成功后再执行destroy

obd cluster destroy <deploy name> [-f]

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

选项 -f--force-kill。检查到工作目录下有运行中的进程时,强制停止。销毁前会做检查是有还有进程在运行中。这些运行中的进程可能是 start 失败留下的,也可能是因为配置与其他集群重叠,进程是其他集群的。但无论是哪个原因导致工作目录下有进程未退出,destroy 都会直接停止。使用该选项会强制停止这些运行中的进程,强制执行 destroy。非必填项。数据类型为 bool。默认不开启。

测试命令组

obd test mysqltest

对 OcecanBase 数据库或 ODP 组件的指定节点执行 mysqltest。mysqltest 需要 OBClient,请先安装 OBClient。

obd test mysqltest <deploy name> [--test-set <test-set>] [flags]

参数 deploy name 为部署配置名称,可以理解为配置文件名称。

选项说明见下表:

选项名 是否必选 数据类型 默认值 说明
-c/--component string 默认为空 待测试的组件名。候选项为 oceanbase-ce 和 obproxy。为空时,按 obproxy、oceanbase-ce 的顺序进行检查。检查到组件存在则不再遍历,使用命中的组件进行后续测试。
--test-server string 默指定的组件下服务器中的第一个节点。 必须是指定的组件下的某个节点名。
--mode string both 测试模式。候选项为 mysql、both。
--user string root 执行测试的用户名。
---password string 默认为空 执行测试的用户密码。
--mysqltest-bin string mysqltest 指定的路径不可执行时使用 OBD 自带的 mysqltest。
--obclient-bin string obclient OBClient 二进制文件所在目录。
--test-dir string ./mysql_test/t mysqltest 所需的 test-file 存放的目录。test 文件找不到时会尝试在 OBD 内置中查找。
--result-dir string ./mysql_test/r mysqltest 所需的 result-file 存放的目录。result 文件找不到时会尝试在 OBD 内置中查找。
--tmp-dir string ./tmp 为 mysqltest tmpdir 选项。
--var-dir string ./var 将在该目录下创建log目录并作为 logdir 选项传入 mysqltest。
--test-set string test case 数组。多个数组使用英文逗号(,)间隔。
--test-pattern string test 文件名匹配的正则表达式。所有匹配表达式的case将覆盖test-set选项。
--suite string suite 数组。一个 suite 下包含多个 test。可以使用英文逗号(,)间隔。使用该选项后 --test-pattern 和 --test-set 都将失效。
--suite-dir string ./mysql_test/test_suite 存放 suite 目录的目录。suite 目录找不到时会尝试在 OBD 内置中查找。
--all bool false 执行 --suite-dir 下全部的 case。存放 suite 目录的目录。
--need-init bool false 执行init sql 文件。一个新的集群要执行 mysqltest 前可能需要执行一些初始化文件,比如创建 case 所需要的账号和租户等。存放 suite 目录的目录。默认不开启。
--init-sql-dir string ../ init sql 文件所在目录。sql 文件找不到时会尝试在obd内置中查找。
--init-sql-files string 需要 init 时执行的 init sql 文件数组。英文逗号(,)间隔。不填时,如果需要 init,OBD 会根据集群配置执行内置的 init。
--auto-retry bool false 失败时自动重部署集群进行重试。

Q&A

Q: 如何指定使用组件的版本?

A: 在部署配置文件中使用版本声明。例如,如果您使用的是 OceanBase-CE 3.1.0 版本,可以指定以下配置:

oceanbase-ce:
  version: 3.1.0

Q: 如何指定使用特定版本的组件?

A: 在部署配置文件中使用 package_hash 或 tag 声明。 如果您给自己编译的 OceanBase-CE 设置了t ag,您可以使用 tag 来指定。如:

oceanbase-ce:
  tag: my-oceanbase

您也可以通过 package_hash 来指定特定的版本。当您使用 obd mirror 相关命令时会打印出组件的 md5 值,这个值即为 package_hash。

oceanbase-ce:
  package_hash: 929df53459404d9b0c1f945e7e23ea4b89972069

Q:我修改了 OceanBase-CE 了代码,需要修改启动流程怎么办?

A:您可以修改 ~/.obd/plugins/oceanbase-ce/ 下的启动相关插件。比如您为 3.1.0 版本的 OceanBase-CE 添加了一个新的启动配置,可以修改 ~/.obd/plugins/oceanbase-ce/3.1.0/start.py

协议

OBD 采用 GPL-3.0 协议。

Comments
  • oceanbase-ce start failed

    oceanbase-ce start failed

    使用README.md中的步骤部署本地单节点服务时无法启动集群。

    使用命令

    obd cluster deploy local -c mini-local-example.yaml
    

    可以正确部署集群。

    但是使用命令

    obd cluster start local
    

    就会得到

    Get local repositories and plugins ok
    [WARN] (127.0.0.1) fs.aio-max-nr must not be less than 1048576 (Current value: 65536)
    [WARN] (127.0.0.1) open files number must not be less than 655350 (Current value: 1024)
    [WARN] (127.0.0.1) not enough memory
    Start observer ok
    observer program health check ok
    Connect to observer x
    [ERROR] Failed to connect oceanbase-ce
    

    的错误。

    使用命令

    obd cluster start local -v
    

    得到报告的末尾为

    Start observer ok
    -- local execute: echo $HOME/.obd -- exited code 0
    -- local execute: ls /root/observer/store/clog -- exited code 0
    -- local execute: cat /root/observer/run/observer.pid -- exited code 1, error output:
    cat: /root/observer/run/observer.pid: No such file or directory
    
    -- 127.0.0.1 start command construction
    -- starting 127.0.0.1 observer
    -- local execute: cd /root/observer; /root/.obd/repository/oceanbase-ce/3.1.0/56f57e9843e719d830ec03c206d914f4b3adc82b/bin/observer -r '127.0.0.1:2882:2883' -o __min_full_resource_pool_memory=268435456,datafile_size='8G',memory_limit='8G',system_memory='4G',stack_size='512K',cpu_count=16,cache_wash_threshold='1G',workers_per_cpu_quota=10,schema_history_expire_time='1d',net_thread_count=4,sys_bkgd_migration_retry_num=3,minor_freeze_times=10,enable_separate_sys_clog=0,enable_merge_by_turn=False,datafile_disk_percentage=20 -z 'zone1' -p 2883 -P 2882 -c 1 -d '/root/observer/store' -i 'lo' -- exited code 0
    
    observer program health check x
    -- 127.0.0.1 program health check
    -- local execute: cat /root/observer/run/observer.pid -- exited code 0
    -- local execute: ls /proc/3852 -- exited code 2, error output:
    ls: cannot access /proc/3852: No such file or directory
    
    
    [WARN] failed to start 127.0.0.1 observer
    - sub start ref count to 0
    - export start
    [ERROR] oceanbase-ce start failed
    

    /root/observer/log/observer.log末尾为

    [2021-06-01 03:04:46.088611] INFO  [CLOG] ob_log_engine.cpp:160 [4411][0][Y0-0000000000000000] [lt=8] [dc=0] log env start success(min_file_id=1, start_file_id=1)
    [2021-06-01 03:04:46.088616] INFO  [CLOG] ob_log_engine.cpp:191 [4411][0][Y0-0000000000000000] [lt=3] [dc=0] start from tail locator(file_id=1, offset=0)
    [2021-06-01 03:04:46.088619] INFO  [CLOG] ob_log_engine.cpp:664 [4411][0][Y0-0000000000000000] [lt=2] [dc=0] old log env start success
    [2021-06-01 03:04:46.088963] INFO  [CLOG.CSR] ob_ilog_store.cpp:560 [4411][0][Y0-0000000000000000] [lt=2] [dc=0] ObIlogStore start finished(ret=0)
    [2021-06-01 03:04:46.088973] INFO  [CLOG.CSR] ob_ilog_storage.cpp:798 [4411][0][Y0-0000000000000000] [lt=9] [dc=0] ObIlogStorage start finished(ret=0)
    [2021-06-01 03:04:46.088977] INFO  [CLOG] ob_log_engine.cpp:677 [4411][0][Y0-0000000000000000] [lt=4] [dc=0] log engine start success
    (libev) error creating signal/async pipe: Too many open files
    [2021-6-1 8:4:46.93254] WARN [send_request_and_wait@ob_signal_worker.cpp:65] [4411][Y7369676E616C-1] pipe failed
    [2021-06-01 03:04:46.093110] INFO  [STORAGE.TRANS] ob_time_wheel.cpp:399 [4411][0][Y0-0000000000000000] [lt=3] [dc=0] ObTimeWheel start success(timer_name="ClogEventTimeW")
    [2021-06-01 03:04:46.093123] INFO  [ARCHIVE] ob_archive_mgr.cpp:93 [4411][0][Y0-0000000000000000] [lt=12] [dc=0] ObArchiveMgr threads begin start
    CRASH ERROR!!! sig=6, sig_code=-6, sig_addr=113b, timestamp=1622534686106457, tid=4411, tname=observer, trace_id=0-0, extra_info=((null)), lbt=0x90af028 0x90b0076 0x7f3654c9162f 0x7f36545e8387 0x7f36545e9a77 0x92925aa 0x92904b7 0x9291c3a 0x8ee80c1 0x8eb5429 0x2a50561 0x72569ae 0x72440c8 0x7243d60 0x6d8d8aa 0x7b38cd5 0x870b042 0x24be81b 0x7f36545d4554 0x24bd4e8
    [2021-6-1 8:4:46.110423] INFO [cut@ob_memory_cutter.cpp:131] [4917][Y7369676E616C-0] free_chunk, freed: 6291456
    [2021-6-1 8:4:46.123443] INFO [cut@ob_memory_cutter.cpp:139] [4917][Y7369676E616C-0] free_stack, freed: 1437982720
    [2021-6-1 8:4:46.135977] INFO [cut@ob_memory_cutter.cpp:147] [4917][Y7369676E616C-0] free_memstore, freed: 0
    [2021-6-1 8:4:46.136157] INFO [cut@ob_server_memory_cutter.cpp:64] [4917][Y7369676E616C-0] free_cache, freed: 0
    [2021-6-1 8:4:46.136173] INFO [coredump_cb@ob_signal_handlers.cpp:114] [4917][Y7369676E616C-0] [MINICORE], TOTAL FREED: 1444274176
    
    opened by mrchar 7
  • 在256 core 机器上出现bootstrap

    在256 core 机器上出现bootstrap

    Hi, Guys

    when I use the obd deploy the 3-host(128 cores-80 cores-256 cores configuration) cluster. and find bootstrap fail, but another 3-host cluster with 128 cores-80 cores-128 cores configuration are ok.

    I think there is a bug, right?

    OS:CentOS Linux release 8.5.2111 OceanBase Deploy: 1.2.1 obd repo list name | version | release | arch | md5 | tags | | oceanbase-ce | 3.1.2 | 20220107080856 | x86_64 | 2990cadae31deb337c20aee26d74834c | obv312 | | oceanbase-ce | 3.1.2 | 10000392021123010.el8 | x86_64 | 0005ef8ee805db0f6b4c493c9eead69bdb78ef00 | oceanbase-ce | | oceanbase-ce-libs | 3.1.2 | 10000392021123010.el8 | x86_64 | 87dcfcbaa952874ae41333ab9ba46ff110d5ea70 | oceanbase-ce-libs |

    ***********************************************8 How to replay/REDO: 1, Deploy one cluster xxxx with at least one 256-core host by OBD 2, Just obd cluster start xxxx.


    the clust configuration -yaml:

    Only need to configure when remote login is required

    user:

    username: your username

    password: your password if need

    key_file: your ssh-key file path if need

    port: your ssh port, default 22

    timeout: ssh connection timeout (second), default 30

    oceanbase-ce: servers: - name: z1 # Please don't use hostname, only IP can be supported ip: 192.168.1.174 - name: z2 ip: 192.168.1.114 - name: z3 ip: 192.168.1.112

    global: # Please set devname as the network adaptor's name whose ip is in the setting of severs. # if set severs as "127.0.0.1", please set devname as "lo" # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0" #devname: ens3 # if current hardware's memory capacity is smaller than 50G, please use the setting of "mini-single-example.yaml" and do a small adjustment. memory_limit: 160G # The maximum running memory for an observer # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. # system_memory: 30G datafile_disk_percentage: 30 # The percentage of the data_dir space to the total disk space. This value takes effect only when datafile_size is 0. The default value is 90. syslog_level: INFO # System log level. The default value is INFO. enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false. max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0. # root_password: # root user password

    In this example , support multiple ob process in single node, so different process use different ports.

    If deploy ob cluster in multiple nodes, the port and path setting can be same.

    z1: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: ens72f1 # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/xxxxob # The directory for data storage. The default value is $home_path/store. # data_dir: /data # The directory for clog, ilog, and slog. The default value is the same as the data_dir value. # redo_dir: /redo zone: zone1 z2: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: enp65s0f0 # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/amdob # The directory for data storage. The default value is $home_path/store. # data_dir: /data # The directory for clog, ilog, and slog. The default value is the same as the data_dir value. # redo_dir: /redo zone: zone2 z3: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: ens3f0 # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/intelob # The directory for data storage. The default value is $home_path/store. # data_dir: /data # The directory for clog, ilog, and slog. The default value is the same as the data_dir value. # redo_dir: /redo zone: zone3


    the log: Vim: Warning: Output is not to a terminal

    global:  # Please set devname as the network adaptor's name whose ip is in the setting of severs.   # if set severs as "127.0.0.1", please set devname as "lo"   # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0"   #devname: ens3   # if current hardware's memory capacity is smaller than 50G, please use the setting of "mini-single-example.yaml" and do a small adjustment. memory_limit: 160G # The maximum running memory for an observer   # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G.   # system_memory: 30G datafile_disk_percentage: 30 # The percentage of the data_dir space to the total disk space. This value takes effect only when datafile_size is 0. The default value is 90. syslog_level: INFO # System log level. The default value is INFO. enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false. max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value is 0.   # root_password: # root user password   # In this example , support multiple ob process in single node, so different process use different ports.   # If deploy ob cluster in multiple nodes, the port and path setting can be same.  z1: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: ens72f1  # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/xxxxob  # The directory for data storage. The default value is $home_path/store.   # data_dir: /data   # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.   # redo_dir: /redo zone: zone1 z2: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: enp65s0f0  # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/amdob  # The directory for data storage. The default value is $home_path/store.   # data_dir: /data   # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.   # redo_dir: /redo zone: zone2 z3: mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. devname: ens3f0  # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field. home_path: /data/intelob  # The directory for data storage. The default value is $home_path/store.   # data_dir: /data   # The directory for clog, ilog, and slog. The default value is the same as the data_dir value.   # redo_dir: /redo zone: zone371,15Bot[?25h[?25l::[?2004h[?25hq[?25l[?25h [?25l[?2004l[?2004l[?1l>[?25h[?1049l- open /root/.obd/version for a+

    • mkdir /root/.obd/lock/
    • try to get share lock /root/.obd/lock/global
    • share lock /root/.obd/lock/global, count 1
    • cmd: ['xxxx_intel_amd10']
    • opts: {'servers': None, 'components': None, 'force_delete': None, 'strict_check': None, 'without_parameter': None}
    • Get Deploy by name
    • mkdir /root/.obd/cluster/
    • try to get exclusive lock /root/.obd/lock/deploy_xxxx_intel_amd10
    • exclusive lock /root/.obd/lock/deploy_xxxx_intel_amd10, count 1
    • Deploy status judge
    • Get deploy config Get local repositories and plugins ok
    • mkdir /root/.obd/repository
    • Get local repository oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • try to get share lock /root/.obd/lock/mirror_and_repo
    • share lock /root/.obd/lock/mirror_and_repo, count 1
    • mkdir /root/.obd/repository/oceanbase-ce
    • Searching start_check plugin for components ...
    • Searching start_check plugin for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • mkdir /root/.obd/plugins
    • Found for oceanbase-ce-py_script_start_check-3.1.0 for oceanbase-ce-3.1.2
    • Searching start plugin for components ...
    • Searching start plugin for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • Found for oceanbase-ce-py_script_start-3.1.0 for oceanbase-ce-3.1.2
    • Searching connect plugin for components ...
    • Searching connect plugin for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • Found for oceanbase-ce-py_script_connect-3.1.0 for oceanbase-ce-3.1.2
    • Searching bootstrap plugin for components ...
    • Searching bootstrap plugin for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • Found for oceanbase-ce-py_script_bootstrap-3.1.0 for oceanbase-ce-3.1.2
    • Searching display plugin for components ...
    • Searching display plugin for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • Found for oceanbase-ce-py_script_display-3.1.0 for oceanbase-ce-3.1.2

    Open ssh connection ok Load cluster param plugin ok

    • Searching param plugin for components ...

    • Search param plugin for oceanbase-ce

    • Found for oceanbase-ce-param-3.1.0 for oceanbase-ce-3.1.2

    • Applying oceanbase-ce-param-3.1.0 for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00

    • Call oceanbase-ce-py_script_start_check-3.1.0 for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00

    • import start_check

    • add start_check ref count to 1 Check before start observer ok -- [email protected] execute: cat /data/xxxxob/run/observer.pid -- exited code 1, error output: cat: /data/xxxxob/run/observer.pid: No such file or directory

    -- z1(192.168.1.174) port check -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B41' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B42' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: ls /data/xxxxob/store/sstable/block_file -- exited code 0 -- [email protected] execute: cat /data/amdob/run/observer.pid -- exited code 1, error output: cat: /data/amdob/run/observer.pid: No such file or directory

    -- z2(192.168.1.114) port check -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B41' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B42' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: ls /data/amdob/store/sstable/block_file -- exited code 0 -- [email protected] execute: cat /data/intelob/run/observer.pid -- exited code 1, error output: cat: /data/intelob/run/observer.pid: No such file or directory

    -- z3(192.168.1.112) port check -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B41' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: bash -c 'cat /proc/net/{tcp,udp}' | awk -F' ' '{print $2,$10}' | grep '00000000:0B42' | awk -F' ' '{print $2}' | uniq -- exited code 0 -- [email protected] execute: ls /data/intelob/store/sstable/block_file -- exited code 0 -- [email protected] execute: cat /proc/sys/fs/aio-max-nr /proc/sys/fs/aio-nr -- exited code 0 -- [email protected] execute: ulimit -n -- exited code 0 -- [email protected] execute: cat /proc/meminfo -- exited code 0 -- [email protected] execute: df --block-size=1024 -- exited code 0 -- disk: {'/': {'total': 3989277446144, 'avail': 3612209303552, 'need': 0, 'threshold': 2}, '/dev': {'total': 270287323136, 'avail': 270287323136, 'need': 0, 'threshold': 2}, '/dev/shm': {'total': 270315888640, 'avail': 270315888640, 'need': 0, 'threshold': 2}, '/run': {'total': 270315888640, 'avail': 270296506368, 'need': 0, 'threshold': 2}, '/sys/fs/cgroup': {'total': 270315888640, 'avail': 270315888640, 'need': 0, 'threshold': 2}, '/boot': {'total': 1023303680, 'avail': 460541952, 'need': 0, 'threshold': 2}, '/run/user/42': {'total': 54063177728, 'avail': 54063161344, 'need': 0, 'threshold': 2}, '/run/user/0': {'total': 54063177728, 'avail': 54063177728, 'need': 0, 'threshold': 2}, '/data': {'total': 1575068344320, 'avail': 497190289408, 'need': 0, 'threshold': 2}} -- [email protected] execute: cat /proc/sys/fs/aio-max-nr /proc/sys/fs/aio-nr -- exited code 0 -- [email protected] execute: ulimit -n -- exited code 0 -- [email protected] execute: cat /proc/meminfo -- exited code 0 -- [email protected] execute: df --block-size=1024 -- exited code 0 -- disk: {'/': {'total': 75125227520, 'avail': 67840217088, 'need': 0, 'threshold': 2}, '/dev': {'total': 118053625856, 'avail': 118053625856, 'need': 0, 'threshold': 2}, '/dev/shm': {'total': 118082760704, 'avail': 118082760704, 'need': 0, 'threshold': 2}, '/run': {'total': 118082760704, 'avail': 118062694400, 'need': 0, 'threshold': 2}, '/sys/fs/cgroup': {'total': 118082760704, 'avail': 118082760704, 'need': 0, 'threshold': 2}, '/boot': {'total': 1063256064, 'avail': 624144384, 'need': 0, 'threshold': 2}, '/home': {'total': 3917710397440, 'avail': 3868386504704, 'need': 0, 'threshold': 2}, '/run/user/0': {'total': 23616548864, 'avail': 23616495616, 'need': 0, 'threshold': 2}, '/data': {'total': 1599539908608, 'avail': 560329302016, 'need': 0, 'threshold': 2}} -- [email protected] execute: cat /proc/sys/fs/aio-max-nr /proc/sys/fs/aio-nr -- exited code 0 -- [email protected] execute: ulimit -n -- exited code 0 -- [email protected] execute: cat /proc/meminfo -- exited code 0 -- [email protected] execute: df --block-size=1024 -- exited code 0 -- disk: {'/': {'total': 75125227520, 'avail': 58658381824, 'need': 0, 'threshold': 2}, '/dev': {'total': 202001055744, 'avail': 202001055744, 'need': 0, 'threshold': 2}, '/dev/shm': {'total': 202031288320, 'avail': 202031288320, 'need': 0, 'threshold': 2}, '/run': {'total': 202031288320, 'avail': 201994788864, 'need': 0, 'threshold': 2}, '/sys/fs/cgroup': {'total': 202031288320, 'avail': 202031288320, 'need': 0, 'threshold': 2}, '/boot': {'total': 1063256064, 'avail': 697192448, 'need': 0, 'threshold': 2}, '/home': {'total': 399375269888, 'avail': 396548882432, 'need': 0, 'threshold': 2}, '/run/user/0': {'total': 40406257664, 'avail': 40406220800, 'need': 0, 'threshold': 2}, '/data': {'total': 1575068344320, 'avail': 677431332864, 'need': 0, 'threshold': 2}} -- [email protected] execute: date +%s%N -- exited code 0 -- 192.168.1.174 time delta -1.206787109375 -- [email protected] execute: date +%s%N -- exited code 0 -- 192.168.1.114 time delta -0.87451171875 -- [email protected] execute: date +%s%N -- exited code 0 -- 192.168.1.112 time delta -0.5009765625

    • sub start_check ref count to 0
    • export start_check
    • Call oceanbase-ce-py_script_start-3.1.0 for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00
    • import start
    • add start ref count to 1 Start observer ok -- [email protected] execute: bash -c 'if [ -f /data/xxxxob/bin/observer ]; then exit 1; else exit 0; fi;' -- exited code 1, error output:

    -- [email protected] execute: ls /data/xxxxob/store/ilog/ -- exited code 0 -- [email protected] execute: cat /data/xxxxob/run/observer.pid -- exited code 1, error output: cat: /data/xxxxob/run/observer.pid: No such file or directory

    -- z1(192.168.1.174) start command construction -- [email protected] execute: bash -c 'if [ -f /data/amdob/bin/observer ]; then exit 1; else exit 0; fi;' -- exited code 1, error output:

    -- [email protected] execute: ls /data/amdob/store/ilog/ -- exited code 0 -- [email protected] execute: cat /data/amdob/run/observer.pid -- exited code 1, error output: cat: /data/amdob/run/observer.pid: No such file or directory

    -- z2(192.168.1.114) start command construction -- [email protected] execute: bash -c 'if [ -f /data/intelob/bin/observer ]; then exit 1; else exit 0; fi;' -- exited code 1, error output:

    -- [email protected] execute: ls /data/intelob/store/ilog/ -- exited code 0 -- [email protected] execute: cat /data/intelob/run/observer.pid -- exited code 1, error output: cat: /data/intelob/run/observer.pid: No such file or directory

    -- z3(192.168.1.112) start command construction -- starting z1(192.168.1.174) observer -- [email protected] set env LD_LIBRARY_PATH to '/data/xxxxob/lib:' -- [email protected] execute: cd /data/xxxxob; /data/xxxxob/bin/observer -r '192.168.1.174:2882:2881;192.168.1.114:2882:2881;192.168.1.112:2882:2881' -o __min_full_resource_pool_memory=268435456,memory_limit='160G',datafile_disk_percentage=30,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4 -z 'zone1' -p 2881 -P 2882 -c 1 -d '/data/xxxxob/store' -i 'ens72f1' -l 'INFO' -- exited code 0 -- [email protected] set env LD_LIBRARY_PATH to '' -- starting z2(192.168.1.114) observer -- [email protected] set env LD_LIBRARY_PATH to '/data/amdob/lib:' -- [email protected] execute: cd /data/amdob; /data/amdob/bin/observer -r '192.168.1.174:2882:2881;192.168.1.114:2882:2881;192.168.1.112:2882:2881' -o __min_full_resource_pool_memory=268435456,memory_limit='160G',datafile_disk_percentage=30,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4 -z 'zone2' -p 2881 -P 2882 -c 1 -d '/data/amdob/store' -i 'enp65s0f0' -l 'INFO' -- exited code 0 -- [email protected] set env LD_LIBRARY_PATH to '' -- starting z3(192.168.1.112) observer -- [email protected] set env LD_LIBRARY_PATH to '/data/intelob/lib:' -- [email protected] execute: cd /data/intelob; /data/intelob/bin/observer -r '192.168.1.174:2882:2881;192.168.1.114:2882:2881;192.168.1.112:2882:2881' -o __min_full_resource_pool_memory=268435456,memory_limit='160G',datafile_disk_percentage=30,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4 -z 'zone3' -p 2881 -P 2882 -c 1 -d '/data/intelob/store' -i 'ens3f0' -l 'INFO' -- exited code 0 -- [email protected] set env LD_LIBRARY_PATH to ''

    observer program health check ok -- z1(192.168.1.174) program health check -- [email protected] execute: cat /data/xxxxob/run/observer.pid -- exited code 0 -- [email protected] execute: ls /proc/132439 -- exited code 0 -- z1(192.168.1.174) observer[pid: 132439] started -- z2(192.168.1.114) program health check -- [email protected] execute: cat /data/amdob/run/observer.pid -- exited code 0 -- [email protected] execute: ls /proc/22872 -- exited code 0 -- z2(192.168.1.114) observer[pid: 22872] started -- z3(192.168.1.112) program health check -- [email protected] execute: cat /data/intelob/run/observer.pid -- exited code 0 -- [email protected] execute: ls /proc/1113311 -- exited code 0 -- z3(192.168.1.112) observer[pid: 1113311] started

    • sub start ref count to 0

    • export start

    • Call oceanbase-ce-py_script_connect-3.1.0 for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00

    • import connect

    • add connect ref count to 1 Connect to observer ok -- connect 192.168.1.174 -P2881 -uroot -p

    • sub connect ref count to 0

    • export connect Initialize cluster

    • Call oceanbase-ce-py_script_bootstrap-3.1.0 for oceanbase-ce-3.1.2-0005ef8ee805db0f6b4c493c9eead69bdb78ef00

    • import bootstrap

    • add bootstrap ref count to 1 -- execute sql: set session ob_query_timeout=1000000000 Cluster bootstrap x -- execute sql: alter system bootstrap REGION "sys_region" ZONE "zone1" SERVER "192.168.1.174:2882",REGION "sys_region" ZONE "zone2" SERVER "192.168.1.114:2882",REGION "sys_region" ZONE "zone3" SERVER "192.168.1.112:2882" Traceback (most recent call last): File "core.py", line 1084, in start_cluster File "_plugin.py", line 235, in call else: File "_plugin.py", line 209, in _new_func except Exception as e: File "/root/.obd/plugins/oceanbase-ce/3.1.0/bootstrap.py", line 46, in bootstrap cursor.execute(sql) File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/usr/obd/lib/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/usr/obd/lib/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (4015, 'System error')

    Traceback (most recent call last): File "/root/.obd/plugins/oceanbase-ce/3.1.0/bootstrap.py", line 46, in bootstrap cursor.execute(sql) File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/usr/obd/lib/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/usr/obd/lib/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.OperationalError: (4015, 'System error')

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "core.py", line 1084, in start_cluster File "_plugin.py", line 235, in call else: File "_plugin.py", line 209, in _new_func except Exception as e: File "/root/.obd/plugins/oceanbase-ce/3.1.0/bootstrap.py", line 70, in bootstrap cursor.execute('select * from oceanbase.__all_rootservice_event_history where module = "bootstrap" and event = "bootstrap_succeed"') File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 148, in execute result = self._query(query) File "/usr/obd/lib/site-packages/pymysql/cursors.py", line 310, in _query conn.query(q) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 548, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/usr/obd/lib/site-packages/pymysql/connections.py", line 775, in _read_query_result result.read() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 1156, in read first_packet = self.connection._read_packet() File "/usr/obd/lib/site-packages/pymysql/connections.py", line 725, in _read_packet packet.raise_for_error() File "/usr/obd/lib/site-packages/pymysql/protocol.py", line 221, in raise_for_error err.raise_mysql_exception(self._data) File "/usr/obd/lib/site-packages/pymysql/err.py", line 143, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.ProgrammingError: (1146, "Table 'oceanbase.__all_rootservice_event_history' doesn't exist")

    • sub bootstrap ref count to 0
    • export bootstrap Cluster init failed
    • share lock /root/.obd/lock/mirror_and_repo release, count 0
    • unlock /root/.obd/lock/mirror_and_repo
    • exclusive lock /root/.obd/lock/deploy_xxxx_intel_amd10 release, count 0
    • unlock /root/.obd/lock/deploy_xxxx_intel_amd10
    • share lock /root/.obd/lock/global release, count 0
    • unlock /root/.obd/lock/global
    opened by cyberspicecai 5
  • deploy OB error

    deploy OB error "Repository integrity check x"

    > obd cluster deploy test -c /home/ecs-user/testOB/workdir/mini-local-example.yaml oceanbase-ce-3.1.9 already installed. +----------------------------------------------------------------------------+ | Packages | +--------------+---------+----------------+----------------------------------+ | Repository | Version | Release | Md5 | +--------------+---------+----------------+----------------------------------+ | oceanbase-ce | 3.1.9 | 20221109170052 | af10225cfa8aff666059e8607cbcd3b0 | +--------------+---------+----------------+----------------------------------+ Repository integrity check x [ERROR] oceanbase-ce install failed See https://www.oceanbase.com/product/ob-deployer/error-codes .

    > cat /root/.obd/log/obd

    [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/lock/ [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - try to get share lock /root/.obd/lock/global [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - share lock /root/.obd/lock/global, count 1 [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - cmd: ['test'] [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - opts: {'config': '/home/ecs-user/testOB/workdir/mini-local-example.yaml', 'force': True, 'clean': False, 'unuselibrepo': None, 'auto_create_tenant': None} [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Get Deploy by name [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/cluster/ [2022-11-09 17:16:49.532] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/config_parser/ [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - try to get exclusive lock /root/.obd/lock/deploy_test [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/deploy_test, count 1 [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Get deploy info [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - judge deploy status [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - config path is None or not [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Create deploy by configuration path [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/deploy_test, count 2 [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/cluster/test [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - copy /home/ecs-user/testOB/workdir/mini-local-example.yaml /root/.obd/cluster/test/config.yaml [2022-11-09 17:16:49.533] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Get deploy configuration [2022-11-09 17:16:49.543] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search best suitable repository [2022-11-09 17:16:49.543] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search package for components... [2022-11-09 17:16:49.543] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Get oceanbase-ce repository [2022-11-09 17:16:49.543] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/repository [2022-11-09 17:16:49.543] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search repository oceanbase-ce version: None, tag: None, release: None, package_hash: af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.544] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - try to get share lock /root/.obd/lock/mirror_and_repo [2022-11-09 17:16:49.544] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo, count 1 [2022-11-09 17:16:49.544] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/repository/oceanbase-ce [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Found repository oceanbase-ce-3.1.9-20221109170052-af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search oceanbase-ce package from mirror [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/mirror [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/mirror/remote [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/mirror/local [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - try to get exclusive lock /root/.obd/lock/mirror_and_repo [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo, count 1 [2022-11-09 17:16:49.547] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo, count 2 [2022-11-09 17:16:49.548] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - load repo config: /root/.obd/mirror/remote/OceanBase.repo [2022-11-09 17:16:49.548] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - open /root/.obd/mirror/remote/OceanBase.repo for r [2022-11-09 17:16:49.548] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo, count 3 [2022-11-09 17:16:49.548] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - md5 is af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.549] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - load /root/.obd/mirror/remote/OceanBase-community-stable-el7/.db [2022-11-09 17:16:49.549] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - MirrorRepositoryType.REMOTE mirror OceanBase-community-stable-el7 found pkg: None [2022-11-09 17:16:49.549] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - md5 is af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - load /root/.obd/mirror/remote/OceanBase-development-kit-el7/.db [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - MirrorRepositoryType.REMOTE mirror OceanBase-development-kit-el7 found pkg: None [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - md5 is af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - MirrorRepositoryType.LOCAL mirror local found pkg: None [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Use repository oceanbase-ce-3.1.9-20221109170052-af10225cfa8aff666059e8607cbcd3b0 [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] oceanbase-ce-3.1.9 already installed. [2022-11-09 17:16:49.550] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Searching install plugin for components ... [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search install plugin for oceanbase-ce [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - mkdir /root/.obd/plugins [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Found for oceanbase-ce-install-3.1.0 for oceanbase-ce-3.1.9 [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Searching install plugin for components ... [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Searching install plugin for components ... [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Search install plugin for oceanbase-ce [2022-11-09 17:16:49.551] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - Found for oceanbase-ce-install-3.1.0 for oceanbase-ce-3.1.9 [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] +----------------------------------------------------------------------------+ [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] | Packages | [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] +--------------+---------+----------------+----------------------------------+ [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] | Repository | Version | Release | Md5 | [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] +--------------+---------+----------------+----------------------------------+ [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] | oceanbase-ce | 3.1.9 | 20221109170052 | af10225cfa8aff666059e8607cbcd3b0 | [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] +--------------+---------+----------------+----------------------------------+ [2022-11-09 17:16:49.552] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] Repository integrity check [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [ERROR] [ERROR] oceanbase-ce install failed [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [INFO] See https://www.oceanbase.com/product/ob-deployer/error-codes . [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 2 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 1 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 0 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - try to get share lock /root/.obd/lock/mirror_and_repo [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 0 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - unlock /root/.obd/lock/mirror_and_repo [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/deploy_test release, count 1 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - exclusive lock /root/.obd/lock/deploy_test release, count 0 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - unlock /root/.obd/lock/deploy_test [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - share lock /root/.obd/lock/global release, count 0 [2022-11-09 17:16:49.683] [3dc2f54c-600f-11ed-b657-00163e1ec512] [DEBUG] - unlock /root/.obd/lock/global

    wontfix 
    opened by imbawenzi 4
  • [Bug]: obd failed connect to observer if the password of root@sys is not modified by obd itself.

    [Bug]: obd failed connect to observer if the password of root@sys is not modified by obd itself.

    Please check the issue list for the same bug

    • [X] I have checked issue list and this bug is encountered for the first time.

    Environment

    - OB Version: observer V3.1.3
    

    Fast Reproduce Steps(Required)

    1. deploying a OB cluster by obd and without setting the password of root
    2. login into the root@sys, change the password of root user
    3. issuing obd cluster display cluster-name, then failure occurs

    Actual Behavior

    obd will failed connect to observer if the password of root@sys is not modified by obd itself.

    Expected Behavior

    obd should still be able to connect to observer(such as, by providing obd a corect password of root@sys), even the password of root@sys is not modified by obd itself.

    Should not let user to fix it by following steps

    1. login into root@sys,
    2. alter root password to '',
    3. modify the pasword by obd cluster edit-config ...
    4. ...

    other information

    nop

    bug wontfix 
    opened by zetatez 4
  • 使用obd和模板文件可正常创建obproxy,但是访问obproxy时返回结果异常

    使用obd和模板文件可正常创建obproxy,但是访问obproxy时返回结果异常

    image

    配置文件如下: user: username: root password: 123456 oceanbase-ce: servers: # Please don't use hostname, only IP can be supported - 172.17.103.212 global: home_path: /root/observer # Please set devname as the network adaptor's name whose ip is in the setting of severs. # if set severs as "127.0.0.1", please set devname as "lo" # if current ip is 192.168.1.10, and the ip's network adaptor's name is "eth0", please use "eth0" devname: eth0 mysql_port: 2881 rpc_port: 2882 zone: zone1 # if current hardware's memory capacity is smaller than 50G, please use the setting of "mini-single-example.yaml" and do a small adjustment. memory_limit: 64G datafile_disk_percentage: 20 syslog_level: INFO enable_syslog_recycle: true max_syslog_file_count: 4 cluster_id: 3 # observer cluster name, consistent with obproxy's cluster_name appname: single_with_proxy root_password: # root user password, can be empty proxyro_password: # proxyro user pasword, consistent with obproxy's observer_sys_password, can be empty obproxy: servers: - 172.17.103.212 global: listen_port: 2883 prometheus_listen_port: 2884 home_path: /root/obproxy # oceanbase root server list # format: ip:mysql_port,ip:mysql_port rs_list: 172.17.103.212:2881 enable_cluster_checkout: false # observer cluster name, consistent with oceanbase-ce's appname cluster_name: single_with_proxy obproxy_sys_password: # obproxy sys user password, can be empty observer_sys_password: # proxyro user pasword, consistent with oceanbase-ce's proxyro_password, can be empty

    安装过程中的obproxy版本信息如下: image

    麻烦看一下吧,谢谢~

    bug 
    opened by wcf2333 4
  • obd cluster display[ERROR] Failed to connect oceanbase-ce

    obd cluster display[ERROR] Failed to connect oceanbase-ce

    OS:Red Hat Enterprise Linux Server release 7.5 (Maipo) Linux eu-server1 3.10.0-1160.25.1.el7.x86_64 #1 SMP Wed Apr 28 21:49:45 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

    部署单节点成功obd cluster deploy local -c mini-local-example.yaml image

    启动几分钟后 再执行obd cluster display oceanbase 报错[ERROR] Failed to connect oceanbase-ce observer本身没问题,可以用mysql客户端连接。 /root/.obd/log/obd日志 [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] -- exited code 0 [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - sub status ref count to 0 [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - export status [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - Call oceanbase-ce-py_script_connect-3.1.0 for oceanbase-ce-3.1.0-56f57e9843e719d830ec03c206d914f4b3adc82b [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - import connect [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - add connect ref count to 1 [2021-06-02 10:39:46] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [INFO] Connect to observer [2021-06-02 10:40:16] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - sub connect ref count to 0 [2021-06-02 10:40:16] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [DEBUG] - export connect [2021-06-02 10:40:16] [ca36f8aa-c34b-11eb-a39a-5897bde6551a] [ERROR] [ERROR] Failed to connect oceanbase-ce

    opened by scott-wong 4
  • Failed to create tenant in OB 4.0

    Failed to create tenant in OB 4.0

    Failed to create tenant in OB 4.0

    [root@longdatestdriver ~]# obd cluster tenant create mytest
    Get local repositories and plugins ok
    Open ssh connection ok
    Connect to observer ok
    Create tenant test x
    [ERROR] faild to crate tenant, execute sql exception: create tenant test replica_num=3,zone_list=('zone1','zone2','zone3'),primary_zone='RANDOM',resource_pool_list=('test_pool')set ob_tcp_invited_nodes='%', ob_compatibility_mode = 'mysql'
    
    See https://www.oceanbase.com/product/ob-deployer/error-codes .
    

    is it due the SQL of creating tenant has been changed?

    opened by longdafeng 2
  • Failed to create tenant after reset the root@sys password

    Failed to create tenant after reset the root@sys password

    Testing steps

    1. create a cluster
    2. set the root@sys 's password
    3. create tenant obd cluster tenant create

    Don't know how to input the password

    Suggestion add option -p xxxx, which is same as mysql

    opened by longdafeng 2
  • obd报错KeyError: 'content-length'

    obd报错KeyError: 'content-length'

    [root@48a7a86a1598 obdeploy]# obd --version OceanBase Deploy: 1.1.2 REVISION: af5965a19f585217570395b9a4fb08a7ca85d34d BUILD_BRANCH: master BUILD_TIME: Nov 03 2021 11:42:34OURCE Copyright (C) 2021 OceanBase License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. [root@48a7a86a1598 obdeploy]# [root@48a7a86a1598 obdeploy]# [root@48a7a86a1598 obdeploy]# obd cluster deploy c1 -c ./example/mini-local-example.yaml -v

    • open /root/.obd/version for a+
    • cmd: ['c1']
    • opts: {'config': './example/mini-local-example.yaml', 'force': False, 'unuselibrepo': None, 'auto_create_tenant': None}
    • Get Deploy by name
    • mkdir /root/.obd/cluster/
    • Get deploy info
    • judge deploy status
    • config path is None or not
    • Create deploy by configuration path
    • mkdir /root/.obd/cluster/c1
    • copy ./example/mini-local-example.yaml /root/.obd/cluster/c1/config.yaml
    • Get deploy configuration
    • Search best suitable repository
    • Search package for components...
    • Get oceanbase-ce repository
    • mkdir /root/.obd/repository
    • mkdir /root/.obd/repository/oceanbase-ce
    • Search oceanbase-ce package from mirror
    • mkdir /root/.obd/mirror
    • mkdir /root/.obd/mirror/remote
    • mkdir /root/.obd/mirror/local Update OceanBase-community-stable-el7 x [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-community-stable-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 778, in get_exact_pkg mirrors = self.get_mirrors() File "_mirror.py", line 772, in get_mirrors mirros = self.get_remote_mirrors() File "_mirror.py", line 767, in get_remote_mirrors mirror = RemoteMirrorRepository(mirror_path, meta_data, self.stdio) File "_mirror.py", line 259, in init self.update_mirror() File "_mirror.py", line 357, in update_mirror self.get_repomds(True) File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-community-stable-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 778, in get_exact_pkg mirrors = self.get_mirrors() File "_mirror.py", line 772, in get_mirrors mirros = self.get_remote_mirrors() File "_mirror.py", line 767, in get_remote_mirrors mirror = RemoteMirrorRepository(mirror_path, meta_data, self.stdio) File "_mirror.py", line 259, in init self.update_mirror() File "_mirror.py", line 358, in update_mirror primary_repomd = self._get_repomd_by_type(self.PRIMARY_REPOMD_TYPE) File "_mirror.py", line 339, in _get_repomd_by_type repodmds = self.get_repomds() File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    Update OceanBase-development-kit-el7 x [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/development-kit/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-development-kit-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 778, in get_exact_pkg mirrors = self.get_mirrors() File "_mirror.py", line 772, in get_mirrors mirros = self.get_remote_mirrors() File "_mirror.py", line 767, in get_remote_mirrors mirror = RemoteMirrorRepository(mirror_path, meta_data, self.stdio) File "_mirror.py", line 259, in init self.update_mirror() File "_mirror.py", line 357, in update_mirror self.get_repomds(True) File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/development-kit/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-development-kit-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 778, in get_exact_pkg mirrors = self.get_mirrors() File "_mirror.py", line 772, in get_mirrors mirros = self.get_remote_mirrors() File "_mirror.py", line 767, in get_remote_mirrors mirror = RemoteMirrorRepository(mirror_path, meta_data, self.stdio) File "_mirror.py", line 259, in init self.update_mirror() File "_mirror.py", line 358, in update_mirror primary_repomd = self._get_repomd_by_type(self.PRIMARY_REPOMD_TYPE) File "_mirror.py", line 339, in _get_repomd_by_type repodmds = self.get_repomds() File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 778, in get_exact_pkg mirrors = self.get_mirrors() File "_mirror.py", line 773, in get_mirrors mirros.append(self.local_mirror) File "_mirror.py", line 725, in local_mirror self._local_mirror = LocalMirrorRepository(self.local_path, self.stdio) File "_mirror.py", line 541, in init self._load_db() File "_mirror.py", line 549, in _load_db with open(self.db_path, 'rb') as f: FileNotFoundError: [Errno 2] No such file or directory: '/root/.obd/mirror/local/.db'

    • md5 is None

    • name is oceanbase-ce

    • arch is ['ia32e', 'x86_64', 'athlon', 'i686', 'i586', 'i486', 'i386', 'noarch']

    • release is None

    • version is None [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/community/stable/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-community-stable-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 781, in get_exact_pkg new_one = mirror.get_exact_pkg_info(**pattern) File "_mirror.py", line 433, in get_exact_pkg_info for key in self.db: File "_mirror.py", line 265, in db primary_repomd = self._get_repomd_by_type(self.PRIMARY_REPOMD_TYPE) File "_mirror.py", line 339, in _get_repomd_by_type repodmds = self.get_repomds() File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    • MirrorRepositoryType.REMOTE mirror OceanBase-community-stable-el7 found pkg: None

    • md5 is None

    • name is oceanbase-ce

    • arch is ['ia32e', 'x86_64', 'athlon', 'i686', 'i586', 'i486', 'i386', 'noarch']

    • release is None

    • version is None [ERROR] Failed to download http://mirrors.aliyun.com/oceanbase/development-kit/el/7/x86_64///repodata/repomd.xml to /root/.obd/mirror/remote/OceanBase-development-kit-el7/repomd.xml Traceback (most recent call last): File "core.py", line 787, in deploy_cluster repositories, install_plugins = self.search_components_from_mirrors_and_install(deploy_config) File "core.py", line 660, in search_components_from_mirrors_and_install pkgs, repositories, errors = self.search_components_from_mirrors(deploy_config, only_info=False) File "core.py", line 215, in search_components_from_mirrors pkg = self.mirror_manager.get_best_pkg(name=component, version=config.version, md5=config.package_hash, fuzzy_match=fuzzy_match, only_info=only_info) File "_mirror.py", line 789, in get_best_pkg return self.get_exact_pkg(**pattern) File "_mirror.py", line 781, in get_exact_pkg new_one = mirror.get_exact_pkg_info(**pattern) File "_mirror.py", line 433, in get_exact_pkg_info for key in self.db: File "_mirror.py", line 265, in db primary_repomd = self._get_repomd_by_type(self.PRIMARY_REPOMD_TYPE) File "_mirror.py", line 339, in _get_repomd_by_type repodmds = self.get_repomds() File "_mirror.py", line 376, in get_repomds self.download_file(url, path, self.stdio) File "_mirror.py", line 500, in download_file file_size = int(fget.headers["Content-Length"]) File "requests/structures.py", line 54, in getitem KeyError: 'content-length'

    • MirrorRepositoryType.REMOTE mirror OceanBase-development-kit-el7 found pkg: None

    • md5 is None

    • name is oceanbase-ce

    • arch is ['ia32e', 'x86_64', 'athlon', 'i686', 'i586', 'i486', 'i386', 'noarch']

    • release is None

    • version is None

    • MirrorRepositoryType.LOCAL mirror local found pkg: None [ERROR] No such package oceanbase-ce.

    opened by Listson 2
  • 离线安装执行obd cluster deploy时, 会请求阿里云下载repomd.xml文件

    离线安装执行obd cluster deploy时, 会请求阿里云下载repomd.xml文件

    离线环境 按照官方文档quick-start配置好 yaml文件后, 已执行 obd mirror clone *.rpm 版本: ob-deploy-1.0.2-2.el7.x86_64.rpm obproxy-3.1.0-1.el7.x86_64.rpm oceanbase-ce-3.1.0-2.el7.x86_64.rpm oceanbase-ce-libs-3.1.0-2.el7.x86_64.rpm

    执行obd cluster deploy 后, 会卡在 Update OceanBase-community-stable-el7 - 不动,
    image

    执行 netstat -nalp | grep obd , 会看到尝试连接外网, 并且会轮询不同的IP image

    在deploy 界面执行 ctrl + C后, 会报如下错误, 可以看到是在请求阿里云 image

    希望可以开启完全离线部署模式

    enhancement 
    opened by zh0122 2
  • 用root用户部署集群报错

    用root用户部署集群报错

    系统版本:CentOS Linux release 7.9.2009 (Core) 部署三节点,执行obd cluster deploy obtest -c /home/sre/observer.yaml 报错: Open ssh connection /Exception: Error reading SSH protocol banner[Errno 104] Connection reset by peer Traceback (most recent call last): File "paramiko/transport.py", line 2211, in _check_banner File "paramiko/packet.py", line 380, in readline File "paramiko/packet.py", line 607, in _read_timeout ConnectionResetError: [Errno 104] Connection reset by peer

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "paramiko/transport.py", line 2039, in run File "paramiko/transport.py", line 2216, in _check_banner paramiko.ssh_exception.SSHException: Error reading SSH protocol banner[Errno 104] Connection reset by peer

    Open ssh connection x [ERROR] [email protected] connect failed: Error reading SSH protocol banner[Errno 104] Connection reset by peer

    opened by fancy-lee 2
  • [Enhancement]: autodeploy doesn't make full use of the hardware resource.

    [Enhancement]: autodeploy doesn't make full use of the hardware resource.

    Check Before Asking

    • [X] Please check the issue list and confirm this bug is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Environment

    In the ECS: 32C 128G Memory, 500G essd 
    
    
        devname: eth0
        # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
        # mysql_port: 2881
        # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
        # rpc_port: 2882
        # Defines the zone for an observer. The default value is zone1.
        # zone: zone1
        # The maximum running memory for an observer. When ignored, autodeploy calculates this value based on the current server available resource.
        memory_limit: 115G
        # The percentage of the maximum available memory to the total memory. This value takes effect only when memory_limit is 0. The default value is 80.
        # memory_limit_percentage: 80
        # The reserved system memory. system_memory is reserved for general tenants. The default value is 30G. Autodeploy calculates this value based on the current server available resource.
        # system_memory: 22G
        # The size of a data file. When ignored, autodeploy calculates this value based on the current server available resource.
        datafile_size: 200G
        # The size of disk space used by the clog files. When ignored, autodeploy calculates this value based on the current server available resource.
        log_disk_size: 66G
        # System log level. The default value is INFO.
        # syslog_level: INFO
        # Print system logs whose levels are higher than WARNING to a separate log file. The default value is true. The default value for autodeploy mode is false.
        enable_syslog_wf: true
        # Enable auto system log recycling or not. The default value is false. The default value for autodeploy mode is on.
        enable_syslog_recycle: true
        # The maximum number of reserved log files before enabling auto recycling. When set to 0, no logs are deleted. The default value for autodeploy mode is 4.
        # max_syslog_file_count: 4
        # Cluster name for OceanBase Database. The default value is obcluster. When you deploy OceanBase Database and obproxy, this value must be the same as the cluster_name for obproxy.
        # appname: obcluster
        # Password for root. The default value is empty.
        # root_password:
        # Password for proxyro. proxyro_password must be the same as observer_sys_password. The default value is empty.
        # proxyro_password:
    

    but after install the cluster, the server's resource is as following:

    mysql> SELECT * FROM oceanbase.GV$OB_SERVERS;
    +---------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
    | SVR_IP        | SVR_PORT | ZONE  | SQL_PORT | CPU_CAPACITY | CPU_CAPACITY_MAX | CPU_ASSIGNED | CPU_ASSIGNED_MAX | MEM_CAPACITY | MEM_ASSIGNED | LOG_DISK_CAPACITY | LOG_DISK_ASSIGNED | LOG_DISK_IN_USE | DATA_DISK_CAPACITY | DATA_DISK_IN_USE | DATA_DISK_HEALTH_STATUS | MEMORY_LIMIT | DATA_DISK_ABNORMAL_TIME | SSL_CERT_EXPIRED_TIME |
    +---------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
    | 172.30.62.249 |     2882 | zone1 |     2881 |           30 |               30 |           30 |               30 |  74088185856 |  74088185856 |       70866960384 |       70866960384 |       536870912 |       214748364800 |        469762048 | NORMAL                  | 123480309760 | NULL                    | NULL                  |
    +---------------+----------+-------+----------+--------------+------------------+--------------+------------------+--------------+--------------+-------------------+-------------------+-----------------+--------------------+------------------+-------------------------+--------------+-------------------------+-----------------------+
    1 row in set (0.04 sec)
    

    The memory capacity is lower than expected.

    
    
    ### Fast Reproduce Steps
    
    as before
    
    ### Actual Behavior
    
    as before
    
    ### Expected Behavior
    
    _No response_
    
    ### Other Information
    
    _No response_
    bug 
    opened by longdafeng 0
  • [Enhancement.]:  Please provide one hint to tell user that the yaml configuration is illegal

    [Enhancement.]: Please provide one hint to tell user that the yaml configuration is illegal

    Check Before Asking

    • [X] Please check the issue list and confirm this feature is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Description

    It is very easy to make the yaml illegal, for examle the space is in the wrong place. 
    
    when install a cluster, please check the yaml firstly, if it  is illegal, please directly tell the user that the yaml configuration is illegal.
    

    Other Information

    No response

    enhancement 
    opened by longdafeng 0
  • [Question]: [ERROR] BenchmarkSQL jar file not found at /usr/ob-benchmarksql/OB-BenchmarkSQL-5.0.jar. Please use `--bmsql-jar` to set BenchmarkSQL jar file

    [Question]: [ERROR] BenchmarkSQL jar file not found at /usr/ob-benchmarksql/OB-BenchmarkSQL-5.0.jar. Please use `--bmsql-jar` to set BenchmarkSQL jar file

    Please check the issue list for the same question

    • [X] Please try full text in English and attach precise description.

    Describe your question

    [root@77aa13b9ca07 ~]# obd test tpcc obcluster Get local repositories and plugins ok Open ssh connection ok Cluster status check ok Connect to observer ok [ERROR] BenchmarkSQL jar file not found at /usr/ob-benchmarksql/OB-BenchmarkSQL-5.0.jar. Please use --bmsql-jar to set BenchmarkSQL jar file See https://www.oceanbase.com/product/ob-deployer/error-codes .

    question 
    opened by FrankXMX 4
  • [Bug]: obd test sysbench  obcluster error

    [Bug]: obd test sysbench obcluster error

    Please check the issue list for the same bug

    • [X] Please checked issue list and confirm this bug is encountered for the first time.
    • [X] Please try full text in English and attach precise description.

    Environment

    - OB Version&commit_id or other module version&commit_id (e.g. observer V3.1.2 8b23a93):
    - Hardware parameter:OS type & Compliler & CPU etc. 
    - Others
    [root@77aa13b9ca07 obd]# cat /etc/os-release
    NAME="CentOS Linux"
    VERSION="7 (AltArch)"
    ID="centos"
    ID_LIKE="rhel fedora"
    VERSION_ID="7"
    PRETTY_NAME="CentOS Linux 7 (AltArch)"
    ANSI_COLOR="0;31"
    CPE_NAME="cpe:/o:centos:centos:7:server"
    HOME_URL="https://www.centos.org/"
    BUG_REPORT_URL="https://bugs.centos.org/"
    
    CENTOS_MANTISBT_PROJECT="CentOS-7"
    CENTOS_MANTISBT_PROJECT_VERSION="7"
    REDHAT_SUPPORT_PRODUCT="centos"
    REDHAT_SUPPORT_PRODUCT_VERSION="7
    

    Fast Reproduce Steps(Required)

    obd test sysbench obcluster

    Actual Behavior

    [root@77aa13b9ca07 ~]# obd test sysbench obcluster Get local repositories and plugins ok Open ssh connection ok Cluster status check ok Connect to observer ok Optimize for stage test ok sysbench 1.0.20-cdafe71 (using bundled LuaJIT 2.1.0-beta2) Dropping table 'sbtest1'... Dropping table 'sbtest2'... Dropping table 'sbtest3'... Dropping table 'sbtest4'... Dropping table 'sbtest5'... Dropping table 'sbtest6'... Dropping table 'sbtest7'... Dropping table 'sbtest8'... Dropping table 'sbtest9'... Dropping table 'sbtest10'... Dropping table 'sbtest11'... Dropping table 'sbtest12'... Dropping table 'sbtest13'... Dropping table 'sbtest14'... Dropping table 'sbtest15'... Dropping table 'sbtest16'... Dropping table 'sbtest17'... Dropping table 'sbtest18'... Dropping table 'sbtest19'... Dropping table 'sbtest20'... Dropping table 'sbtest21'... Dropping table 'sbtest22'... Dropping table 'sbtest23'... Dropping table 'sbtest24'... Dropping table 'sbtest25'... Dropping table 'sbtest26'... Dropping table 'sbtest27'... Dropping table 'sbtest28'... Dropping table 'sbtest29'... Dropping table 'sbtest30'... *** Error in `sysbench': double free or corruption (!prev): 0x0000000004326920 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x7d1ec)[0xfffbdf94d1ec] sysbench[0x419658] sysbench(db_connection_close+0x34)[0x40e52c] sysbench(db_connection_free+0x20)[0x40e66c] sysbench[0x438410] sysbench[0x457994] sysbench[0x433d70] sysbench[0x436754] sysbench[0x438598] sysbench[0x4396d0] sysbench[0x41e64c] sysbench[0x436b38] sysbench(lua_close+0x98)[0x41e9f0] sysbench[0x411df0] sysbench(sb_lua_done+0x24)[0x414300] sysbench(main+0x8c4)[0x409b2c] /lib64/libc.so.6(__libc_start_main+0xf0)[0xfffbdf8f1724] sysbench[0x40a0e4] ======= Memory map: ======== 00400000-004a0000 r-xp 00000000 fd:00 5097834 /usr/sysbench/bin/sysbench 004a0000-004b0000 r--p 00090000 fd:00 5097834 /usr/sysbench/bin/sysbench 004b0000-004c0000 rw-p 000a0000 fd:00 5097834 /usr/sysbench/bin/sysbench 004c0000-006c0000 rw-p 00000000 00:00 0 02270000-02280000 r-xp 00000000 00:00 0 04320000-04380000 rw-p 00000000 00:00 0 [heap] 4653996a0000-4653996e0000 rw-p 00000000 00:00 0 fffbd8000000-fffbd8030000 rw-p 00000000 00:00 0 fffbd8030000-fffbdc000000 ---p 00000000 00:00 0 fffbdf790000-fffbdf7a0000 r-xp 00000000 fd:00 4440487 /usr/lib64/libnss_files-2.17.so fffbdf7a0000-fffbdf7b0000 r--p 00000000 fd:00 4440487 /usr/lib64/libnss_files-2.17.so fffbdf7b0000-fffbdf7c0000 rw-p 00010000 fd:00 4440487 /usr/lib64/libnss_files-2.17.so fffbdf7c0000-fffbdf8d0000 rw-p 00000000 00:00 0 fffbdf8d0000-fffbdfa40000 r-xp 00000000 fd:00 4440344 /usr/lib64/libc-2.17.so fffbdfa40000-fffbdfa50000 r--p 00160000 fd:00 4440344 /usr/lib64/libc-2.17.so fffbdfa50000-fffbdfa60000 rw-p 00170000 fd:00 4440344 /usr/lib64/libc-2.17.so fffbdfa60000-fffbdfa80000 r-xp 00000000 fd:00 4440535 /usr/lib64/libpthread-2.17.so fffbdfa80000-fffbdfa90000 r--p 00010000 fd:00 4440535 /usr/lib64/libpthread-2.17.so fffbdfa90000-fffbdfaa0000 rw-p 00020000 fd:00 4440535 /usr/lib64/libpthread-2.17.so fffbdfaa0000-fffbdfac0000 r-xp 00000000 fd:00 5223226 /tmp/_MEIZTwpb4/libgcc_s.so.1 fffbdfac0000-fffbdfad0000 r--p 00010000 fd:00 5223226 /tmp/_MEIZTwpb4/libgcc_s.so.1 fffbdfad0000-fffbdfae0000 rw-p 00020000 fd:00 5223226 /tmp/_MEIZTwpb4/libgcc_s.so.1 fffbdfae0000-fffbdfb80000 r-xp 00000000 fd:00 4440458 /usr/lib64/libm-2.17.so fffbdfb80000-fffbdfb90000 r--p 00090000 fd:00 4440458 /usr/lib64/libm-2.17.so fffbdfb90000-fffbdfba0000 rw-p 000a0000 fd:00 4440458 /usr/lib64/libm-2.17.so fffbdfba0000-fffbdfbb0000 r-xp 00000000 fd:00 4440373 /usr/lib64/libdl-2.17.so fffbdfbb0000-fffbdfbc0000 r--p 00000000 fd:00 4440373 /usr/lib64/libdl-2.17.so fffbdfbc0000-fffbdfbd0000 rw-p 00010000 fd:00 4440373 /usr/lib64/libdl-2.17.so fffbdfbd0000-fffbdfc50000 r-xp 00000000 fd:00 4964761 /u01/obclient/lib/libobclnt.so.20 fffbdfc50000-fffbdfc60000 r--p 00070000 fd:00 4964761 /u01/obclient/lib/libobclnt.so.20 fffbdfc60000-fffbdfc70000 rw-p 00080000 fd:00 4964761 /u01/obclient/lib/libobclnt.so.20 fffbdfc70000-fffbdfc90000 rw-p 00000000 00:00 0 fffbdfc90000-fffbdfca0000 r--p 00000000 00:00 0 [vvar] fffbdfca0000-fffbdfcb0000 r-xp 00000000 00:00 0 [vdso] fffbdfcb0000-fffbdfcd0000 r-xp 00000000 fd:00 4440320 /usr/lib64/ld-2.17.so fffbdfcd0000-fffbdfce0000 r--p 00010000 fd:00 4440320 /usr/lib64/ld-2.17.so fffbdfce0000-fffbdfcf0000 rw-p 00020000 fd:00 4440320 /usr/lib64/ld-2.17.so ffffc80b0000-ffffc80e0000 rw-p 00000000 00:00 0 [stack] /bin/sh: line 1: 1313 Aborted (core dumped) sysbench oltp_point_select.lua --mysql-host=127.0.0.1 --mysql-port=2881 --mysql-user=root@test --mysql-db=test --table_size=20000 --tables=30 --threads=16 --time=60 --report-interval=10 --mysql-ignore-errors=1062 cleanup Recover ok See https://www.oceanbase.com/product/ob-deployer/error-codes .

    Expected Behavior

    No response

    other information

    环境是docker

    bug 
    opened by FrankXMX 1
  • How to destroy zombie cluster

    How to destroy zombie cluster

    I have setup one cluster 1 node for obproxy/promtheus/graphna 3 node for observer/obagent

    but the ecs where run observer/obagent have been released, so the cluster become zombie cluster.

    [root@testocp ~]# obd cluster destroy mytest -f
    Get local repositories ok
    Search plugins ok
    Open ssh connection x
    [ERROR] [email protected] connect failed: timed out
    
    [root@testocp ~]# obd cluster stop mytest -f
    [WARN] no such option: -f
    Get local repositories ok
    Search plugins ok
    Open ssh connection x
    [ERROR] [email protected] connect failed: timed out
    
    opened by longdafeng 0
Releases(v1.6.2)
Owner
OceanBase
The Leading Scalable HTAP Database.
OceanBase
Installer, package manager, build wrapper and version manager for Piccolo

Piccl Installer, package manager, build wrapper and version manager for Piccolo

null 1 Dec 19, 2021
A simple and easy to use Python's PIP configuration manager, similar to the Arch Linux's Java manager.

PIPCONF - The PIP configuration manager If you need to manage multiple configurations containing indexes and trusted hosts for PIP, this project was m

João Paulo Carvalho 11 Nov 30, 2022
ArinjoyTheDev 1 Jul 17, 2022
Expense-manager - Expense manager with python

Expense_manager TO-DO Source extractor: Credit Card, Wallet Destination extracto

null 1 Feb 13, 2022
EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild is a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way.

EasyBuild community 87 Dec 27, 2022
Nimbus - Open Source Cloud Computing Software - 100% Apache2 licensed

⚠️ The Nimbus infrastructure project is no longer under development. ⚠️ For more information, please read the news announcement. If you are interested

Nimbus 194 Jun 30, 2022
Hashcrack - A non-object oriented open source, Software for Windows/Linux made in Python 3

Multi Force This project is a non-object oriented open source, Software for Wind

Radiationbolt 3 Jan 2, 2023
A wrapper for the apt package manager.

A wrapper for the apt package manager.

null 531 Jan 4, 2023
A proof-of-concept package manager for Cairo contracts/libraries

glyph A proof-of-concept package manager for Cairo contracts/libraries. Distribution through pypi. Installation through existing package managers -- p

Sam Barnes 11 Jun 6, 2022
A collection of simple tools that proved to be needed for hadling large periodic calculations with the VASP software package.

VESTA-tools A collection of simple tools that proved to be needed for handling large periodic calculations with the VASP software package. distTotCalc

Ilia Kichev 2 Dec 14, 2021
The Open edX platform, the software that powers edX!

This is the core repository of the Open edX software. It includes the LMS (student-facing, delivering courseware), and Studio (course authoring) compo

edX 6.2k Jan 1, 2023
An open letter in support of Richard Matthew Stallman being reinstated by the Free Software Foundation

An open letter in support of RMS. To sign, click here and name the file <username>.yaml (replace <username> with your name) with the following content

null 2.4k Jan 7, 2023
chiarose(XCR) based on chia(XCH) source code fork, open source public chain

chia-rosechain 一个无耻的小活动 | A shameless little event 如果您喜欢这个项目,请点击star 将赠送您520朵玫瑰,可以去 facebook 留下您的(xcr)地址,和github用户名。 If you like this project, please

ddou123 376 Dec 14, 2022
A test repository to build a python package and publish the package to Artifact Registry using GCB

A test repository to build a python package and publish the package to Artifact Registry using GCB. Then have the package be a dependency in a GCF function.

null 1 Feb 9, 2022
A full-featured, hackable tiling window manager written and configured in Python

A full-featured, hackable tiling window manager written and configured in Python Features Simple, small and extensible. It's easy to write your own la

Qtile 3.8k Dec 31, 2022
Cross-platform config and manager for click console utilities.

climan Help the project financially: Donate: https://smartlegion.github.io/donate/ Yandex Money: https://yoomoney.ru/to/4100115206129186 PayPal: https

null 3 Aug 31, 2021
Integration between the awesome window manager and the firefox web browser.

Integration between the awesome window manager and the firefox web browser.

contribuewwt 3 Feb 2, 2022
Password manager using MySQL and Python 3.10.2

Password Manager Password manager using MySQL and Python 3.10.2 Installation Install my-project with github git clone https://github.com/AyaanSiddiq

null 1 Feb 18, 2022
A free and open-source chess improvement app that combines the power of Lichess and Anki.

A free and open-source chess improvement app that combines the power of Lichess and Anki. Chessli Project Activity & Issue Tracking PyPI Build & Healt

null 93 Nov 23, 2022