【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】4.2.1.6
使用如下命令部署:
obd cluster deploy dev_oceanbase -c ./all_comp.yaml
all_comp.yaml配置文件内容如下:
user:
username: root
password: C7wbyYgkcR00_
port: 22
oceanbase-ce:
depends:
- ob-configserver
version: 4.2.1.6
#release: 101000012024030709.el8
servers:
- name: server1
ip: 10.1.250.157
- name: server2
ip: 10.1.250.160
- name: server3
ip: 10.1.250.161
global:
# Starting from observer version 4.2, the network selection for the observer is based on the 'local_ip' parameter, and the 'devname' parameter is no longer mandatory.
# If the 'local_ip' parameter is set, the observer will first use this parameter for the configuration, regardless of the 'devname' parameter.
# If only the 'devname' parameter is set, the observer will use the 'devname' parameter for the configuration.
# If neither the 'devname' nor the 'local_ip' parameters are set, the 'local_ip' parameter will be automatically assigned the IP address configured above.
# devname: eth0
# 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: 48G # 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: 12G
datafile_size: 192G # Size of the data file.
log_disk_size: 192G # The size of disk space used by the clog files.
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.
# 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: dev_oceanbase
root_password: DevOps00!@#
# proxyro_password: # proxyro user pasword, consistent with obproxy's observer_sys_password, can be empty
# cdcro_password: # cdcro user password, consistent with oblogproxy's observer_sys_password, can be empty
ocp_meta_db: ocp_express # The database name of ocp express meta
ocp_meta_username: meta # The username of ocp express meta
ocp_meta_password: 'DevOps00!@#' # The password of ocp express meta
ocp_agent_monitor_password: 'DevOps00!@#' # The password for obagent monitor user
ocp_meta_tenant: # The config for ocp express meta tenant
tenant_name: ocp
max_cpu: 1
memory_size: 5G
log_disk_size: 7680M # The recommend value is (4608 + (expect node num + expect tenant num) * 512) M.
# 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.
server1:
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
obshell_port: 2886 # Operation and maintenance port for Oceanbase Database. The default value is 2886. This parameter is valid only when the version of oceanbase-ce is 4.2.2.0 or later.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /data1/dev_oceanbase/observer
# 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
local_ip: 10.1.250.157
server2:
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
obshell_port: 2886 # Operation and maintenance port for Oceanbase Database. The default value is 2886. This parameter is valid only when the version of oceanbase-ce is 4.2.2.0 or later.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /data1/dev_oceanbase/observer
# 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
local_ip: 10.1.250.160
server3:
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after the cluster is started.
rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the cluster is started.
obshell_port: 2886 # Operation and maintenance port for Oceanbase Database. The default value is 2886. This parameter is valid only when the version of oceanbase-ce is 4.2.2.0 or later.
# The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a required field.
home_path: /data1/dev_oceanbase/observer
# 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
local_ip: 10.1.250.161
obproxy-ce:
# Set dependent components for the component.
# When the associated configurations are not done, OBD will automatically get the these configurations from the dependent components.
depends:
- oceanbase-ce
- ob-configserver
servers:
- 10.1.250.157
global:
listen_port: 2883 # External port. The default value is 2883.
prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884.
home_path: /data1/dev_oceanbase/obproxy
# oceanbase root server list
# format: ip:mysql_port;ip:mysql_port. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
# rs_list: 192.168.1.2:2881;192.168.1.3:2881;192.168.1.4:2881
enable_cluster_checkout: false
# observer cluster name, consistent with oceanbase-ce's appname. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
# cluster_name: obcluster
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
# obproxy_sys_password: # obproxy sys user password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
# observer_sys_password: # proxyro user pasword, consistent with oceanbase-ce's proxyro_password, can be empty. When a depends exists, OBD gets this value from the oceanbase-ce of the depends.
obagent:
depends:
- oceanbase-ce
servers:
- name: server1
# Please don't use hostname, only IP can be supported
ip: 10.1.250.157
- name: server2
ip: 10.1.250.160
- name: server3
ip: 10.1.250.161
global:
home_path: /data1/dev_oceanbase/obagent
prometheus:
servers:
- 10.1.250.157
depends:
- obagent
global:
# The working directory for prometheus. prometheus is started under this directory. This is a required field.
home_path: /data1/dev_oceanbase/prometheus
address: 0.0.0.0 # The ip address to bind to. Along with port, corresponds to the `web.listen-address` parameter.
port: 9091 # The http port to use. Along with address, corresponds to the `web.listen-address` parameter.
# enable_lifecycle: true # Enable shutdown and reload via HTTP request. Corresponds to the `web.enable-lifecycle` parameter.
# data_dir: /root/prometheus/data # Base path for metrics storage. Corresponds to the `storage.tsdb.path` parameter.
# basic_auth_users: # Usernames and passwords that have full access to the web server via basic authentication. Corresponds to the `basic_auth_users` parameter.
# <username>: <password> # The format of `basic_auth_users` : the key is the user name and the value is the password.
# web_config: # Content of Prometheus web service config file. The format is consistent with the file. However, `basic_auth_users` cannot be set in it. Please set `basic_auth_users` above if needed. Corresponds to the `web.config.file` parameter.
# tls_server_config:
# # Certificate and key files for server to use to authenticate to client.
# cert_file: <filename>
# key_file: <filename>
# config: # Configuration of the Prometheus service. The format is consistent with the Prometheus config file. Corresponds to the `config.file` parameter.
# rule_files:
# - rules/*rules.yaml
# scrape_configs:
# - job_name: prometheus
# metrics_path: /metrics
# scheme: http
# static_configs:
# - targets:
# - localhost:9090
# - job_name: node
# basic_auth:
# username: admin
# password: root
# metrics_path: /metrics/node/host
# scheme: http
# file_sd_configs: # Set the targets to be collected by reading local files. The example is to collect targets corresponding to all yaml files in the 'targets' directory under $home_path.
# - files:
# - 'targets/*.yaml'
# - job_name: ob_basic
# basic_auth:
# username: admin
# password: root
# metrics_path: /metrics/ob/basic
# scheme: http
# file_sd_configs:
# - files:
# - 'targets/*.yaml'
# - job_name: ob_extra
# basic_auth:
# username: admin
# password: root
# metrics_path: /metrics/ob/extra
# scheme: http
# file_sd_configs:
# - files:
# - 'targets/*.yaml'
# - job_name: agent
# basic_auth:
# username: admin
# password: root
# metrics_path: /metrics/stat
# scheme: http
# file_sd_configs:
# - files:
# - 'targets/*.yaml'
# additional_parameters: # Additional parameters for Prometheus service, among which `web.listen-address`, `web.enable-lifecycle`, `storage.tsdb.path`, `config.file` and `web.config.file` cannot be set. Please set them in the corresponding configuration above if needed.
# - log.level: debug
#grafana:
#servers:
#- 10.1.250.160
#depends:
#- prometheus
#global:
#home_path: /data1/dev_oceanbase/grafana
#login_password: ch999 # Grafana login password.
# data_dir: # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used).$data_dir can be empty. The default value is $home_path/data.
# logs_dir: # Directory where grafana can store logs, can be empty. The default value is $data_dir/log.
# plugins_dir: # Directory where grafana will automatically scan and look for plugins, can be empty. The default value is $data_dir/plugins.
# provisioning_dir: # folder that contains provisioning config files that grafana will apply on startup and while running, can be empty. The default value is $home_path/conf/provisioning.
# temp_data_lifetime: # How long temporary images in data directory should be kept. Supported modifiers h (hours), m (minutes), Use 0 to never clean up temporary files, can be empty. The default value is 24h.
# log_max_days: # Expired days of log file(delete after max days), can be empty. The default value is 7.
# domian: # The public facing domain name used to access grafana from a browser, can be empty. The default value is $server.ip.
#port: 3002 # The http port to use, can be empty. The default value is 3000.
# # list of datasources to insert/update depending on what's available in the database, can be empty.
# # For more parameter settings, please refer to https://grafana.com/docs/grafana/latest/administration/provisioning/#datasources
# datasources:
# name: # name of the datasource. Required and should not be 'OB-Prometheus'
# type: # datasource type. Required
# access: # access mode. direct or proxy. Required
# url: # the url of datasource
# list of dashboards providers that load dashboards into Grafana from the local filesystem, can be empty.
# For more information, please refer to https://grafana.com/docs/grafana/latest/administration/provisioning/#dashboards
# providers:
# name: # an unique provider name. Required and should not be 'OceanBase Metrics'
# type: # provider type. Default to 'file'
# options:
# path: # path to dashboard files on disk. Required when using the 'file' type
# # customize your Grafana instance by adding/modifying the custom configuration as follows
# # for more information, please refer to https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#configure-grafana
# # Here, setting parameters is required for format conversion.
# # For example, if the original grafana configuration format is
# #
# # [section1.section2]
# # key1 = value1
# # key2 = value2
# #
# # Then when writing the configuration below, you need to write it as
# #
# # section1:
# # section2:
# # key1: value1
# # key2: value2
# #
# # Here we only list one item, because there are more than 500 items. Please add them according to your own needs.
# customize_config:
# # original grafana configuration format is
# # [server]
# # protocol = http
# server:
# protocol: http
ocp-express:
depends:
- oceanbase-ce
- obproxy-ce
- obagent
servers:
- 10.1.250.157
global:
# The working directory for prometheus. prometheus is started under this directory. This is a required field.
home_path: /data1/dev_oceanbase/ocp-express
# log_dir: /home/oceanbase/ocp-express/log # The log directory of ocp express server. The default value is {home_path}/log.
memory_size: 6G # The memory size of ocp-express server. The recommend value is 512MB * (expect node num + expect tenant num) * 60MB.
# logging_file_total_size_cap: 10G # The total log file size of ocp-express server
# logging_file_max_history: 1 # The maximum of retention days the log archive log files to keep. The default value is unlimited
ob-configserver:
servers:
- 10.1.250.157
global:
listen_port: 8080 # The port of ob-configserver web
# server_ip: 0.0.0.0 # Listen to the ob-configserver server IP。When you want to listen to the specified IP address,use it.
home_path: /data1/dev_oceanbase/ob-configserver # The working directory for prometheus. ob-configserver is started under this directory. This is a required field.
## log config
# log_level: info # Log printing level of ob-configserver。The default value is `info`
# log_maxsize: 30 # The total size of manager ob-configserver.Log size is measured in Megabytes.The default value is 30
# log_maxage: 7 # The days of manager expired ob-configserver.Log retention days. The default value is 7
# log_maxbackups: 10 #The number of manager expired ob-configserver.Log. The default value is 10
# log_localtime: true # Switch of ob-configserver.Log naming with localtime. The default value is true
# log_compress: true # Compress ob-configserver.Log switch. The default value is true
## vip config, configserver will generate url with vip_address and port and return it to the client
## do not use some random value that can't be connected
# vip_address: "10.10.10.1"
# vip_port: 8080
## storage config
# storage:
# database_type: sqlite3 # sqlite3 or mysql. Default sqlite3
# connection_url: "" # When database_type is set to sqlite3, the connection_url parameter can be left empty. If it is empty, the default value $home_path/.data.db?cache=shared&_fk=1 will be used. When database_type is set to mysql, the connection_url parameter must be configured, with a sample value of user:password@tcp(10.10.10.1:2883)/test?parseTime=true.
#oblogproxy:
#depends:
#- oceanbase-ce
#- obproxy-ce
#servers:
#- 10.1.250.157
#version: 2.0.0
#global:
# home_path: /data1/dev_oceanbase/oblogproxy
# service_port: 2983
# binlog_dir: /data1/dev_oceanbase/oblogproxy/run # The directory for binlog file. The default value is $home_path/run.
# binlog_mode: true # enable binlog mode, default true
#
部署报错:
[2024-05-20 17:19:59.804] [INFO] -- root@10.1.250.157 set env source to '/root/.obd/repository/ob-configserver/1.0.0/664f93205c913d5dc84e0779d565768fd60f1d5e/bin/ob-configserver'
[2024-05-20 17:19:59.804] [INFO] -- root@10.1.250.157 set env target to '/data1/dev_oceanbase/ob-configserver/bin/ob-configserver'
[2024-05-20 17:19:59.804] [INFO] -- root@10.1.250.157 execute: ln -fs ${source} ${target} -- exited code 0
[2024-05-20 17:19:59.804] [INFO]
[2024-05-20 17:19:59.804] [INFO] Remote ob-configserver-1.0.0-2.el8-664f93205c913d5dc84e0779d565768fd60f1d5e repository lib check
[2024-05-20 17:19:59.805] [DEBUG] -- 10.1.250.157 ob-configserver-1.0.0-2.el8-664f93205c913d5dc84e0779d565768fd60f1d5e repository lib check
[2024-05-20 17:19:59.805] [DEBUG] -- root@10.1.250.157 set env LD_LIBRARY_PATH to '/data1/dev_oceanbase/ob-configserver/lib:'
[2024-05-20 17:19:59.805] [DEBUG] -- root@10.1.250.157 execute: ldd /data1/dev_oceanbase/ob-configserver/bin/ob-configserver
[2024-05-20 17:19:59.856] [DEBUG] -- exited code 0
[2024-05-20 17:19:59.856] [DEBUG] -- root@10.1.250.157 set env LD_LIBRARY_PATH to ''
[2024-05-20 17:19:59.935] [INFO] -- 10.1.250.157 ob-configserver-1.0.0-2.el8-664f93205c913d5dc84e0779d565768fd60f1d5e repository lib check
[2024-05-20 17:19:59.935] [INFO] -- root@10.1.250.157 set env LD_LIBRARY_PATH to '/data1/dev_oceanbase/ob-configserver/lib:'
[2024-05-20 17:19:59.935] [INFO] -- root@10.1.250.157 execute: ldd /data1/dev_oceanbase/ob-configserver/bin/ob-configserver -- exited code 0
[2024-05-20 17:19:59.935] [INFO] -- root@10.1.250.157 set env LD_LIBRARY_PATH to ''
[2024-05-20 17:19:59.935] [INFO]
[2024-05-20 17:19:59.935] [INFO] Try to get lib-repository
[2024-05-20 17:19:59.937] [DEBUG] - Search best suitable repository libs
[2024-05-20 17:19:59.937] [DEBUG] - Search package for components...
[2024-05-20 17:19:59.937] [DEBUG] - Searching install plugin for components ...
[2024-05-20 17:19:59.937] [DEBUG] - Searching install plugin for components ...
[2024-05-20 17:19:59.938] [ERROR] Failed to install lib package for local
[2024-05-20 17:19:59.940] [INFO] See https://www.oceanbase.com/product/ob-deployer/error-codes .
[2024-05-20 17:19:59.941] [INFO] Trace ID: 14109c94-168a-11ef-9ebc-246e9612af44
[2024-05-20 17:19:59.941] [INFO] If you want to view detailed obd logs, please run: obd display-trace 14109c94-168a-11ef-9ebc-246e9612af44
[2024-05-20 17:19:59.941] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 17
[2024-05-20 17:19:59.941] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 16
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 15
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 11
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 10
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 14
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 13
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 12
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 9
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 8
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 11
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 10
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 9
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 7
[2024-05-20 17:19:59.942] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 6
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 8
[2024-05-20 17:19:59.942] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 7
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 6
[2024-05-20 17:19:59.943] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 5
[2024-05-20 17:19:59.943] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 4
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 5
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 4
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 3
[2024-05-20 17:19:59.943] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 3
[2024-05-20 17:19:59.943] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 2
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 2
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 1
[2024-05-20 17:19:59.943] [DEBUG] - exclusive lock /root/.obd/lock/mirror_and_repo release, count 0
[2024-05-20 17:19:59.943] [DEBUG] - try to get share lock /root/.obd/lock/mirror_and_repo
[2024-05-20 17:19:59.943] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 1
[2024-05-20 17:19:59.944] [DEBUG] - share lock /root/.obd/lock/mirror_and_repo release, count 0
[2024-05-20 17:19:59.944] [DEBUG] - unlock /root/.obd/lock/mirror_and_repo
[2024-05-20 17:19:59.944] [DEBUG] - exclusive lock /root/.obd/lock/deploy_dev_oceanbase release, count 1
[2024-05-20 17:19:59.944] [DEBUG] - exclusive lock /root/.obd/lock/deploy_dev_oceanbase release, count 0
[2024-05-20 17:19:59.944] [DEBUG] - unlock /root/.obd/lock/deploy_dev_oceanbase
[2024-05-20 17:19:59.944] [DEBUG] - share lock /root/.obd/lock/global release, count 0
[2024-05-20 17:19:59.944] [DEBUG] - unlock /root/.obd/lock/global