使用obd cluster deploy时报错

【 使用环境 】测试环境
【 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
1 个赞

可以尝试通过这种方式部署ocp_express 通过OBD 白屏部署 OceanBase 集群

1 个赞

ocp白屏部署卡在预检查,一个小时都不动

1 个赞

提供下obd日志看下。

截图看看这2个看看:

1、 obd mirror list
2、obd mirror list local