练习内容
请记录并分享下列内容:
服务器规划:
服务器一台
|
名称 |
说明 |
|
操作系统 |
CentOS Linux release 7.8.2003 |
|
处理器 |
4 v |
|
内存 |
12 g |
|
硬盘 |
80 g |
初始化服务器
禁用防火墙
停止 firewall
systemctl stop firewalld.service
禁止 firewall 开机启动
systemctl disable firewalld.service
禁用透明大页
临时禁用
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
内核参数修改
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
vi /etc/sysctl.conf
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_slow_start_after_idle=0
vm.swappiness = 0
vm.min_free_kbytes = 2097152
vm.max_map_count=655360
fs.aio-max-nr=1048576
sysctl -p
添加用户admin
useradd admin
echo " admin123 " | passwd --stdin admin
从官网下载安装包上上传主机
手动安装,缺少依赖的需要配置yum安装其依赖包
安装Oceanbase server
安装Obproxy
创建
chown admin:admin -R /home/admin/oceanbase/
su - admin
mkdir -p ~/oceanbase/store/obdemo /data/obdemo/{sstable,etc3} /redo/obdemo/{clog,ilog,slog,etc2}
for f in {clog,ilog,slog,etc2}; do ln -s /redo/obdemo/$f ~/oceanbase/store/obdemo/$f ; done
for f in {sstable,etc3}; do ln -s /data/obdemo/$f ~/oceanbase/store/obdemo/$f; done
我们看一下初始化后的目录结构。这个目录结构很重要,有时候进程 observer 启动失败就跟目录结构和权限不对有关。
查看目录结构
tree ~/oceanbase/store/ /data/ /redo/
启动 OBSERVER 进程
su - admin
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/oceanbase/lib' >> ~/.bash_profile
. ~/.bash_profile
cd ~/oceanbase
bin/observer -i ens33 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.163.113:2882:2881' -c 20240313 -n obdemo -o "memory_limit=8G,cache_wash_threshold=1G,__min_full_resource_pool_memory=268435456,system_memory=3G,cpu_count=8,net_thread_count=4,datafile_size=20G,stack_size=536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2"
第一次执行报错,修改参数再次执行成功:
bin/observer -i ens33 -p 2881 -P 2882 -z zone1 -d ~/oceanbase/store/obdemo -r '192.168.163.113:2882:2881' -c 20240313 -n obdemo -o "memory_limit=10G,cache_wash_threshold=1G,__min_full_resource_pool_memory=2147483648,system_memory=3G,cpu_count=8,net_thread_count=4,datafile_size=20G,stack_size=536K,config_additional_dir=/data/obdemo/etc3;/redo/obdemo/etc2"
检查端口是否正常
集群初始化
安装obclient
配置环境变量
通过 2881 端口直连,进行自举( bootstrap 集群初始化)操作。 初始密码是空。
集群管理员( root@sys )密码默认集群管理员( root@sys )的密码是空的,这里需要设置一个密码
alter user root identified by 'rootPWD123' ;
OBPROXY 用户( proxyro )密码默认 OBPROXY 连接 OceanBase 集群使用用户 proxyro 。这个用户不存在,需要创建
grant select on oceanbase.* to proxyro identified by 'rootPWD123' ;
启动 obproxy,并检查端口
cd ~/obproxy-4.0.0/ && bin/obproxy -r "192.168.163.113:2881" -p 2883 -o "enable_strict_kernel_release=false,enable_cluster_checkout=false,enable_metadb_used=false" -c obdemo
登录用户名: root@proxysys , 端口: 2883 ,初始密码:空。
obclient -h 192.168.163.113 -u root@proxysys -P 2883 -p
报错说是有bug 使用mysql 登录
修改 OBPROXY 用户密码是通过修改参数的方式,命令是: alter proxyconfig set 。
alter proxyconfig set obproxy_sys_password = 'rootPWD123' ;
同时还需要修改 OBPROXY 连接 OceanBase 集群用户 proxyro 的密码。这样 OBPROXY 才能跟 OceanBase 集群正常连接。这个密码就是前面 OceanBase 集群初始化后创建的用户 proxyro 的密码。
alter proxyconfig set observer_sys_password = 'rootPWD123' ;
退出,通过 OBPROXY 连接 OceanBase 集群看看, 如果能查看所有会话,则说明 OBPROXY 部署成功。
通过proxy登录
mysql -h192.168.163.113 -uroot@sys#obdemo -P2883 -prootPWD123 -c -A oceanbase
修改资源规格,创建资源规格,创建资源规格池,创建 obmysql tenant :
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30349701/viewspace-3008904/ ,如需转载,请注明出处,否则将追究法律责任。