1 Ocean Base 2 Ocean Base 3 Ocean
目录 1. Ocean. Base 简介 2. Ocean. Base 集群安装 3. Ocean. Base 集群管理 www. antgroup. com
01 Ocean. Base简介 版本历史、功能架构 www. antgroup. com
Ocean. Base 安装准备 软硬件建议 硬件 软件 学习环境 生产环境 CPU >=16核 >=32核 内存 >=32 G >=256 G 磁盘 >=100 G SAS盘 >=1 T SSD盘 网卡 千兆,单IP 万兆,单IP OS Red. Hat/Cent. OS 6 u 或 7 u obproxy-1. 3. 3 -1506155. el 7. x 86_64. rpm oceanbase-1. 4. 60 -1571952. el 7. x 86_64. rpm snappy. x 86_64 lzo. x 86_64
Ocean. Base 安装准备 集群规划 OBProxy 192. 168. 1. 241: 2883 OBServer Zone 1 192. 168. 1. 241: 2881 OBServer Zone 2 192. 168. 1. 81: 3881 OBServer Zone 1 192. 168. 1. 241: 3881 OBServer Zone 3 192. 168. 1. 86: 2881 OBServer Zone 3 192. 168. 1. 86: 3881
Ocean. Base 安装准备 配置内核参数 • sudo vi /etc/sysctl. conf • sudo sysctl -p
Ocean. Base 安装准备 关闭防火墙和SELinux • sudo systemctl disable firewalld • sudo systemctl stop firewalld • sudo systemctl status firewalld • sudo vi /etc/selinux/config • SELINUX=disabled • sudo setenforce 0
Ocean. Base 安装准备 时间同步 • 判断时间同步误差 • clockdiff 192. 168. 1. 239 • ntpq -4 p • 配置NTP同步(客户端) • sudo vi /etc/ntp. conf • server 192. 168. 1. 239 • sudo service ntpd stop; • sudo ntpdate 192. 168. 1. 239; • sudo service ntpd start;
Ocean. Base 安装准备 用户ulimit设置 • sudo vi /etc/security/limits. conf • * soft nofile 655350 • * hard nofile 655350 • * soft stack 20480 • * hard stack 20480 • * soft nproc 655360 • * hard nproc 655360 • * soft core unlimited • * hard core unlimited • ulimit -a
Ocean. Base 安装准备 软件下载、安装(可选) • 软件获取 • wget https: //gw. alipayobjects. com/os/downloads/ossuploa d/ocp-release. zip • unzip ocp-release. zip • tar zxvf ocp-setup. tar. gz • cd ocp_yh • ls -lrth obproxy-1. 3. 3 -1506155. el 7. x 86_64. rpm oceanbase-1. 4. 60 -1571952. el 7. x 86_64. rpm • 软件内容 • rpm 2 cpio oceanbase-1. 4. 60 -1571952. el 7. x 86_64. rpm |cpio –div
Ocean. Base 安装准备 OBServer 进程启动 • 启动示例 • cd /home/admin/node 1/oceanbase && bin/observer -i eth 0 -P 2882 -p 2881 -z zone 1 -d /home/admin/node 1/oceanbase/store/obdemo -r '192. 168. 1. 241: 2882: 2881; 192. 168. 1. 86: 2882: 2881 ' -c 20190423 -n obdemo -o "cpu_count=24, memory_limit=100 G, datafile_size=200 G, config_additional_dir=/data/1/obdemo/et c 3; /data/log 1/obdemo/etc 2” • cd /home/admin/node 1/oceanbase && bin/observer • 参数说明 • -i 网卡名(使用上面的ip) • -P RPC端口 • -p 客户端连接端口 • -z ZONE名称,机器归属的zone名称 • -d 数据目录(包括数据文件和日志文件) • -r rootservice list, 至少三个ZONE机器信息,逗号分割。每个机器格式: ip: RPC端口: 客户端连接端口 • -c 集群ID标识 • -n 集群名字,连接集群时用 • -o 启动参数选项,选项之间逗号分隔 • 注意不要有多余的空格,不要有全角字符
Ocean. Base 集群管理 Ocean. Base 集群初始化和扩容 Ocean. Base集群初始化 Ocean. Base集群扩容 OBProxy安装 Ocean. Base租户运维 参数修改
Ocean. Base 集群管理 集群初始化、连接、扩容 • 初始化 • mysql -h 192. 168. 1. 241 -uroot -P 2881 -p • alter system bootstrap ZONE 'zone 1' SERVER '192. 168. 1. 241: 2882', ZONE 'zone 2' SERVER '192. 168. 1. 81: 2882', ZONE 'zone 3' SERVER '192. 168. 1. 86: 2882’; • 连接 • mysql -h 192. 168. 1. 241 -uroot@sys -P 2881 -p -c -A oceanbase • alter user root identified by 'rootpwd’; • 集群扩容 • mysql -h 192. 168. 1. 241 -uroot@sys -P 2881 -prootpwd -c -A oceanbase • alter system add server '192. 168. 1. 241: 3882' zone 'zone 1';
Ocean. Base集群管理 OBProxy安装、启动和连接 • sys租户内准备一个只读账户proxyro • 安装 • mkdir -p /home/admin/logs/obproxy/log /home/admin/logs/obproxy/minidump • sudo rpm -ivh obproxy-1. 3. 3 -1506155. el 7. x 86_64. rpm • 启动 • cd /opt/taobao/install/obproxy && bin/obproxy -r "192. 168. 1. 241: 2881; 192. 168. 1. 86: 2881" -p 2883 -o "enable_strict_kernel_release=false, enable_cluster_checkout=false" -c obdemo • cd /opt/taobao/install/obproxy && bin/obproxy • tail –f log/obproxy. [PID]. log • 连接 • mysql -h 192. 168. 1. 241 -uroot@sys#obdemo -P 2883 -prootpwd -c -A oceanbase • mysql -h 192. 168. 1. 241 -uobdemo: sys: root -P 2883 -prootpwd -c -A oceanbase
Ocean. Base集群管理 租户创建、运维和使用 • 租户是集群资源的子集,是逻辑的,等同于实例。 • 租户创建:定义资源单元规格 -> 创建资源池->创建租户 • create resource unit_4 c 20 g 512 g, max_cpu=4, max_memory='20 G', min_memory='10 G', max_iops=10000, min_iops=1000, max_session_num=1000000, max_disk_size=53687091200; • create resource pool_demo unit = 'unit_4 c 20 g 512 g', unit_num = 1; • create tenant t_obdemo resource_pool_list=('pool_demo’); • 租户使用 • mysql -h 192. 168. 1. 241 -uroot@t_obdemo#obdemo -P 2883 oceanbase -A –p • create database sysbenchtest; • grant all privileges on sysbenchtest. * to testuser@'%' identified by 'testpwd'; • 租户扩容 • alter resource pool_demo unit = 'unit_8 c 40 g 1024 g'; • alter resource pool_demo unit_num = 2;
Ocean. Base集群管理 参数修改 • 集群参数文件 • strings oceanbase/etc/ observer. config. bin • 集群参数(parameters)修改 • show parameters where name in ('enable_syslog_recycle', 'max_syslog_file_count'); • alter system set enable_syslog_recycle=True ; • alter system set max_syslog_file_count=5 ; • 租户变量(variables)修改 • show global variables where variable_name in ('ob_trx_timeout'); • set global ob_trx_timeout=20000;
Ocean. Base集群测试 sysbench 测试和监控 • Sysbench测试 • . /sysbench. /oltp_read_only. lua --mysql-db=sysbenchtest --mysql-host=192. 168. 1. 241 -mysql-port=2883 --mysql-user=testuser@t_obdemo#obdemo --mysql-password=testpwd --tables=8 --table_size=50000 --report-interval=5 --threads=8 --db-driver=mysql -time=300 --skip-trx=on --db-ps-mode=disable --create-secondary=off prepare • . /sysbench. /oltp_read_write. lua --mysql-db=sysbenchtest --mysql-host=192. 168. 1. 241 -mysql-port=2883 --mysql-user=testuser@t_obdemo#obdemo --mysql-password=testpwd --tables=8 --table_size=50000 --report-interval=5 --threads=2 --db-driver=mysql -time=300 --skip-trx=on --db-ps-mode=disable --create-secondary=off --mysql-ignoreerrors=6002, 6004, 4012, 2013, 4016, 1062 run • 监控 • grant select on oceanbase. * to monitor identified by 'monitor'; • python dooba -h 192. 168. 1. 241 -uobdemo: sys: monitor -P 2883 -pmonitor
Ocean. Base 学习资源 • OB官网:https: //oceanbase. alipay. com/ • OB官方微信公众号:Ocean. Base • OB微博: Ocean. Base数据库 • OB钉钉粉丝群:扫描右侧二维码进群 • OB云栖社区论坛:https: //bbs. aliyun. com/thread/439. html
- Slides: 29