oceanbase试用版部署过程:
1.安装包:
mini-ob-deploy.tar --官网提供下载。
2.操作系统和内存(centos6/7、8g内存)
[root@localhost admin]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
[root@localhost mini-ob-deploy]# free -g
total used free shared buff/cache available
Mem: 9 3 3 0 2 1
Swap: 3 0 3
[root@localhost mini-ob-deploy]#
3.具体环境:
windows7 + vmware workstation 12.5 上面部署虚拟机centos7.6
4.空间:
配置文件里面默认位置是 “/ob”,所以保证有20G的空闲空间就可以。
5.创建目录
mkdir /ob
chown admin:admin /ob
6.安装mysql客户端
6.1.配置在线yum
cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
yum clean all
yum makecache
6.2.利用yun安装mysql
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.35-3.el7.x86_64
rpm -qa|grep -i mysql
yum -y remove mysql-community-client-5.6.38-2.el7.x86_64
cd /usr/local/src
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
service mysqld restart
grep “password” /var/log/mysqld.log
mysql -uroot -p
alter user ‘root’@‘localhost’ identified by ‘scott1!ORACLE’;
SHOW VARIABLES LIKE ‘validate_password%’;
set global validate_password_policy=0;
set global validate_password_length=4;
alter user ‘root’@‘localhost’ identified by ‘oracle’;
flush privileges;
7.用户
userdel -r admin
groupadd admin
useradd -d /home/admin -s /bin/bash -m admin -g admin
passwd admin
8.初始化
cd mini-ob-deploy
./hap.py ob1.reboot
[root@localhost mini-ob-deploy]# ./hap.py ob1.reboot
2021-01-25 12:33:33.092451 call.py:3 CALL: top make_local_etc_dir
2021-01-25 12:33:33.129214 call.py:3 CALL: top ob1.reboot
2021-01-25 12:33:33.134750 call.py:3 CALL: top.ob1 local_reboot
2021-01-25 12:33:33.141705 call.py:3 CALL: top.ob1 force_stop
2021-01-25 12:33:33.149504 call.py:3 CALL: top.ob1 stop
2021-01-25 12:33:33.159115 call.py:3 CALL: top.ob1 all_server
2021-01-25 12:33:33.171689 call.py:3 CALL: top.ob1.obs0 stop
2021-01-25 12:33:33.183177 magic_ctrl.py:3 retry_loop: retryloop: timeout=10 interval = 0.1
2021-01-25 12:33:33.195832 magic_ctrl.py:6 retry_loop: #### tryloop try_stop ####
2021-01-25 12:33:33.208623 call.py:3 CALL: top.ob1.obs0 try_stop
2021-01-25 12:33:33.260250 magic_ctrl.py:9 retry_loop: #### tryloop success ####
2021-01-25 12:33:33.274215 call.py:3 CALL: top.ob1 sleep
2021-01-25 12:33:33.282187 misc-deps.py:34 sleep: sleep 3
2021-01-25 12:33:36.298662 call.py:3 CALL: top.ob1 cleanup
2021-01-25 12:33:36.311387 call.py:3 CALL: top.ob1 all_server
2021-01-25 12:33:36.325134 call.py:3 CALL: top.ob1.obs0 rmdir
2021-01-25 12:33:36.346576 call.py:3 CALL: top.ob1 mk_local_dir
2021-01-25 12:33:36.362228 call.py:3 CALL: top.ob1 mkdir
2021-01-25 12:33:36.371379 call.py:3 CALL: top.ob1 all_server
2021-01-25 12:33:36.382700 call.py:3 CALL: top.ob1.obs0 mkdir
2021-01-25 12:33:36.432465 call.py:3 CALL: top.ob1 local_sync
2021-01-25 12:33:36.442222 call.py:3 CALL: top.ob1 all_server
2021-01-25 12:33:36.453787 call.py:3 CALL: top.ob1.obs0 local_sync
2021-01-25 12:33:37.514447 call.py:3 CALL: top.ob1 prepare_proxy_cfg
2021-01-25 12:33:37.528844 call.py:3 CALL: top.ob1 start_servers
2021-01-25 12:33:37.540874 call.py:3 CALL: top.ob1 all_observer
2021-01-25 12:33:37.558626 call.py:3 CALL: top.ob1.obs0 start
/ob/ob1.obs0/bin/observer -P 2882 -p 2881 -z test -n ob1.root -c 1 -d /ob/ob1.obs0/store -l INFO -i lo -r 127.0.0.1:2882:2881 -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=50,__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=10G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1
rpc port: 2882
mysql port: 2881
zone: test
appname: ob1.root
cluster id: 1
data_dir: /ob/ob1.obs0/store
log level: INFO
devname: lo
rs list: 127.0.0.1:2882:2881
optstr: 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=50,__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=10G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1
[2021-01-25 12:33:37.787862] ERROR [LIB] pidfile_test (utility.cpp:1168) [25346][0][Y0-0000000000000000] [lt=0] fid file doesn’t exist(pidfile=“run/observer.pid”) BACKTRACE:0x7a794ba 0x7a24476 0x461333 0x434cf82 0x7a7d09c 0x4499979 0x7fe3a10123d5 0x44f8385
2021-01-25 12:33:37.791117 call.py:3 CALL: top.ob1 bootstrap
2021-01-25 12:33:37.800722 magic_ctrl.py:3 retry_loop: retryloop: timeout=864000 interval = 1
2021-01-25 12:33:37.810663 magic_ctrl.py:6 retry_loop: #### tryloop obs0.bootstrap ####
2021-01-25 12:33:37.821229 call.py:3 CALL: top.ob1 obs0.bootstrap
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)
2021-01-25 12:33:37.894130 magic_ctrl.py:12 retry_loop: tryloop fail: Fail: shell fail: ./mysql --prompt “OceanBase(\u@\d)>” -h 127.0.0.1 -P 2881 -uroot input=“alter system bootstrap REGION ‘sys_region’ ZONE ‘test’ SERVER ‘127.0.0.1:2882’; # ExceptionOnFail DiscardXOutput” ret=1
2021-01-25 12:33:38.906414 magic_ctrl.py:6 retry_loop: #### tryloop obs0.bootstrap ####
2021-01-25 12:33:38.916687 call.py:3 CALL: top.ob1 obs0.bootstrap
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘127.0.0.1’ (111)
2021-01-25 12:33:38.942463 magic_ctrl.py:12 retry_loop: tryloop fail: Fail: shell fail: ./mysql --prompt “OceanBase(\u@\d)>” -h 127.0.0.1 -P 2881 -uroot input=“alter system bootstrap REGION ‘sys_region’ ZONE ‘test’ SERVER ‘127.0.0.1:2882’; # ExceptionOnFail DiscardXOutput” ret=1
2021-01-25 12:33:40.779778 magic_ctrl.py:6 retry_loop: #### tryloop obs0.bootstrap ####
2021-01-25 12:33:40.797899 call.py:3 CALL: top.ob1 obs0.bootstrap
2021-01-25 12:34:59.192147 magic_ctrl.py:9 retry_loop: #### tryloop success ####
2021-01-25 12:34:59.215157 call.py:3 CALL: top.ob1 post_bootstrap
2021-01-25 12:34:59.224184 call.py:3 CALL: top.ob1 wait_service
2021-01-25 12:34:59.233337 magic_ctrl.py:3 retry_loop: retryloop: timeout=864000 interval = 1
2021-01-25 12:34:59.244370 magic_ctrl.py:6 retry_loop: #### tryloop obs0.wait_service ####
2021-01-25 12:34:59.255212 call.py:3 CALL: top.ob1 obs0.wait_service
2021-01-25 12:34:59.322415 magic_ctrl.py:9 retry_loop: #### tryloop success ####
2021-01-25 12:34:59.336342 call.py:3 CALL: top.ob1 exec_init_sql
2021-01-25 12:34:59.346277 call.py:3 CALL: top.ob1 obs0.sql
2021-01-25 12:35:17.281029 call.py:3 CALL: top.ob1 add_server
2021-01-25 12:35:17.307702 call.py:3 CALL: top.ob1 all_obs
2021-01-25 12:35:17.320996 call.py:3 CALL: top.ob1 exec_init_user_sql1
2021-01-25 12:35:17.329928 call.py:3 CALL: top.ob1 exec_init_user_sql2
2021-01-25 12:35:17.340349 call.py:3 CALL: top.ob1 obs0.mysql
2021-01-25 12:35:18.071720 call.py:3 CALL: top.ob1 start_proxy
2021-01-25 12:35:18.098175 call.py:3 CALL: top.ob1 all_proxy
2021-01-25 12:35:18.113131 call.py:3 CALL: top.ob1 check_bootstrap
2021-01-25 12:35:18.124929 call.py:3 CALL: top.ob1 obs0.check_bootstrap
[(‘force_stop’, [(‘obs0.stop’, ‘succ’)]),
(‘sleep’, None),
(‘cleanup’, [(‘obs0.rmdir’, 0)]),
(‘mk_local_dir’, 0),
(‘mkdir’, [(‘obs0.mkdir’, 0)]),
(‘local_sync’, [(‘obs0.local_sync’, 0)]),
(‘prepare_proxy_cfg’, ‘skip’),
(‘start_servers’, [(‘obs0.start’, 0)]),
(‘bootstrap’, ‘succ’),
(‘post_bootstrap’, None),
(‘wait_service’, ‘succ’),
(‘exec_init_sql’, 0),
(‘add_server’, []),
(‘exec_init_user_sql1’, ‘skip’),
(‘exec_init_user_sql2’, 0),
(‘start_proxy’, []),
(‘check_bootstrap’, 0)]
[root@localhost mini-ob-deploy]#
[root@localhost mini-ob-deploy]# ps -ef |grep obser
root 25347 1 99 12:33 ? 00:06:39 /ob/ob1.obs0/bin/observer -P 2882 -p 2881 -z test -n ob1.root -c 1 -d /ob/ob1.obs0/store -l INFO -i lo -r 127.0.0.1:2882:2881 -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=50,__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=10G,minor_freeze_times=500,stack_size=1536K,disk_io_thread_coun=1
root 25850 13289 0 12:37 pts/0 00:00:00 grep --color=auto obser
[root@localhost mini-ob-deploy]#
[root@localhost /]# netstat -ntlp |grep observer
tcp 0 0 0.0.0.0:2881 0.0.0.0:* LISTEN 25347/observer
tcp 0 0 0.0.0.0:2882 0.0.0.0:* LISTEN 25347/observer
[root@localhost /]#
9.验证安装
./hap.py ob1.obmysql
执行以下命令查看部署过程中初始化的视图。
show tables;
10.遇到的问题:
10.1./var/log/messages
localhost kernel: traps: observer[2798] trap invalid opcode ip:79a0f8c sp:7fcced1a6340 error:0 in observer[400000+af78000]
搜了一下,是cpu指令集缺失造成,最后也没解决,换了台服务器。
10.2.部署oceanbase会用到mysql客户端 ?
官网文档没说会用到mysql客户端,有些说也可以把mini-ob-deploy中的mysql拷贝到/bin/下面,但是我试了不行,所以我安装了完整的mysql。




