大佬,请问下,我创建obbinlog后状态一直为convert_running: No,怎么回事,我的observer版本是oceanbase-ce. 4.2.5.7 obproxy-ce .4.3.5.0 obbinlog-ce.4.3.5
binlog_instance.log (149.1 KB)
libobcdc.log (2.7 MB)
,创建语句
CREATE BINLOG FOR TENANT obcluster.jwwl TO USER root PASSWORD xxxx WITH CLUSTER URL http://10.209.66.49:8080/services?Action=ObRootServiceInfo&ObCluster=obcluster, REPLICATE NUM 2;
看日志信息是libobcdc 在拉 tenant jwwl(tenant_id=1002)的 sys LS(ls_id=1)data dict 时,按时间戳找起始 LSN 失败 你把同时间的observer.log日志发一下
ob上查一下这个信息
SHOW PARAMETERS LIKE ‘%rpc%authentication%’;
SHOW PARAMETERS LIKE ‘ssl_client_authentication’;
obclient(root@jwwl)[oceanbase]> SHOW PARAMETERS LIKE ‘%rpc%authentication%’;
±------±---------±-------------±---------±---------------------------------±----------±------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
±------±---------±-------------±---------±---------------------------------±----------±------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
| zone1 | observer | 10.209.66.49 | 2882 | rpc_server_authentication_method | NULL | ALL | specifies rpc server authentication method. ALL: support all authentication methods. NONE: without authentication. SSL_NO_ENCRYPT: authentication by SSL handshake but not encrypt the communication channel. SSL_IO: authentication by SSL handshake and encrypt the communication channel | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | ALL | 1 |
| zone1 | observer | 10.209.66.49 | 2882 | rpc_client_authentication_method | NULL | NONE | specifies rpc client authentication method. NONE: without authentication. SSL_NO_ENCRYPT: authentication by SSL handshake but not encrypt the communication channel. SSL_IO: authentication by SSL handshake and encrypt the communication channel | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | NONE | 1 |
±------±---------±-------------±---------±---------------------------------±----------±------±--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
2 rows in set (0.013 sec)
obclient(root@jwwl)[oceanbase]> SHOW PARAMETERS LIKE ‘ssl_client_authentication’;
±------±---------±-------------±---------±--------------------------±----------±------±-----------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
| zone | svr_type | svr_ip | svr_port | name | data_type | value | info | section | scope | source | edit_level | default_value | isdefault |
±------±---------±-------------±---------±--------------------------±----------±------±-----------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
| zone1 | observer | 10.209.66.49 | 2882 | ssl_client_authentication | NULL | True | enable server SSL support. Takes effect after ca/cert/key file is configured correctly. | OBSERVER | CLUSTER | DEFAULT | DYNAMIC_EFFECTIVE | False | 0 |
±------±---------±-------------±---------±--------------------------±----------±------±-----------------------------------------------------------------------------------------±---------±--------±--------±------------------±--------------±----------+
1 row in set (0.013 sec)
observer.log (32.8 MB)
应该给你配置的RPC 鉴权有关系
在 sys 租户执行:
ALTER SYSTEM SET ssl_client_authentication = False;
SHOW PARAMETERS LIKE 'ssl_invited_nodes';
-- 若 value 是 ALL,改成 NONE,避免仍强制 SSL
ALTER SYSTEM SET ssl_invited_nodes = 'NONE';
改完重建/重启 obbinlog 看看是否还有问题
ALTER SYSTEM SET ssl_client_authentication = False;这个修改了,倒是,成功了,安全要求开启ssl。请问下4.4.2有这个问题没得?
如果要求开启 那你给 libobcdc 打开 SSL,并配上与 Observer 同一套 ca/cert/key,例如:
ssl_client_authentication=1
rpc_client_authentication_method=SSL_NO_ENCRYPT
证书路径按你们 Observer 的 ssl_external_kms_info / wallet 配置,obbinlog不会自动从 OB 把这些项灌进 libobcdc,需要在创建 obbinlog 的 extra config 里显式带上。
我是用的obd命令方式部署的obbinlog, libobcdc 打开 SSL有没有相关的指导文档叻?
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000006619156 你看看这个文档 cdc配置项
https://www.oceanbase.com/docs/common-oblogproxy-doc-1000000006282204 binlog的配置 结合看看
好的,感谢
我把证书放到obbinlog目录里
ALTER BINLOG obcluster.jwwl SET EXTRA_OBCDC_CFG=ssl_client_authentication=1;
用这个修改报错
ALTER BINLOG bowhkrdfr3 SET EXTRA_OBCDC_CFG=ssl_client_authentication=1;
ALTER BINLOG jz8c9yje04 SET EXTRA_OBCDC_CFG=ssl_client_authentication=1;
我去修改了这个ssl_client_authentication参数,没生效
是我处理方式不对吗?
不能只写一个参数,需要把 SSL 相关的完整配置一起写进去:
ALTER BINLOG obcluster.jwwl SET EXTRA_OBCDC_CFG=‘ssl_client_authentication=1 rpc_client_authentication_method=SSL_NO_ENCRYPT ssl_ca_file=/data/oceanbase/obbinlog-ce/wallet/ca.pem ssl_cert_file=/data/oceanbase/obbinlog-ce/wallet/client-cert.pem ssl_key_file=/data/oceanbase/obbinlog-ce/wallet/client-key.pem’;
修改后必须重启实例
STOP BINLOG INSTANCE ‘<instance_name>’;
START BINLOG INSTANCE ‘<instance_name>’;
ALTER BINLOG obcluster.jwwl SET EXTRA_OBCDC_CFG=ssl_client_authentication=1 rpc_client_authentication_method=SSL_NO_ENCRYPT ssl_ca_file=/data/oceanbase/obbinlog-ce/wallet/ca.pem ssl_cert_file=/data/oceanbase/obbinlog-ce/wallet/client-cert.pem ssl_key_file=/data/oceanbase/obbinlog-ce/wallet/client-key.pem;
用上面的这条命令修改任务,报错
ALTER BINLOG bowhkrdfr3 SET EXTRA_OBCDC_CFG=ssl_client_authentication=1 rpc_client_authentication_method=SSL_NO_ENCRYPT ssl_ca_file=/data/oceanbase/obbinlog-ce/wallet/ca.pem ssl_cert_file=/data/oceanbase/obbinlog-ce/wallet/client-cert.pem ssl_key_file=/data/oceanbase/obbinlog-ce/wallet/client-key.pem;
ALTER BINLOG jz8c9yje04 SET EXTRA_OBCDC_CFG=ssl_client_authentication=1 rpc_client_authentication_method=SSL_NO_ENCRYPT ssl_ca_file=/data/oceanbase/obbinlog-ce/wallet/ca.pem ssl_cert_file=/data/oceanbase/obbinlog-ce/wallet/client-cert.pem ssl_key_file=/data/oceanbase/obbinlog-ce/wallet/client-key.pem;
用上面这两个修改实例,执行没得问题,但是下面两条命令重启报下面的错误
start BINLOG INSTANCE bowhkrdfr3;
start BINLOG INSTANCE jz8c9yje04;
你这个是怎么连接修改 你发一下连接串 把日志也发一下
我是登陆到obclient -h10.209.66.49 -P2983去修改的
libobcdc (2).log (1.3 MB)
binlog_instance.log (14.4 KB)
observer.log (31.0 MB)
SHOW BINLOG INSTANCES;
你查一下 状态看看
obclient(root@sys@sys)[(none)]> SHOW BINLOG INSTANCES;
±-----------±-----------±----------±-------------±-----±-----±-------±------±--------±--------±--------------±------------±-------------±----------------±--------------±------------±------------±-------------±---------------------------±----------------------------±--------±----------------------------±-----------------------------------------------±---------+
| name | ob_cluster | ob_tenant | ip | port | zone | region | group | running | state | obcdc_running | obcdc_state | service_mode | convert_running | convert_delay | convert_rps | convert_eps | convert_iops | convert_checkpoint_current | convert_checkpoint_earliest | dumpers | last_dumper_disconnect_time | version | odp_addr |
±-----------±-----------±----------±-------------±-----±-----±-------±------±--------±--------±--------------±------------±-------------±----------------±--------------±------------±------------±-------------±---------------------------±----------------------------±--------±----------------------------±-----------------------------------------------±---------+
| jz8c9yje04 | obcluster | jwwl | 10.209.66.49 | 8143 | | | | No | Offline | No | Offline | disabled | No | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 4.3.5-836e752c3cfc137ae8606584d667681fc8fa50db | NULL |
| bowhkrdfr3 | obcluster | jwwl | 10.209.66.49 | 8142 | | | | No | Offline | No | Offline | disabled | No | NULL | NULL | NULL | NULL | NULL | NULL | NULL | NULL | 4.3.5-836e752c3cfc137ae8606584d667681fc8fa50db | NULL |
±-----------±-----------±----------±-------------±-----±-----±-------±------±--------±--------±--------------±------------±-------------±----------------±--------------±------------±------------±-------------±---------------------------±----------------------------±--------±----------------------------±-----------------------------------------------±---------+
证书放到每个实例 work path下的 wallet/下```
ALTER BINLOG obcluster.jwwl SET EXTRA_OBCDC_CFG=
ssl_client_authentication=1 ssl_external_kms_info=file rpc_client_authentication_method=SSL_NO_ENCRYPT;
你这样执行 看看 之前的命令 可能有问题
可以了,感谢官方大佬支持,谢谢。







