「更易用的OceanBase」| OceanBase Deployer初体验

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 「更易用的OceanBase」| OceanBase Deployer初体验

一、ODB

1. 什么是OBD?

OBD 全称为 OceanBase Deployer,是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。

二、安装OBD

1. 安装yum-utils

[root@oceanbase1 ~]# sudo yum install -y yum-utils
Loaded plugins: fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/oceanbase/OceanBase.repo
grabbing file https://mirrors.aliyun.com/oceanbase/OceanBase.repo to /etc/yum.re                              pos.d/OceanBase.repo
repo saved to /etc/yum.repos.d/OceanBase.repo
[root@oceanbase1 ~]# sudo yum install -y ob-deploy
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
oceanbase.community.stable                               | 3.0 kB     00:00
oceanbase.development-kit                                | 3.0 kB     00:00
(1/2): oceanbase.development-kit/7/x86_64/primary_db       |  33 kB   00:00
(2/2): oceanbase.community.stable/7/x86_64/primary_db      |  39 kB   00:00
Resolving Dependencies
--> Running transaction check
---> Package ob-deploy.x86_64 0:1.5.0-12.el7 will be installed
--> Finished Dependency Resolution
...
...
Running transaction
  Updating   : yum-utils-1.1.31-54.el7_8.noarch                             1/2
  Cleanup    : yum-utils-1.1.31-50.el7.noarch                               2/2
  Verifying  : yum-utils-1.1.31-54.el7_8.noarch                             1/2
  Verifying  : yum-utils-1.1.31-50.el7.noarch                               2/2
Updated:
  yum-utils.noarch 0:1.1.31-54.el7_8
Complete!

2. 下载repo

[root@oceanbase1 ~]# sudo yum-config-manager --add-repo https://mirrors.aliyun.c                              om/oceanbase/OceanBase.repo
Loaded plugins: fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/oceanbase/OceanBase.repo
grabbing file https://mirrors.aliyun.com/oceanbase/OceanBase.repo to /etc/yum.re                              pos.d/OceanBase.repo
repo saved to /etc/yum.repos.d/OceanBase.repo
[root@oceanbase1 ~]# cat /etc/yum.repos.d/OceanBase.repo
# OceanBase.repo
[oceanbase.community.stable]
name=OceanBase-community-stable-el$releasever
baseurl=http://mirrors.aliyun.com/oceanbase/community/stable/el/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/oceanbase/RPM-GPG-KEY-OceanBase
[oceanbase.development-kit]
name=OceanBase-development-kit-el$releasever
baseurl=http://mirrors.aliyun.com/oceanbase/development-kit/el/$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/oceanbase/RPM-GPG-KEY-OceanBase

毕竟是阿里出来的,必然依托阿里云

3. 安装ob-deploy

  • rpm 安装
[root@oceanbase1 ~]# sudo yum install -y ob-deploy
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
oceanbase.community.stable  
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
oceanbase.communit
...
...
Running transaction
  Installing : ob-deploy-1.5.0-12.el7.x86_64                                                              1/1
Installation of obd finished successfully
Please source /etc/profile.d/obd.sh to enable it
  Verifying  : ob-deploy-1.5.0-12.el7.x86_64                                                              1/1
Installed:
  ob-deploy.x86_64 0:1.5.0-12.el7
Complete!

4. obd.sh

[root@oceanbase1 ~]# source /etc/profile.d/obd.sh
[root@oceanbase1 ~]# cat /etc/profile.d/obd.sh
#!/bin/bash
if [ -n "$BASH_VERSION" ]; then
    complete -F _obd_complete_func obd
fi
function _obd_reply_current_files() {
    filename=${cur##*/}
    dirname=${cur%*$filename}
    res=`ls -a -p $dirname 2>/dev/null | sed "s#^#$dirname#"`
    compopt -o nospace
    COMPREPLY=( $(compgen -o filenames -W "${res}" -- ${cur}) )
}
function _obd_reply_deploy_names() {
    res=`ls -p $obd_home/.obd/cluster 2>/dev/null | sed "s#/##"`
    COMPREPLY=( $(compgen -o filenames -W "${res}" -- ${cur}) )
}
function _obd_reply_tool_commands() {
    cmd_yaml=$obd_home/.obd/plugins/commands/0.1/command_template.yaml
    sections=`grep -En '^[0-9a-zA-Z]:' $cmd_yaml`
    for line in sections
    do
      num=`echo $line | awk -F ':' '{print $1}'`
      section=`echo $line | awk -F ':' '{print $2}'`
      if [[ "$section" == "commands" ]];then
        start_num=num
      elif [[ "$start_num" != "" ]];then
        end_num=num
      fi
    done
    if [[ "$end_num" == "" ]]; then
      end_num=`cat $cmd_yaml | wc -l`
    fi
    total_num=$((end_num - start_num))
    res=`grep -E '^commands:' $cmd_yaml -A $total_num | grep name | awk -F 'name:' '{print $2}' | sort -u | tr '\n' ' '`
    COMPREPLY=( $(compgen -o filenames -W "${res}" -- ${cur}) )
}
function _obd_complete_func
{
  local all_cmds
  declare -A all_cmds
  COMPREPLY=()
  obd_home=${OBD_HOME:-~}
  env_file=${obd_home}/.obd/.obd_environ
  cur="${COMP_WORDS[COMP_CWORD]}"
  prev="${COMP_WORDS[COMP_CWORD-1]}"
  all_cmds["obd"]="mirror cluster test update repo"
  all_cmds["obd cluster"]="autodeploy tenant start deploy redeploy restart reload destroy stop edit-config list display upgrade chst check4ocp reinstall"
  all_cmds["obd cluster *"]="_obd_reply_deploy_names"
  all_cmds["obd cluster tenant"]="create drop"
  all_cmds["obd cluster tenant *"]="_obd_reply_deploy_names"
  all_cmds["obd mirror"]="clone create list update enable disable"
  all_cmds["obd mirror clone"]="_obd_reply_current_files"
  all_cmds["obd repo"]="list"
  all_cmds["obd test"]="mysqltest sysbench tpch tpcc"
  all_cmds["obd test *"]="_obd_reply_deploy_names"
  if [ -f "$env_file" ] && [ "$(grep '"OBD_DEV_MODE": "1"' "$env_file")" != "" ]; then
      all_cmds["obd"]="${all_cmds[obd]} devmode env tool"
      all_cmds["obd devmode"]="enable disable"
      all_cmds["obd tool"]="command db_connect"
      all_cmds["obd tool db_connect"]="_obd_reply_deploy_names"
      all_cmds["obd tool command"]="_obd_reply_deploy_names"
      all_cmds["obd tool command *"]="_obd_reply_tool_commands"
      all_cmds["obd env"]="set unset show clear"
  fi
  case $prev in
  list)
    return 0
    ;;
  -p|--path);&
  -c|--config)
    _obd_reply_current_files
    ;;
  *)
    valid_len=$COMP_CWORD
    words=( ${COMP_WORDS[@]::valid_len} )
    index=valid_len
    while (( index >= 1 )); do
        target="${words[*]}"
        cmd=${all_cmds[$target]}
        if [[ "$cmd" != "" ]]
        then
          if [[ $cmd =~ ^_obd_reply.* ]]
          then
            $cmd
            break
          else
            COMPREPLY=( $(compgen -W "${cmd}" -- ${cur}) )
            break
          fi
        fi
        index=$(( index - 1))
        tmp=${words[*]::index}
        [[ "$tmp" != "" ]] && parent_cmd=${all_cmds[$tmp]}
        if [[ "$parent_cmd" =~ ^_obd_reply.*  || " $parent_cmd " =~ " ${words[index]} " ]]; then
          words[index]='*'
        else
          break
        fi
    done
    ;;
  esac
}

5. ob-deploy

看看ob-deploy都有什么

[root@oceanbase1 obd]# rpm -ql ob-deploy|head
/etc/profile.d/obd.sh
/usr/bin/obd
/usr/obd/config_parser
/usr/obd/config_parser/oceanbase
/usr/obd/config_parser/oceanbase-ce
/usr/obd/config_parser/oceanbase/cluster_config_parser.py
/usr/obd/example
/usr/obd/example/autodeploy
/usr/obd/example/autodeploy/distributed-example.yaml
/usr/obd/example/autodeploy/distributed-with-obproxy-and-obagent-example.yaml
[root@oceanbase1 obd]# pwd
/usr/obd
[root@oceanbase1 obd]# tree -L 2 .
.
├── config_parser
│   ├── oceanbase
│   └── oceanbase-ce -> oceanbase
├── example
│   ├── autodeploy
│   ├── distributed-example.yaml
│   ├── distributed-with-obproxy-example.yaml
│   ├── local-example.yaml
│   ├── mini-distributed-example.yaml
│   ├── mini-distributed-with-obproxy-example.yaml
│   ├── mini-local-example.yaml
│   ├── mini-single-example.yaml
│   ├── mini-single-with-obproxy-example.yaml
│   ├── obagent
│   ├── obproxy
│   ├── single-example.yaml
│   └── single-with-obproxy-example.yaml
├── lib
│   ├── executer
│   └── site-packages
├── mirror
│   └── remote
└── plugins
    ├── commands
    ├── general
    ├── mysqltest
    ├── obagent
    ├── ob-deploy
    ├── obproxy-ce
    ├── oceanbase
    ├── oceanbase-ce -> oceanbase
    ├── oceanbase-ce-libs
    ├── sysbench
    ├── tpcc
    ├── tpcds
    └── tpch
26 directories, 10 files

从文件内容可以推测出一些支持或待支持的功能

  • sysbench,tpcc,tpcds,tpch测试
  • yaml是各种配置文件
  • mirror存放的是repo文件
  • mysqltest mysql的一些测试

三、快速启动OceanBase数据库

1. mini-local-example.yaml

[root@oceanbase1 obd]# obd cluster deploy c1 -c ./example/mini-local-example.yaml
Update OceanBase-community-stable-el7 ok
Update OceanBase-development-kit-el7 ok
Download oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm (47.30 M):   0% [] ETA:  --:--:-                                                                                                                                           Download oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm (47.30 M):   0% [] ETA:  0:10:56                                                                                                                                           Download oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm (47.30 M):   0% [] ETA:  0:10:04                                                                                                                                           
...
...
Download oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm (47.30 M):  75% [] ETA:  0:01:43Download oceanbase-ce-3.1.4-10000092022071511.el7.x86_64.rpm (47.30 M): 100% [###############
Package oceanbase-ce-3.1.4-10000092022071511.el7 is available.
install oceanbase-ce-3.1.4 for local ok
+-------------------------------------------------------------------------------------------+
|                                          Packages                                         |
+--------------+---------+-----------------------+------------------------------------------+
| Repository   | Version | Release               | Md5                                      |
+--------------+---------+-----------------------+------------------------------------------+
| oceanbase-ce | 3.1.4   | 10000092022071511.el7 | c5cd94f4f190317b6a883c58a26460a506205ce6 |
+--------------+---------+-----------------------+------------------------------------------+
Repository integrity check ok
Parameter check ok
Open ssh connection ok
Cluster status check ok
Initializes observer work home ok
Remote oceanbase-ce-3.1.4-10000092022071511.el7-c5cd94f4f190317b6a883c58a26460a506205ce6 repo
Remote oceanbase-ce-3.1.4-10000092022071511.el7-c5cd94f4f190317b6a883c58a26460a506205ce6 repo
Try to get lib-repository
Download oceanbase-ce-libs-3.1.4-10000092022071511.el7.x86_64.rpm (155.26 K): 100% [#########
Package oceanbase-ce-libs-3.1.4-10000092022071511.el7 is available.
install oceanbase-ce-libs-3.1.4 for local ok
Remote oceanbase-ce-libs-3.1.4-10000092022071511.el7-6d5437b0cad486b55963f89b8ef3769af7995350
Remote oceanbase-ce-3.1.4-10000092022071511.el7-c5cd94f4f190317b6a883c58a26460a506205ce6 repo
c1 deployed

2. 启动

[root@oceanbase1 obd]# obd cluster start c1
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer x
[ERROR] OBD-1007: (127.0.0.1) open files must not be less than 20000 (Current value: 1024)
[ERROR] OBD-2000: (127.0.0.1) not enough memory. (Free: 6.4G, Need: 8.0G)
[WARN] (127.0.0.1) clog and data use the same disk (/)
  • 增大内存,8G默认不行
  • 加大openfiles
[root@oceanbase1 obd]# echo "* hard nofile 655350" >> /etc/security/limits.conf
[root@oceanbase1 obd]# echo "* soft nofile 655350" >> /etc/security/limits.conf

记得重新登录窗口

[root@oceanbase1 ~]# obd cluster start c1
Get local repositories ok
Search plugins ok
Open ssh connection ok
Load cluster param plugin ok
Check before start observer ok
Start observer ok
observer program health check ok
Connect to observer ok
Wait for observer init ok
+---------------------------------------------+
|                   observer                  |
+-----------+---------+------+-------+--------+
| ip        | version | port | zone  | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 3.1.4   | 2881 | zone1 | active |
+-----------+---------+------+-------+--------+
c1 running

3. 安装客户端

居然没有自带客户端

[root@oceanbase1 ~]# yum install mysql
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package mariadb.x86_64 1:5.5.68-1.el7 will be installed
--> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.68-1.el7 for package: 1:mariadb-5.5.68-1.el7.x86_64
--> Running transaction check
---> Package mariadb-libs.x86_64 1:5.5.60-1.el7_5 will be updated
---> Package mariadb-libs.x86_64 1:5.5.68-1.el7 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================================================================================================================================
 Package                                             Arch                                          Version                                                  Repository                                   Size
==============================================================================================================================================================================================================
Installing:
 mariadb                                             x86_64                                        1:5.5.68-1.el7                                           base                                        8.8 M
Updating for dependencies:
 mariadb-libs                                        x86_64                                        1:5.5.68-1.el7                                           base                                        760 k
Transaction Summary
==============================================================================================================================================================================================================
Install  1 Package
Upgrade             ( 1 Dependent package)
Total size: 9.5 M
Total download size: 8.8 M
Is this ok [y/d/N]: y
Downloading packages:
mariadb-5.5.68-1.el7.x86_64.rpm                                                                                                                                                        | 8.8 MB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
  Updating   : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                                                                                                                         1/3
  Installing : 1:mariadb-5.5.68-1.el7.x86_64                                                                                                                                                              2/3
  Cleanup    : 1:mariadb-libs-5.5.60-1.el7_5.x86_64                                                                                                                                                       3/3
  Verifying  : 1:mariadb-libs-5.5.68-1.el7.x86_64                                                                                                                                                         1/3
  Verifying  : 1:mariadb-5.5.68-1.el7.x86_64                                                                                                                                                              2/3
  Verifying  : 1:mariadb-libs-5.5.60-1.el7_5.x86_64                                                                                                                                                       3/3
Installed:
  mariadb.x86_64 1:5.5.68-1.el7
Dependency Updated:
  mariadb-libs.x86_64 1:5.5.68-1.el7
Complete!

4. 连接测试

[root@oceanbase1 ~]# mysql -h 127.0.0.1  -uroot -P2883
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
[root@oceanbase1 ~]# ps -ef|grep observer
root      67449      1 99 18:16 ?        01:56:45 /root/observer/bin/observer -r 127.0.0.1:2882:2881 -p 2881 -P 2882 -z zone1 -c 1 -d /root/observer/store -i lo -l INFO -o __min_full_resource_pool_memory=268435456,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,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4
root      70168  68227  0 18:45 pts/1    00:00:00 grep --color=auto observer
[root@oceanbase1 ~]# ps -ef|grep observer|grep -v grep
root      67449      1 99 18:16 ?        01:57:14 /root/observer/bin/observer -r 127.0.0.1:2882:2881 -p 2881 -P 2882 -z zone1 -c 1 -d /root/observer/store -i lo -l INFO -o __min_full_resource_pool_memory=268435456,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,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4
[root@oceanbase1 ~]# mysql -h 127.0.0.1  -uroot -P2883
ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)
[root@oceanbase1 ~]# ps -ef|grep observer|grep -v grep
root      67449      1 99 18:16 ?        01:57:31 /root/observer/bin/observer -r 127.0.0.1:2882:2881 -p 2881 -P 2882 -z zone1 -c 1 -d /root/observer/store -i lo -l INFO -o __min_full_resource_pool_memory=268435456,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,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4
[root@oceanbase1 ~]# grep port /usr/obd/example/mini-local-example.yaml
    # Please don't use hostname, only IP can be supported
    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.
[root@oceanbase1 ~]# mysql -h 127.0.0.1  -uroot -P2881
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 3221487971
Server version: 5.7.25 OceanBase 3.1.4 (r10000092022071511-b4bfa011ceaef428782dcb65ae89190c40b78c2f) (Built Jul 15 2022 11:45:14)
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MySQL [(none)]> select version();
+--------------------+
| version()          |
+--------------------+
| 3.1.4-OceanBase CE |
+--------------------+
1 row in set (0.01 sec)
MySQL [(none)]>
  • 这里不知道为什么官方文档给的端口是2883,实际是2881

四、总结

  • 虽然文档有一些小出入,但是整体安装来看还算顺畅,坑不多。
  • 居然没有自带客户端,有懂的麻烦帮忙解答一下。
  • 从obd文件内容看是封装了不少东西的,期待后续的测试。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
9月前
|
Kubernetes 容灾 调度
阿里云 ACK 高可用稳定性最佳实践
本文整理自2024云栖大会刘佳旭的演讲,主题为《ACK高可用稳定性最佳实践》。文章探讨了云原生高可用架构的重要性,通过Kubernetes的高可用案例分析,介绍了ACK在单集群高可用架构设计、产品能力和最佳实践方面的方法,包括控制面和数据面的高可用策略、工作负载高可用配置、企业版容器镜像服务高可用配置等内容,旨在帮助企业构建更加可靠和高效的应用运行环境。
|
10月前
|
机器学习/深度学习 人工智能 数据处理
深入浅出卷积神经网络(CNN)
【10月更文挑战第40天】本文旨在通过浅显易懂的语言和直观的示例,带领初学者了解并掌握卷积神经网络(CNN)的基本概念、结构以及在图像处理中的应用。我们将从CNN的核心组成讲起,逐步深入到网络训练的过程,最后通过一个实际的代码示例来展示如何利用CNN进行图像识别任务。无论你是编程新手还是深度学习爱好者,这篇文章都将为你打开一扇通往人工智能世界的新窗。
|
11月前
|
存储 分布式计算 负载均衡
分布式文件系统
【10月更文挑战第12天】
332 3
|
SQL 数据库 OceanBase
OceanBase数据库中,如果你想将数据备份到本地
OceanBase数据库中,如果你想将数据备份到本地
1232 1
|
机器学习/深度学习 编解码 自然语言处理
Transformer 系列| Transformer又搞事情!TransReID首次在ReID中应用,结果喜人(文末获取论文)(一)
Transformer 系列| Transformer又搞事情!TransReID首次在ReID中应用,结果喜人(文末获取论文)(一)
687 0
Transformer 系列| Transformer又搞事情!TransReID首次在ReID中应用,结果喜人(文末获取论文)(一)
|
机器学习/深度学习 存储 JSON
基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来
基于Labelstudio的UIE半监督智能标注方案(本地版),赶快用起来
|
Oracle 关系型数据库 数据库
RAC中,控制文件的快照文件必须能够被所有节点的数据实例访问到 ORA-00245
RMAN在使用控制文件备份的时候,备份开始点需要最新的检查点信息以及文件头信息。
234 0
|
SQL 存储 关系型数据库
OceanBase 4.0解读:从TPC-H性能测评看4.0与3.x差异
OceanBase 4.0解读:从TPC-H性能测评看4.0与3.x差异
896 0
OceanBase 4.0解读:从TPC-H性能测评看4.0与3.x差异
|
移动开发 Linux
Linux 下基于R语言打开hdf5(.h5)文件异常的处理方法
本文分享了如何在 Linux 中关闭 hdf5 文件锁定,让rhdf5 能够调用 HDF5库解析 h5文件的处理方法,以供参考
1134 0
CentOS7下安装hdf5r包
CentOS7下安装hdf5r包