一、环境配置(略)
参考我的另一篇文章,有详细介绍:oceanbase集群环境准备
二、下载安装包
从官网上下载: https://open.oceanbase.com/softwareCenter/community
下载速度快,但需要注册一个账号(免费)。
主要下载内容:oceanbase-ce、oceanbase-ce-libs、obproxy和obclient(可选)
三、定制安装位置
可以直接使用rpm包安装(会安装到/home/admin/oceanbase目录中),也可以先解压rpm包,然后将解压后的文件拷贝到其它目录下。
3.1 直接安装方式:
yum install oceanbase-ce* -y
yum install obclient-2.0.0-2.el7.x86_64.rpm
yum install obproxy-3.2.0-1.el7.x86_64.rpm
3.2 解压rpm方式安装
su - admin cd ~/soft [admin@master soft]$ rpm2cpio oceanbase-ce-3.1.2-10000392021123010.el7.x86_64.rpm |cpio -idmv ./home/admin/oceanbase/bin ./home/admin/oceanbase/bin/import_time_zone_info.py ./home/admin/oceanbase/bin/observer ./home/admin/oceanbase/etc ./home/admin/oceanbase/etc/oceanbase_upgrade_dep.yml ./home/admin/oceanbase/etc/priv_checker.py ./home/admin/oceanbase/etc/timezone_V1.log ./home/admin/oceanbase/etc/upgrade_checker.py ./home/admin/oceanbase/etc/upgrade_cluster_health_checker.py ./home/admin/oceanbase/etc/upgrade_post.py ./home/admin/oceanbase/etc/upgrade_post_checker.py ./home/admin/oceanbase/etc/upgrade_pre.py ./home/admin/oceanbase/etc/upgrade_rolling_post.py ./home/admin/oceanbase/etc/upgrade_rolling_pre.py 396039 blocks [admin@master soft]$ rpm2cpio oceanbase-ce-libs-3.1.2-10000392021123010.el7.x86_64.rpm |cpio -idmv ./home/admin/oceanbase/lib ./home/admin/oceanbase/lib/libaio.so ./home/admin/oceanbase/lib/libaio.so.1 ./home/admin/oceanbase/lib/libaio.so.1.0.1 ./home/admin/oceanbase/lib/libmariadb.so ./home/admin/oceanbase/lib/libmariadb.so.3 918 blocks 注:它的解压路径是相对路径,只会解压到当前rpm包所在的目录下 # 将解压后的目录移到正式目录下 mv ./home/admin/oceanbase ~/observer_c1 [admin@master observer_c1]$ tree . ├── bin │ ├── import_time_zone_info.py │ └── observer ├── etc │ ├── oceanbase_upgrade_dep.yml │ ├── priv_checker.py │ ├── timezone_V1.log │ ├── upgrade_checker.py │ ├── upgrade_cluster_health_checker.py │ ├── upgrade_post_checker.py │ ├── upgrade_post.py │ ├── upgrade_pre.py │ ├── upgrade_rolling_post.py │ └── upgrade_rolling_pre.py └── lib ├── libaio.so -> libaio.so.1.0.1 ├── libaio.so.1 -> libaio.so.1.0.1 ├── libaio.so.1.0.1 ├── libmariadb.so -> libmariadb.so.3 └── libmariadb.so.3 将~/observer_c1文件拷贝到其它节点中 # 每个节点上创建相同的目录 mkdir -p ~/data/observer_c1/{sstable,etc3} ~/redo/observer_c1/{clog,ilog,slog,etc2} for f in {clog,ilog,slog,etc2}; do ln -s ~/redo/observer_c1/$f ~/observer_c1/store/$f ; done for f in {sstable,etc3}; do ln -s ~/data/observer_c1/$f ~/observer_c1/store/$f; done # 每个节点上添加环境变量 su - admin echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/observer_c1/lib' >> ~/.bash_profile . ~/.bash_profile # 每个节点上启动observer cd ~/observer_c1 && bin/observer -i br1 -p 2881 -P 2882 -z zone1 -d ~/observer_c1/store -r '192.168.18.28:2882:2881' -c 20220228 -n obcluster1 -o "memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,memory_chunk_cache_size=128M,cpu_count=16,net_thread_count=4,datafile_size=50G,stack_size=1536K,config_additional_dir=~/data/observer_c1/etc3;~/redo/observer_c1/etc2" 注: 1)每个节点上都要执行,其中第三条命令在每个节点上只修改-z参数,节点1为 -z zone1,节点2为 -z zone2,以此类推。-z 参数指定该节点是属于哪个zone,每个zone都有完整的副本数据; 2)-r参数后跟的是集群主机列表,形式为<IP:rpc_port:mysql_port>,例如'172.20.249.52:2882:2881;172.20.249.49:2882:2881;172.20.249.51:2882:2881'。此实验中该集群只有1个节点,则只填1个节点的信息。 3)-o参数后面跟的是对主机资源的限制。后面 -o 参数不是必须的。这里主要是测试机器内存不足,所以需要指定一些影响内存的参数。如果您的机器内存足够(如大于 64G),则建议不添加-o参数;
复制
四、集群自举(初始化)
当 OceanBase 集群三个节点都正常启动,并且监听正常时,您可连接到任一节点(通过 2881 端口直连),进行自举(bootstrap 集群初始化)操作。 初始密码是空。
obclient -h 192.168.18.28 -u root -P 2881 -p -c -A 遇到的问题: MySQL [(none)]> show databases; ERROR 1146 (42S02): Table 'oceanbase.__all_database' doesn't exist 原因:需要初始化集群 # 初始化集群: set session ob_query_timeout=1000000000; alter system bootstrap ZONE 'zone1' SERVER '192.168.18.28:2882'; --单节点集群 --如果是三节点,则用以下命令 --alter system bootstrap ZONE 'zone1' SERVER '172.20.249.52:2882',ZONE 'zone2' SERVER '172.20.249.49:2882',ZONE 'zone3' SERVER 172.20.249.51:2882'; 此过程大概要执行几分钟。 # 设置相关密码 默认集群管理员(root@sys)的密码为空,登录后需要设置一个密码: alter user root identified by 'rootPwD' ; 设置OBPROXY 用户(proxyro)密码: 默认 OBPROXY 连接 OceanBase 集群时使用的用户名为 proxyro 。该用户不存在,需要手动创建。 create user proxyro identified by 'proxyroPwD' ; grant select on oceanbase.* to proxyro;
复制
五、安装 OBPROXY 代理
5.1 解压缩方式安装
rpm2cpio oceanbase-ce-libs-3.1.2-10000392021123010.el7.x86_64.rpm |cpio -idmv [admin@master soft]$ rpm2cpio obproxy-3.2.0-1.el7.x86_64.rpm |cpio -idmv ./home/admin/obproxy-3.2.0/bin ./home/admin/obproxy-3.2.0/bin/obproxy ./home/admin/obproxy-3.2.0/bin/obproxyd.sh 72258 blocks mv ./home/admin/obproxy-3.2.0 ~/
复制
5.2 启动 OBPROXY 进程
cd ~/obproxy-3.2.0/ && bin/obproxy -r "172.20.249.52:2881;172.20.249.49:2881;172.20.249.51:2881" -p 2883 \ -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" \ -c obcluster1 注意:-c参数后跟的集群名要与oceanbase启动参数中的-n参数指定的名称一致 单节点布署时-r参数中只指定1个节点即可。 cd ~/obproxy-3.2.0/ && bin/obproxy -r "192.168.18.28:2881" -p 2883 \ -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" \ -c obcluster1
复制
5.3 登录 OBPROXY 修改密码:
登录用户名:root@proxysys,端口:2883,初始密码:空。
obclient -h 192.168.18.28 -u root@proxysys -P 2883 -p > alter proxyconfig set obproxy_sys_password = 'proxysysPwD' ; 修改 OBPROXY 连接 OceanBase 集群用户 proxyro 的密码: > alter proxyconfig set observer_sys_password = 'proxyroPwD' ;
复制
5.4 查看是否部署成功:
obclient -h192.168.18.28 -uroot@sys#obcluster1 -P2883 -prootPwD -c -A oceanbase 注意:此处-p的密码是oceanbase集群中root的密码 [admin@master obproxy-3.2.0]$ obclient -h192.168.18.28 -uroot@sys#obcluster1 -P2883 -prootPwD -c -A oceanbase Welcome to the OceanBase. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.6.25 OceanBase 3.1.2 (r10000392021123010-d4ace121deae5b81d8f0b40afbc4c02705b7fc1d) (Built Dec 30 2021 02:47:29) 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 [oceanbase]> show databases; +--------------------+ | Database | +--------------------+ | oceanbase | | information_schema | | mysql | | SYS | | LBACSYS | | ORAAUDITOR | | test | +--------------------+ 7 rows in set (0.004 sec) MySQL [oceanbase]>
复制
最后修改时间:2022-03-01 10:41:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
👍
1年前

评论
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
谢谢您投稿第二期 OceanBase 技术征文大赛🌹本次活动将于3月11日截止征稿,欢迎您多多投稿!
3年前

评论