暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0080.O oceanbase集群参数文件

rundba 2021-08-07
1464

oceanbase中存在一个参数文件,其中配置了observer的启动参数,此处类似于oracle的参数文件。

参数文件默认进行了3路径冗余,每个参数文件相同,此处又类似于oracle的控制文件冗余,缺少其中任何1个,observer不能启动,当其中一个参数文件异常时,此时可将其余冗余的参数文件复制一份到缺少的目录,再次启动正常。

0.ENV

oceanbase-ce-3.1.0;

oceanbase-2.2.75。

1. 参数文件

参数文件在社区版和企业版基本无差别,均是配置数据一些启动参数。

1) 查看参数文件路径

默认参数文件/home/admin/oceanbase/etc/observer.config.bin。

我的安装进行了自定义,稍有差异:

    [admin@ob3 etc]$ ll home/admin/oceanbase/2/etc/observer.config.bin
    -rw-r----- 1 admin admin 823 Aug 3 17:18 home/admin/oceanbase/2/etc/observer.config.bin

    2) 查看社区版参数文件内容

    文件内容为二进制格式,需要使用strings查看。下小节有各参数介绍。

      [admin@ob3 etc]$ strings observer.config.bin
      _enable_oracle_priv_check=True
      enable_log_archive=False
      backup_dest=file:///data/nfs/backup
      stack_size=512K
      _max_trx_size=100M
      restore_concurrency=50
      all_server_list=127.0.0.1:2882,127.0.0.1:3882,127.0.0.1:4882
      __min_full_resource_pool_memory=2147483648
      min_observer_version=3.1.0
      workers_per_cpu_quota=4
      cache_wash_threshold=2GB
      syslog_level=INFO
      cluster_id=1
      cluster=obcp_test
      rootservice_list=127.0.0.1:2882:2881;127.0.0.1:3882:3881;127.0.0.1:4882:4881
      _partition_balance_strategy=standard
      enable_one_phase_commit=False
      cpu_count=32
      system_memory=5G
      memory_limit=15G
      net_thread_count=8
      zone=zone3
      devname=lo
      mysql_port=4881
      rpc_port=4882
      datafile_disk_percentage=15
      data_dir=/data/3
      [1001]

      3) 查看企业版参数文件内容

      文件内容为二进制格式,需要使用strings查看,附各参数介绍

        [admin@ob6 ~]$ strings ./oceanbase/2/etc/observer.config.bin
        _enable_oracle_priv_check=True #启用oracle权限检查,字面理解
        enable_log_archive=False #是否开启归档,True开启,False不开启
        backup_dest=file:///data/nfs/backup #备份路径,使用文件系统
        stack_size=512K #设置程序函数调用栈的大小,取值范围[512K, 20M]
        _max_trx_size=100M #限制了当前事务最大允许写入的事务大小,默认值 100 MB
        major_compact_trigger=3 #用于设置多少次小合并触发一次全局合并,major_compact_trigger 配置项的取值为 0 时,表示关闭小合并,该配置项与配置项 minor_freeze_times 的功能相同。
        minor_freeze_times=3 #用于设置多少次小合并触发一次全局合并。值为 0 时,表示关闭小合并,minor_freeze_times 配置项与 major_compact_trigger 配置项具有相同功能。
        restore_concurrency=50 #用于设置从备份恢复租户数据时的最大并发度。取值范围[0, 512]
        all_server_list=172.18.33.109:2882,172.18.33.109:3882,172.18.33.109:4882 #observer列表
        __min_full_resource_pool_memory=2147483648 #允许以最小2GB内存的规格创建租户,也可设置为更小,如1G
        min_observer_version=2.2.75 #设置本集群最小的OBServer应用程序版本号
        freeze_trigger_percentage=70 #用于设置触发全局冻结的租户使用内存阈值,如果开启了自动触发全局冻结,则当租户使用的内存达到该阈值时,会触发全局冻结,自动触发全局冻结开关的设置请参见 enable_global_freeze_trigger。
        memstore_limit_percentage=50 #设置租户使用memstore的内存占其总可用内存的百分比,memstore_limit_percentage 配置项用于计算 Memstore_limit 的值:memstore_limit_percentage = memstore_limit min_memory,其中,min_memory 为创建租户时指定的值。
        workers_per_cpu_quota=4 #设置分配给每个 CPU 配额的工作线程数量,租户中可同时处理的线程数由 cpu_quota_concurrency 与 workers_per_cpu_quota 2 个配置项控制,且设置时需要满足 workers_per_cpu_quota > cpu_quota_concurrency
        enable_syslog_recycle=True #设置是否开启回收系统日志的功能
        max_syslog_file_count=10 #设置在回收日志文件之前可以容纳的日志文件数量
        syslog_level=INFO #设置系统日志级别:ERROR/USER_ERR/WARN/INFO/TRACE/DEBUG
        obconfig_url=http://172.18.33.109:8088/services?Action=ObRootServiceInfo&ObRegion=obdemo #用于设置OBConfig服务的URL地址。OBServer从指定URL获取RootService的地址
        cluster_id=20210713 #用于设置本OceanBase集群的ID,取值范围[1, 4294901759],不建议修改该配置项
        cluster=obdemo #用于设置本OceanBase集群名
        rootservice_list=172.18.33.109:4882:4881;172.18.33.109:2882:2881;172.18.33.109:3882:3881 #用于显示RootService及其副本所在的机器列表
        _partition_balance_strategy=standard #分区平衡策略
        enable_one_phase_commit=False #用于设置是否开启事务提交一阶段优化的功能
        cpu_count=32 #用于设置系统CPU总数。如果设置为0,系统将自动检测CPU数量
        system_memory=5G #设置系统预留的内存容量,取值范围[0M, +∞)
        memory_limit=15G #可用的总内存大小,如果该值不为0,则系统会忽略memory_limit_percentage的设置而优先使用memory_limit配置的值。为0时,则oceanbase可使用内存=系统总内存*memory_limit_percentage
        net_thread_count=8 #用于设置网络I/O线程数
        zone=zone2 #设置节点所在的 Zone 的名字
        devname=ens33 #设置服务进程绑定的网卡设备名
        mysql_port=3881 #设置SQL服务协议端口号,默认为2881
        rpc_port=3882 #设置远程访问的协议端口号,默认为2882
        config_additional_dir=/data/2/obdemo/etc3;/data/log1/2/obdemo/etc2 #设置本地存储配置文件的多个目录,为了冗余存储多份配置文件
        data_dir=/home/admin/oceanbase/2/store/obdemo #用于设置存储sstable等数据的目录
        [1001] #obdemo集群下租户ID,当前共3个租户,ID分别为1001/1002/1003
        [1002]
        [1003]

        3. 数据库中查看配置路径

        参数文件默认配置了多个目录,为了冗余多份参数文件,每个路径下的参数文件内容相同。

        使用参数config_additional_dir,查看数据库中参数文件冗余路径:

          MySQL [oceanbase]> show parameters like '%config_additional_dir%';
          +-------+----------+-----------+----------+-----------------------+-----------+-----------+------------------------------------------+----------+---------+---------+-------------------+
          | zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level |
          +-------+----------+-----------+----------+-----------------------+-----------+-----------+------------------------------------------+----------+---------+---------+-------------------+
          | zone1 | observer | 127.0.0.1 | 2882 | config_additional_dir | NULL | etc2;etc3 | additional directories of configure file | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
          | zone2 | observer | 127.0.0.1 | 3882 | config_additional_dir | NULL | etc2;etc3 | additional directories of configure file | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
          | zone3 | observer | 127.0.0.1 | 4882 | config_additional_dir | NULL | etc2;etc3 | additional directories of configure file | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE |
          +-------+----------+-----------+----------+-----------------------+-----------+-----------+------------------------------------------+----------+---------+---------+-------------------+
          3 rows in set (0.012 sec)

          当前参数文件还有2个冗余路径,分别etc2、etc3,在路径/home/admin/oceanbase/2/下。三个冗余目录中observer.config.bin内容相同。

          4. 参数文件目录查看

          社区版中,参数文件3个目录内容相同,其中observer.config.bin为参数文件,observer.config.bin.history为上一个版本参数文件。企业版中etc相比etc2、etc3目录还有更多的配置文件。

            [admin@ob3 etc]$ ll home/admin/oceanbase/2/etc*
            /home/admin/oceanbase/2/etc:
            total 8
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.config.bin
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.config.bin.history


            /home/admin/oceanbase/2/etc2:
            total 8
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.conf.bin
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.conf.bin.history


            /home/admin/oceanbase/2/etc3:
            total 8
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.conf.bin
            -rw-r----- 1 admin admin 823 Aug 3 17:18 observer.conf.bin.history


            5. observer启动

            observer第一次启动,会使用-o选项,-o选项后跟observer参数。OBServer进程启动成功后,三个参数文件就生成了。

            再次启动,可不加选项,会默认调用参数文件,如果使用-o选项,会覆盖OB集群参数的默认值,同时会同步修改参数文件。


            -  完 -

            旨在交流,不足之处,还望抛砖。

            作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。

            如需公众号转发,请联系wx: landnow。

            文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论