DSC+DW自动安装工具

DSC+DW自动安装工具

本次进行DSC+DW的自动安装工具的使用,这里先安装一份两节点的DSC集群。

1.前期准备

1.1环境准备

  • 数据库安装
    • 两个节点上都得安装好DM数据库,暂时不用初始化实例,版本、安装路径都要一致
  • 操作系统
    • 两个都是使用的CentOS7

1.2端口规划

实例名DB_INST_PORTDB_MAL_PORTDCR_CHECK_PORTASM_MAL_PORTASM_DCR_EP_PORTCSS_DCR_EP_PORTMAL_DW_PORTMAL_INST_DW_PORT
DSC152361246125612661276128635672176
DSC252361246125612661276128635672176

1.3服务器规划

实例名公网IP内网IP安装路径
DSC1192.168.19.13010.10.10.7/home/dmdba/config_dsc
DSC2192.168.19.13710.10.10.4/home/dmdba/config_dsc

1.4共享磁盘规划

  • 这里可以参考 https://blog.csdn.net/weixin_44559140/article/details/125365230?spm=1001.2014.3001.5502 文章。

2.自动化工具部署

2.1上传部署工具

  • 上传到第一个节点上,解压,并将所属用户修改为dmdba

2.2配置文件dm8_dsc.conf

  • 打开dm8_dsc.conf,修改相应的内容

    #groupadd dinstall
    #useradd -m -s /bin/bash -g dinstall dmdba
    #passwd dmdba
    #配置文件
    
    [GLOBAL]
    DM_PATH          = /home/dmdba/dmdbms               	  #指dmdbms的安装路径,如/home/dmdba/dmdbms 
    DB_PATH          = /home/dmdba/config_dsc		        #DSC 节点的目录,里面存放控制文件、配置文件等
    TEMP_PATH        =                                        #DSC 临时表空间目录,里面存放节点的临时表空间;若该值为空,则表示临时表空间存储在ASM上。
    ARCH_PATH        = /home/dmdba/dmdsc/dmarch/CNDT               #本地归档、远程归档路径。当ARCH_INI_OPEN=1时指DSC的本地归档。当ARCH_INI_OPEN=3时,指备机DW的归档
    BAK_PATH         = /home/dmdba/dmdsc/dmbak/CNDT                #DSC 节点数据库备份的默认路径
    DCR_ASM_PATH     = /dev/raw/raw1                        #操作系统绑定的dcr路径,建议三层路径,第二层路径名称独立不重复
    VOTE_ASM_PATH    = /dev/raw/raw2                       #操作系统绑定的vote路径,建议三层路径,第二层路径名称独立不重复
    LOG_ASM_PATH     = /dev/raw/raw3                       #操作系统绑定的redo日志路径,对应磁盘组DMLOG,建议三层路径,第二层路径名称独立不重复
    DATA_ASM_PATH    = /dev/raw/raw4			     #操作系统绑定的数据库数据文件路径,对应磁盘组DMDATA,建议三层路径,第二层路径名称独立不重复
    ARCH_ASM_PATH    = /dev/raw/raw4                    #操作系统绑定的本地归档存储路径,只有ARCH_INI_OPEN=2/3时生效,其对应的磁盘组DMARCH,如值与DATA_ASM_PATH完全一致,归档将存储在磁盘组DMDATA上。
    
    [ARCH]
    ARCH_INI_OPEN    = 2                                      #是否开启DSC节点的本地归档,0不开启,1开启本地归档且放在本地,2开启本地归档且放在ASM,3:DSC+备机,并且dsc归档放在asm上。
    ARCH_SPACE_LIMIT = 10240                                 #单个节点的本地归档或远程归档的大小空间限制,如是4节点DSC,则需要预留4*ARCH_SPACE_LIMIT的空间。
    
    SSH_PORT         = 22                                     #远程Linux服务器的ssh端口号,一般为22,某些客户出于安全考虑,会更改ssh的默认连接端口
    
    [DSC_DMINIT]                                              #初始化DSC实例的一些参数
    DB_NAME             = CNDT                                #实例名称
    SYS_PATH            = data                                #在ASM存储中的数据文件路径,注意大小写
    SYSTEM_SIZE         = 1024                                #SYSTEM.dbf的大小
    ROLL_SIZE           = 10000                               #Roll表空间的大小
    MAIN_SIZE           = 1024                                #MAIN表空间的大小
    CTL_SIZE            = 8                                   #dm.ctl文件的大小
    LOG_SIZE            = 2048                                #redo文件的大小,搭建集群完成后,通过17步骤扩大集群的redo文件到log_size大小。
    AUTO_OVERWRITE      = 1                                   #ASM中的同名文件是否覆盖
    PAGE_SIZE           = 16                                  #初始化实例时的页大小
    EXTENT_SIZE         = 16                                  #初始化实例时的簇大小
    DB_SYSDBA_PWD       = 1314520dsy                          #初始化数据库时的SYSDBA密码,包括后续修改SYSDBA密码后的一些运维操作
    DB_INIT_PARA        = CASE_SENSITIVE=1,UNICODE_FLAG=0     #其它初始化参数,需要什么参数按格式增加即可,多个参数以逗号隔开
    
    [DSC_CONF]
    DCR_OGUID           = 240830                              #DCR的oguid,取6位数字即可,常用规律为当前日期
    
    [DSC_PORT]                               #搭建集群时所用到的各个端口号
    DB_INST_PORT                = 5236       #DSC实例端口号,端口号建议4位
    DB_MAL_PORT                 = 1246       #DSC实例的MAL通信端口号,端口号建议4位
    DCR_CHECK_PORT              = 1256       #DCR 检查端口号。检查实例是否活动的时候用,各实例不能冲突,故该端口会随着实例自动+1,端口号建议4位
    ASM_MAL_PORT                = 1266       #ASM 通信的端口号,端口号建议4位
    ASM_DCR_EP_PORT             = 1276       #ASM 节点 TCP 监听端口。各实例不能冲突,故该端口会随着实例自动+1,端口号建议4位
    CSS_DCR_EP_PORT             = 1286       #CSS 节点 TCP 监听端口,端口号建议4位
    
    [DSC_TIME]                                 #DSC集群一些心跳故障认证时间
    DB_DCR_GRP_DSKCHK_CNT       = 57           #心跳,DSC DB 故障认定时间
    ASM_DCR_GRP_DSKCHK_CNT      = 61           #心跳,DSC ASM 故障认定时间
    CSS_DCR_GRP_DSKCHK_CNT      = 65           #心跳,DSC CSS 故障认定时间
    DMDCR_ASM_RESTART_INTERVAL  = 71           #DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400s),0则不会执行拉起
    DMDCR_DB_RESTART_INTERVAL   = 0            #DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400s),0则不会执行拉起
    DMDCR_AUTO_OPEN_CHECK       = 111          #指定时间内如果节点实例未启动,DMCSS 会自动将节点踢出集群环境,单位为秒
    MAL_CHECK_INTERVAL          = 87           #MAL 链路检测时间间隔,取值范围(0s-1800s)为了防止误判,DMDSC 集群中,建议将配置值>= DB_DCR_GRP_DSKCHK_CNT。
    MAL_CONN_FAIL_INTERVAL      = 33           #判定 MAL 链路断开的时间,取值范围(2s-1800s)
    
    
    [ASM]
    DCR_EP_SHM_KEY              = 42424       #共享内存标识,不同实例的该值不一样,故该端口会随着实例自动+1
    DCR_EP_SHM_SIZE             = 200         #共享内存大小
    ASM_DCR_PWD                 = 1314520dsy    #初始化DCR时的密码
    
    [DataWatcher]                                                   #该组参数只有在ARCH_INI_OPEN=3时生效,表示搭建DSC+单机备机
    DW_PATH                     = /home/dmdba/dmdbms                #备机的DM路径
    DATA_PATH                   = /home/dmdba/dmdbms/data/DSC                #备机数据库数据文件路径,根据实际修改,但要确保该目录只为该集群所用。
    MAL_DW_PORT                 = 3567                              #dmmal.ini中的MAL_DW_PORT端口,用于集群中所有守护进程、监视器的通信,端口号建议4位
    MAL_INST_DW_PORT            = 2176                              #DM8的参数,数据守护4.0,端口号建议4位
    DB_OGUID                    = 1000                            #建议修改#OGUID,代表集群的唯一标识,表示数据库的OGUID
    DW_TYPE                     = REALTIME                          #搭建的集群类型:即时归档:TIMELY;实时归档:REALTIME,如无特殊需求,建议用REALTIME
    DW_MODE                     = MANUAL                            #集群的故障切换模式:自动切换(AUTO),非自动切换(MANUAL)                         
    ASYNC_NODE                  = 1                                 #异步备机的数量,取值0-8。始终从最后的NODE为异步备机,如只有2NODE,则表示1主1异步备机。
    AUTO_RESTART                = 1                                 #实例自动重启,1表示自动重启,0表示不自动重启,仅针对备机有效,对DSC无效
    INST_RECOVER_TIME           = 60                                #主库守护进程启动恢复的间隔时间
    INST_ERROR_TIME             = 120                               #本地数据库故障认定时间
    DW_ERROR_TIME               = 120                               #远程主(备)机守护进程故障认定时间
    ARCH_WAIT_APPLY             = 0                                 #高性能模式为0,事务强一致模式为1
    ARCH_FLUSH_BUF_SIZE         = 0                                 #写本地归档时,合并rlog为多少M再写。202009月度版才支持,之前版本该值需要设置为0.
    
    [MAIL]#一般不用改参数,以128GB内存为例
    MAL_SYS_BUF_SIZE=6000
    MAL_BUF_SIZE=3000
    MAL_VPOOL_SIZE=5000
    MAL_COMPRESS_LEVEL=0
    
    #各节点配置
    [DSC1]
    DSC_MAL_HOST = 10.10.10.7     #内网IP
    DSC_INST_HOST = 192.168.19.130   #外网IP
    DSC_INST_UID  = dmdba
    DSC_INST_PWD  = 1314520dsy
    
    [DSC2]
    DSC_MAL_HOST = 10.10.10.4
    DSC_INST_HOST = 192.168.19.137
    DSC_INST_UID  = dmdba
    DSC_INST_PWD  = 1314520dsy
    
    #[NODE]、[MONITOR]在ARCH_INI_OPEN=3时生效,表示搭建DSC+单机备机
    [NODE1]
    DB_MAL_HOST = 10.10.10.2   #内网IP
    DB_INST_HOST = 192.168.19.139   #外网IP
    DB_INST_UID  = dmdba
    DB_INST_PWD  = 1314520dsy
    
    [NODE2]
    DB_MAL_HOST = 10.10.10.8
    DB_INST_HOST = 192.168.19.142
    DB_INST_UID  = dmdba
    DB_INST_PWD  = 1314520dsy
    
    [MONITOR]  #确认监视器,需要独立的机器
    MON_MAL_HOST = 192.168.18.21   #内网IP
    MON_INST_HOST = 192.168.104.21  #外网IP
    MON_INST_UID  = dmdba
    MON_INST_PWD  = hust44001
    

2.3部署过程

  • 使用Python启动程序,输入配置文件进行部署执行

    [dmdba@192 4_dm8_dsc_dw]$ python dm8_dsc.py 
    请输入配置文件:
    dm8_dsc.conf
    部署集群:2节点DSC环境,本地归档存储在ASM。
    DM8_DSC>
    
  • 执行步骤h查看帮助信息

    在这里插入图片描述

  • 执行步骤01,SSH连接各机器

    在这里插入图片描述

    • 这里注意,输入完01后弹出(y/n)不要输入任何东西;在完成后再输入一次01才算是成功连接
  • 执行步骤02,测试网络互通

    在这里插入图片描述

    在这里插入图片描述

  • 执行步骤03,搭建DSC

    在这里插入图片描述

    • 报错:启动服务器失败

      在这里插入图片描述

      • 原因:这里我发现是在创建数据库时,ROLL表空间创建失败

        在这里插入图片描述

        • 然后我去配置文件看了下,是我给ROLL表空间的空间太大,直接超过了磁盘的大小,所以创建失败。
      • 解决方法:调整ROLL表空间大小,给到适量的大小即可,然后重新执行步骤03

        在这里插入图片描述

        • 成功启动
  • 执行步骤07,一键关闭集群

    在这里插入图片描述

  • 执行步骤06,一键启动集群(这么做是看集群是否真的配置好了,不至于关了之后就用不了了)

    在这里插入图片描述

  • 执行步骤q退出部署工具

    在这里插入图片描述

3.测试集群功能可用性

  • 在节点DSC1中创建表test,并插入数据,提交

    SQL> create table test(id number ,name varchar2(20));
    SQL> insert into test values(1,'dmdsc');
    SQL> insert into test values(2,'dmdw');
    SQL> commit;
    

    在这里插入图片描述

  • 在节点DSC2中查询表test

    SQL> select * from test;
    

    在这里插入图片描述

自此,使用自动安装工具进行DSC集群搭建成功!

参考

  • 达梦在线服务平台-- https://eco.dameng.com/document/dm/zh-cn/pm/index.html
  • 参考文章-- https://blog.csdn.net/weixin_45260302/article/details/126828310
  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是点云ISS、3DSC、SAC-IA、ICP的代码示例: 1. ISS 特征提取 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::Normal>::Ptr normals(new pcl::PointCloud<pcl::Normal>); pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>); pcl::ISSKeypoint3D<pcl::PointXYZ, pcl::PointXYZ> iss_detector; iss_detector.setSearchMethod(tree); iss_detector.setSalientRadius(6 * resolution); iss_detector.setNonMaxRadius(4 * resolution); iss_detector.setThreshold21(0.975); iss_detector.setThreshold32(0.975); iss_detector.setMinNeighbors(5); iss_detector.setInputCloud(cloud); iss_detector.compute(*keypoints); ``` 2. 3DSC 特征描述 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::ShapeContext1980>::Ptr descriptors(new pcl::PointCloud<pcl::ShapeContext1980>); pcl::ShapeContext3DEstimation<pcl::PointXYZ, pcl::ShapeContext1980> desc_est; pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZ>); desc_est.setInputCloud(keypoints); desc_est.setInputNormals(normals); desc_est.setSearchMethod(tree); desc_est.setRadiusSearch(4 * resolution); desc_est.compute(*descriptors); ``` 3. SAC-IA 平面拟合 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients); pcl::PointIndices::Ptr inliers(new pcl::PointIndices); pcl::SACSegmentation<pcl::PointXYZ> seg; seg.setOptimizeCoefficients(true); seg.setModelType(pcl::SACMODEL_PLANE); seg.setMethodType(pcl::SAC_RANSAC); seg.setMaxIterations(1000); seg.setDistanceThreshold(0.01); seg.setInputCloud(cloud); seg.segment(*inliers, *coefficients); ``` 4. ICP 点云配准 ```c++ pcl::PointCloud<pcl::PointXYZ>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr cloud2(new pcl::PointCloud<pcl::PointXYZ>); pcl::PointCloud<pcl::PointXYZ>::Ptr aligned(new pcl::PointCloud<pcl::PointXYZ>); pcl::IterativeClosestPoint<pcl::PointXYZ, pcl::PointXYZ> icp; icp.setInputSource(cloud1); icp.setInputTarget(cloud2); icp.setMaxCorrespondenceDistance(0.05); icp.setMaximumIterations(50); icp.setTransformationEpsilon(1e-8); icp.setEuclideanFitnessEpsilon(1); icp.align(*aligned); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值