文章目录

  • 环境简介
  • 搭建准备
    • 资源文件与参考资料
    • 总体规划
    • 用户管理
    • 磁盘规划
    • 环境检查
      • 操作系统
      • CPU
      • 内存
      • 硬盘
      • 配置时钟同步
      • 依赖软件安装
      • 默认限制修改(此步未实际改动)
  • 开始手动安装OceanBase迷你版集群
    • 解压软件,并修改目录权限
    • 初始化目录
    • 启动OBSever进程

环境简介

学院资源给了很大力的支持,在内存方面直接每台虚拟机直接可以达到64GB!具体环境资源信息如下所示:

序号 虚拟机名称 CPU 内存 存储
1 BigDataMag 2 64 100
2 node2 2 64 100
3 node3 2 64 100

虚拟机的模板镜像均为:ubuntu16.04-hadoop

搭建准备

在具体开始搭建OB集群之前,首先进行必要的资源文件下载,资料搜集。同时对整体安装进行规划。

资源文件与参考资料

OB迷你版安装地址
下载完成后使用文件上传,上传到虚拟机。

OBCA认证实验

总体规划

目标基于3台虚拟机搭建OceanBase集群

OCP(OceanBase Cloud Platform)企业级数据库管理平台,支持自动部署OB集群。因其占用资源较大,在此处选择绕过OCP进行手动部署。OCP是可选组件,可以不装。使用两个黑屏工具ob client和mysql客户端来替代管理。
官网下载的ob2.2迷你试用版只需2c8g即可安装,在这里选择使用其部署一个1-1-1架构的集群。可以做功能性测试,性能性测试暂且还不行。

节点ip信息:

序号 虚拟机名称 IP 内存 zone名称
1 BigDataMag 192.168.110.192 64 zone1
2 node2 192.168.110.199 64 zone2
3 node3 192.168.110.18 64 zone3

端口:
ob集群内RPC服务端口 2882
observer客户端端口 2881
obproxy客户端端口 2883

用户管理

创建一个安装用户 admin
$ sudo adduser admin
切换用户为admin
$ su admin
使admin具有管理员权限
$ sudo adduser admin sudo
安装目录 /home/admin/oceanbase
集群名称 obdemo

磁盘规划

(1)、数据盘 /data/1
数据盘承载了基线数据,物理上只有一个基线数据文件block_file,在安装目录 store/sstable 下。
通过 OBServer 进程启动时一次性创建,大小根据启动参数 datafile_disk_percentage 采用磁盘预分配策略,默认值为 95%,创建后无法调整大小。

(2)、事务日志盘 /data/log1
事务日志盘包含多个固定大小的小文件,位于安装目录 store/{clog,ilog,slog},按需自动创建和清除,磁盘写到 80% 会触发自清除逻辑。
大小要求:内存大小3-4倍

(3)、OceanBase软件安装盘: /home
大小建议100G+
OceanBase 的 rpm 包安装目录在/home/admin/oceanbase 下,其中基线数据文件和事务日志文件会通过软连接指向上述的两个独立磁盘,
还有另外一个不断增长的文件是 OB 运行日志,在安装目录 log下。
OB 进程本身无法自删除运行日志,需要定时任务或运维脚本完成删除逻辑。

$ df -h |egrep home\|data

环境检查

操作系统

虚拟机操作系统为ubuntu,查看具体版本可以使用指令
$ cat /proc/version

软件环境:
Java环境:JDK 1.8
Python环境:2.7.12
MySQL客户端:14.14

CPU

$ lscpu

内存

详细:$ dmidecode -t memory
内存数量:$ dmidecode -t memory |grep -A16 "Memory Device$" |grep 'Size:.*MB' |wc -l
每个内存大小:$ dmidecode -t memory |grep -A16 "Memory Device$" |grep "Size:"

硬盘

硬盘数量、大小:$ fdisk -l |grep "Disk /dev/sd"

关闭防火墙
$ sudo ufw disable(默认已经关闭)

配置时钟同步

OceanBase是个分布式数据库,要求各个observer节点的时间保持同步,时间误差控制在100ms以内。
节点时间误差偏大时,后面初始化OceanBase集群会失败,或者现有的OceanBase集群会出现异常。
节点间的时间同步要靠Linux的NTP同步来保证。
检查时间误差使用clockdiff命令。
clockdiff 192.168.110.192
clockdiff 192.168.110.199
clockdiff 192.168.110.18

注:因虚拟机位于同一主机,故检测时间误差delta均不超过100ms,不再配置时间同步

依赖软件安装

tree:$ sudo apt install tree
clockdiff:$ sudo apt install iputils-clockdiff

默认限制修改(此步未实际改动)

使用命令ulimit可以查看用户会话的默认限制(在本机中无)
ubuntu下可以修改/etc/security/limits.conf文件实现对于限制的修改永久生效。

部分可能需要的修改内容:
$ vi /etc/security/limits.conf

* soft nofile 655360
* hard nofile 655360
* soft nproc 655360
* hard nproc 655360
* soft stack unlimited
* hard stack unlimited

开始手动安装OceanBase迷你版集群

解压软件,并修改目录权限

$ tar -xvf mini-ob-deploy.tar -C /home/admin/
$ cd /home/admin
$ ls -l查看解压后效果

总用量8
drwxr-xr-x. 11 121066 users 4096 Aug 20 11:39 mini-ob-deploy

可以修改目录权限
chown -R admin:admin /home/admin/mini-ob-deploy

drwxr-xr-x. 11 admin admin 4096 Aug 20 11:39 mini-ob-deploy

初始化目录

首先确保admin用户已经创建,相应的文件系统目录{/home/admin/ , /data/1 , /data/log1 }都存在,并且空间大小符合要求。
在ubuntu下,新建/data根目录为root权限,可以将其更改为admin权限。

mkdir -p /data/1/obdemo/{etc3,sort_dir,sstable}
mkdir -p /data/log1/obdemo/{clog,etc2,ilog,slog,oob_clog}
mkdir -p ~/oceanbase/{admin,bin,etc,store}
mkdir -p ~/oceanbase/store/obdemo
cp ~/mini-ob-deploy/bin/observer ~/oceanbase/bin/
for t in {etc3,sort_dir,sstable};do ln -s /data/1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done
for t in {clog,etc2,ilog,slog,oob_clog};do ln -s /data/log1/obdemo/$t /home/admin/oceanbase/store/obdemo/$t; done

注:可以编写shell脚本文件方便部署其他服务器,多条命令同时执行,在每条命令之后添加&&

检查目录:

启动OBSever进程

到每个节点的admin用户下,启动observer进程,注意修改 zone, IP, 网卡名字。

参数 含义
-i 后接网卡名称。如果有2个网卡,要指定业务IP所在的网卡名称。
-P RPC端口
-p 客户端连接断口
-z 后接Zone名称,可以自定义。Zone是逻辑机房概念,三台机器分属于不同机房,不能重复。
-d 后跟集群主目录,除集群名字obdemo外,其他不要变动。
-r 后跟一组服务器信息,格式是ip:RPC端口:客户端连接端口,如ip:2882:2881,分号分割,表示rootservice list信息。三台机器参数一致。
-c 后跟集群ID,一组数字,可以自定义。同一个集群,ID必须相同,不同集群不要重复即可。
-n 后跟集群名称,可以自定义,不同集群名称不要重复即可。
-o 后跟集群参数,需要根据实际情况设置。system_memory 指定OB内部保留内存,默认是30G,机器内存比较少的情况下把这个调小,影响就是可能在性能测试时有内存不足问题。
datafile_size 指定OceanBase数据文件sstable的大小(一次性初始化),根据/data/1/ 可用空间评估,建议不少于100G,同时又保留一些剩余空间.如果/data/1跟/data/log1本身就是一个文件系统(共用一个盘),那么务必保证留给/data/log1的空间大小是内存的2-4倍。config_additional_dir指定参数文件的冗余目录。

注意这里的参数设置,由于迷你版2c8g资源较少,因此需要特殊设置部分内存参数。参数里指定数据文件的大小、内存的大小,以方便个别环境资源不足想精确控制observer对资源的占用。

# su - admin
$ cd /home/admin/oceanbase zone1 201节点:
$ bin/observer -i eth0 -P 2882 -p 2881 -z zone1 -d /home/admin/oceanbase/store/obdemo -r '192.168.110.192:2882:2881;192.168.110.199:2882:2881;192.168.110.18:2882:2881' -c 20201109 -n obdemo -o "memory_limit=24G,cpu_count=2,datafile_size=40G,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
$
$ ps -ef|grep observer
$ netstat -ntlp |grep observer
$ df -h |egrep home\|data
$zone2 202节点:
$ bin/observer -i eth0 -P 2882 -p 2881 -z zone2 -d /home/admin/oceanbase/store/obdemo -r '192.168.0.220:2882:2881;192.168.0.213:2882:2881;192.168.0.162:2882:2881' -c 20201013 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,row_purge_thread_count=1,net_thread_count=1,enable_syslog_recycle=True,enable_merge_by_turn=FALSE,cpu_count=16,location_refresh_thread_count=2,max_syslog_file_count=3,major_freeze_duty_time=Disable,__easy_memory_limit=1G,schema_history_expire_time=1d,merge_thread_count=1,writing_throttling_trigger_percentage=70,_max_trx_size=2M,workers_per_cpu_quota=2,enable_separate_sys_clog=0,datafile_disk_percentage=90,__min_full_resource_pool_memory=536870912,system_memory=5G,memory_chunk_cache_size=128M,trace_log_slow_query_watermark=10s,writing_throttling_maximum_duration=1m,switchover_process_thread_count=1,datafile_size=40G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
$ ps -ef|grep observer
$ netstat -ntlp |grep observer
$ df -h |egrep home\|data
$ cat log/observer.logzone3 203节点:
$ bin/observer -i eth0 -P 2882 -p 2881 -z zone3 -d /home/admin/oceanbase/store/obdemo -r '192.168.0.220:2882:2881;192.168.0.213:2882:2881;192.168.0.162:2882:2881' -c 20201013 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,row_purge_thread_count=1,net_thread_count=1,enable_syslog_recycle=True,enable_merge_by_turn=FALSE,cpu_count=16,location_refresh_thread_count=2,max_syslog_file_count=3,major_freeze_duty_time=Disable,__easy_memory_limit=1G,schema_history_expire_time=1d,merge_thread_count=1,writing_throttling_trigger_percentage=70,_max_trx_size=2M,workers_per_cpu_quota=2,enable_separate_sys_clog=0,datafile_disk_percentage=90,__min_full_resource_pool_memory=536870912,system_memory=5G,memory_chunk_cache_size=128M,trace_log_slow_query_watermark=10s,writing_throttling_maximum_duration=1m,switchover_process_thread_count=1,datafile_size=40G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2"
$ ps -ef|grep observer
$ netstat -ntlp |grep observer
$ df -h |egrep home\|data
$ cat log/observer.log

备份:
‘192.168.110.192:2882:2881;192.168.110.199:2882:2881;192.168.110.18:2882:2881’ -c 20201109 -n obdemo -o “memory_limit=24G,cache_wash_threshold=1G,row_purge_thread_count=1,net_thread_count=1,enable_syslog_recycle=True,enable_merge_by_turn=FALSE,cpu_count=16,location_refresh_thread_count=2,max_syslog_file_count=3,major_freeze_duty_time=Disable,__easy_memory_limit=1G,schema_history_expire_time=1d,merge_thread_count=1,writing_throttling_trigger_percentage=70,_max_trx_size=2M,workers_per_cpu_quota=2,enable_separate_sys_clog=0,datafile_disk_percentage=90,__min_full_resource_pool_memory=536870912,system_memory=5G,memory_chunk_cache_size=128M,trace_log_slow_query_watermark=10s,writing_throttling_maximum_duration=1m,switchover_process_thread_count=1,datafile_size=40G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1,config_additional_dir=/data/1/obdemo/etc3;/data/log1/obdemo/etc2”

报错:

  1. error while loading shared libraries:libssl.so.10:cannot open shared object file:No such file or directory
    解答:修复一下软链接
    cd /lib/x86_64-linux-gnu/
    sudo ln -s libssl.so.1.0.0 libssl.so.10
    sudo ln -s libcrypto.so.1.0.0 libcrypto.so.10

OceanBase迷你版集群安装记录相关推荐

  1. zookepper单机集群安装记录

    zookepper安装记录 0.下载地址 1.解压 2.修改配置 3.创建日志目录.数据目录 4.复制zookeeper2181目录 zookeeper2182 zookeeper2183并修改zoo ...

  2. 基于麒麟SP10服务器版的Kubernetes集群安装

    Kubernetes集群安装 1.规划 图1-1 节点IP地址规划 2.系统初始化 (1)为master.node1和node2节点设置主机名. [root@master ~]# hostnamect ...

  3. 数据库周刊36丨2020年8月数据库排行;云厂商腾讯云增速第一;OceanBase集群安装;Oracle RAC调整网卡MTU值;不改代码解决sql性能问题;Mysql索引研究;TiDB电子书……

    热门资讯 [1.2020年8月数据库排行:PolarDB.GoldenDB发力,云数据库和自主可控成主流] [摘要]2020年8月号的国产数据库流行度排行榜发布.本月的前9位排序依旧没有任何变化.达梦 ...

  4. openstack集群安装(Rocky版)

    openstack集群安装(Rocky版) 开放栈文档:rocky安装指南 (openstack.org) 一.网络规划 在提供商网络架构中,所有实例都直接附加到提供商网络.在自助服务(私有)网络架构 ...

  5. Redis集群安装问题记录 RVM

    Redis集群安装问题记录 RVM 1.问题描述 2.问题分析 3.问题解决 4.总结 1.问题描述   使用gem安装redis出现以下错误. ERROR: Error installing red ...

  6. hadoop2.8配置_Hadoop 2.8集群安装及配置记录

    第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...

  7. ob集群安装部署相关

    一.黑屏(命令行)模式安装ob三节点集群 1.主机规划 主机名 ip 内存(G) cpu 安装软件 占用端口 mgr1 172.16.80.57 128 32 observer(zone1).obcl ...

  8. Hadoop集群安装与配置

    转载自Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否则请先查看Had ...

  9. 虚拟机CentOS 7.5.1804下无外网Hadoop HA集群安装

    网上有很多Hadoop HA集群安装的资料,我当时安装也是参考了官方文档和这些资料才安装成功的.由于使用的环境和软件版本可能有所不同,且因工作环境网络所限无法连接外网,加之记录一下自己的安装过程,不枉 ...

最新文章

  1. c/c++ 如何输入带空格的字符串
  2. FTP服务器的搭建及简单应用
  3. linux bash shell for 循环使用简介
  4. Rotate List
  5. 【转】使用ant来调用Jmeter,并定制运行时参数
  6. $HOME/$user/.权限导致用户无法登陆图形界面
  7. 上一家单位离职的原因_面试官:你为什么从上一家公司离职?小伙更换答案后,立马被录取...
  8. 网关报错:Load balancer does not have available server for client: xxx
  9. 最好用的两个oracle数据库客户端(OB11+osqledit)
  10. SmartSVN使用
  11. cmf php,php cmf
  12. “钢铁直猿”专属,5·20硬核表白方式三连击
  13. GG-Editor介绍-在线绘图软件
  14. 迷你播放器--第一阶段(4)--内存卡检索不到音乐的错误处理--程序内部空间管理
  15. oracle 控制文件 dump,将控制文件dump出来研究下内容
  16. 取消endnotes参考文献格式域的步骤_EndNote参考文献格式的更改(转载)
  17. 平板电脑安装软件_完美适配win7操作系统的平板电脑,专治软件不兼容
  18. PiPi 和 HuHu
  19. 哈尔滨工业大学计算机考研复试分数线,34所自划线院校2021考研复试分数线-2021哈尔滨工业大学考研分数线已公布...
  20. 资深数据科学家教你如何在求职过程中找到心仪工作

热门文章

  1. PUMA560MATLAB三维仿真模型,基于Matlab的puma560型机器人仿真
  2. python 安卓模拟点击_python模拟android屏幕高频点击工具
  3. Android 模拟串口通信过程
  4. Hack movies
  5. 损失函数-MSE-CEE
  6. thinksns的部署
  7. 最初的承諾都抵不過時間的洗禮。
  8. NOJ——1624死胡同(胡搞模拟)
  9. 关于重装系统无法连接网络问题的解决方法
  10. android 邮箱格式设置,Android对邮箱格式的验证