一台机器部署集群,提示obshell_port端口2886被占用。

这是我的配置文件:

grep -v “#” obtest-components-min.yaml

user:
username: root
oceanbase-ce:
servers:
- name: server1
ip: 192.168.176.200
- name: server2
ip: 192.168.176.200
- name: server3
ip: 192.168.176.200
global:
cluster_id: 1
cpu_count: 16
production_mode: false
tenant_name: ocp
max_cpu: 1
memory_size: 2G
server1:
home_path: /root/obwork/observer1
data_dir: /data/oceanbase/obs1/data
redo_dir: /data/oceanbase/obs1/redo
zone: zone1
server2:
home_path: /root/obwork/observer2
data_dir: /data/oceanbase/obs2/data
redo_dir: /data/oceanbase/obs2/redo
zone: zone2
server3:
home_path: /root/obwork/observer3
data_dir: /data/oceanbase/obs3/data
redo_dir: /data/oceanbase/obs3/redo
zone: zone3
obproxy-ce:
depends:
- oceanbase-ce
servers:
- 192.168.176.200
global:
home_path: /root/obwork/obproxy
enable_cluster_checkout: false
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
obagent:
depends:
- oceanbase-ce
servers:
- name: server1
ip: 192.168.176.200
obshell_port: 2886
home_path: /root/obwork/obagent1
- name: server2
ip: 192.168.176.200
obshell_port: 2986
home_path: /root/obwork/obagent2
- name: server3
ip: 192.168.176.200
obshell_port: 3086
home_path: /root/obwork/obagent3
global:
ocp-express:
depends:
- oceanbase-ce
- obproxy-ce
- obagent
servers:
- 192.168.176.200
global:
home_path: /root/obwork/ocp-express

我已经单独设置obshell_port端口为2886,2986,3086,但启动集群的时候报错:

Check before start observer x
[ERROR] OBD-1000: Configuration conflict server2(192.168.176.200):2886 port is used for server1(192.168.176.200)'s obshel
l_port, Please adjust the configuration to avoid port conflicts[ERROR] OBD-1000: Configuration conflict server3(192.168.176.200):2886 port is used for server1(192.168.176.200)'s obshel
l_port, Please adjust the configuration to avoid port conflicts

请问如何修改?我没有那么多服务器,只想单机体验一下集群完整版的功能。谢谢。

看下进程是否存在 netstat -lnutp |grep 2886 && ps -ef obshell

可以尝试下使用这种方式部署单机集群 通过 OBD 白屏部署 OceanBase 集群-OceanBase 数据库-OceanBase文档中心-分布式数据库使用文档

以下是我的操作:

[root@Host-192-168-176-200 ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:60000 0.0.0.0:* LISTEN 41673/sshd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 41673/sshd
tcp6 0 0 :::3326 :::* LISTEN 59598/mysqld
tcp6 0 0 :::3327 :::* LISTEN 60775/mysqld
tcp6 0 0 :::60000 :::* LISTEN 41673/sshd
tcp6 0 0 :::33060 :::* LISTEN 59598/mysqld
tcp6 0 0 :::3306 :::* LISTEN 50267/mysqld
tcp6 0 0 :::22 :::* LISTEN 41673/sshd
[root@Host-192-168-176-200 ~]# cat obtest-components-min.yaml

Only need to configure when remote login is required

user:
username: root
password: 123456

key_file: your ssh-key file path if need

port: your ssh port, default 22

timeout: ssh connection timeout (second), default 30

oceanbase-ce:
servers:
- name: server1
# Please don’t use hostname, only IP can be supported
ip: 192.168.176.200
- name: server2
ip: 192.168.176.200
- name: server3
ip: 192.168.176.200
global:
# Starting from observer version 4.2, the network selection for the observer is based on the ‘local_ip’ parameter, an
d the ‘devname’ parameter is no longer mandatory. # If the ‘local_ip’ parameter is set, the observer will first use this parameter for the configuration, regardless of
the ‘devname’ parameter. # If only the ‘devname’ parameter is set, the observer will use the ‘devname’ parameter for the configuration.
# If neither the ‘devname’ nor the ‘local_ip’ parameters are set, the ‘local_ip’ parameter will be automatically assi
gned the IP address configured above. # devname: eth0
cluster_id: 1
# please set memory limit to a suitable value which is matching resource.
memory_limit: 6G # The maximum running memory for an observer
system_memory: 1G # The reserved system memory. system_memory is reserved for general tenants. The default value is 3
0G. datafile_size: 20G # Size of the data file.
log_disk_size: 15G # The size of disk space used by the clog files.
cpu_count: 16
production_mode: false
enable_syslog_wf: false # Print system logs whose levels are higher than WARNING to a separate log file. The default
value is true. enable_syslog_recycle: true # Enable auto system log recycling or not. The default value is false.
max_syslog_file_count: 4 # The maximum number of reserved log files before enabling auto recycling. The default value
is 0. # Cluster name for OceanBase Database. The default value is obcluster. When you deploy OceanBase Database and obproxy
, this value must be the same as the cluster_name for obproxy. # appname: obcluster
# root_password: # root user password
# proxyro_password: # proxyro user pasword, consistent with obproxy’s observer_sys_password, can be empty
# ocp_meta_db: ocp_express # The database name of ocp express meta
# ocp_meta_username: meta # The username of ocp express meta
# ocp_meta_password: ‘’ # The password of ocp express meta
# ocp_agent_monitor_password: ‘’ # The password for obagent monitor user
ocp_meta_tenant: # The config for ocp express meta tenant
tenant_name: ocp
max_cpu: 1
memory_size: 2G
log_disk_size: 7680M # The recommend value is (4608 + (expect node num + expect tenant num) * 512) M.
server1:
mysql_port: 2881 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after th
e cluster is started. rpc_port: 2882 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the
cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a require
d field. home_path: /root/obwork/observer1
# The directory for data storage. The default value is $home_path/store.
data_dir: /data/oceanbase/obs1/data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
redo_dir: /data/oceanbase/obs1/redo
zone: zone1
server2:
mysql_port: 2981 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after th
e cluster is started. rpc_port: 2982 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the
cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a requir
ed field. home_path: /root/obwork/observer2
# The directory for data storage. The default value is $home_path/store.
data_dir: /data/oceanbase/obs2/data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
redo_dir: /data/oceanbase/obs2/redo
zone: zone2
server3:
mysql_port: 3081 # External port for OceanBase Database. The default value is 2881. DO NOT change this value after th
e cluster is started. rpc_port: 3082 # Internal port for OceanBase Database. The default value is 2882. DO NOT change this value after the
cluster is started. # The working directory for OceanBase Database. OceanBase Database is started under this directory. This is a requir
ed field. home_path: /root/obwork/observer3
# The directory for data storage. The default value is $home_path/store.
data_dir: /data/oceanbase/obs3/data
# The directory for clog, ilog, and slog. The default value is the same as the data_dir value.
redo_dir: /data/oceanbase/obs3/redo
zone: zone3
obproxy-ce:

Set dependent components for the component.

When the associated configurations are not done, OBD will automatically get the these configurations from the depende

nt components. depends:
- oceanbase-ce
servers:
- 192.168.176.200
global:
listen_port: 2883 # External port. The default value is 2883.
prometheus_listen_port: 2884 # The Prometheus port. The default value is 2884.
home_path: /root/obwork/obproxy
# oceanbase root server list
# format: ip:mysql_port;ip:mysql_port. When a depends exists, OBD gets this value from the oceanbase-ce of the depend
s. # rs_list: 192.168.1.2:2881;192.168.1.3:2881;192.168.1.4:2881
enable_cluster_checkout: false
# observer cluster name, consistent with oceanbase-ce’s appname. When a depends exists, OBD gets this value from the
oceanbase-ce of the depends. # cluster_name: obcluster
skip_proxy_sys_private_check: true
enable_strict_kernel_release: false
# obproxy_sys_password: # obproxy sys user password, can be empty. When a depends exists, OBD gets this value from th
e oceanbase-ce of the depends. # observer_sys_password: # proxyro user pasword, consistent with oceanbase-ce’s proxyro_password, can be empty. When
a depends exists, OBD gets this value from the oceanbase-ce of the depends.obagent:
depends:
- oceanbase-ce
servers:
- name: server1
# Please don’t use hostname, only IP can be supported
ip: 192.168.176.200
port: 2886
home_path: /root/obwork/obagent1
- name: server2
ip: 192.168.176.200
port: 2986
home_path: /root/obwork/obagent2
- name: server3
ip: 192.168.176.200
port: 3086
home_path: /root/obwork/obagent3
global:
#home_path: /root/obwork/obagent
ocp-express:
depends:
- oceanbase-ce
- obproxy-ce
- obagent
servers:
- 192.168.176.200
global:
# The working directory for prometheus. prometheus is started under this directory. This is a required field.
home_path: /root/obwork/ocp-express
log_dir: /root/obwork/ocp-express/log # The log directory of ocp express server. The default value is {home_path}/log
. memory_size: 1G # The memory size of ocp-express server. The recommend value is 512MB * (expect node num + expect te
nant num) * 60MB. # logging_file_total_size_cap: 10G # The total log file size of ocp-express server
# logging_file_max_history: 1 # The maximum of retention days the log archive log files to keep. The default value is
unlimited[root@Host-192-168-176-200 ~]#

[root@Host-192-168-176-200 ~]# obd cluster deploy obtest -c obtest-components-min.yaml
±-------------------------------------------------------------------------------------------+
| Packages |
±-------------±--------±-----------------------±-----------------------------------------+
| Repository | Version | Release | Md5 |
±-------------±--------±-----------------------±-----------------------------------------+
| oceanbase-ce | 4.2.2.1 | 101000012024030709.el7 | 3e30b9c0f183a5ef764ab754d5e517a671d96b38 |
| obproxy-ce | 4.2.3.0 | 3.el7 | 0490ebc04220def8d25cb9cac9ac61a4efa6d639 |
±-------------±--------±-----------------------±-----------------------------------------+
Repository integrity check ok
Parameter check ok
Cluster status check ok
Initializes observer work home ok
Initializes obproxy work home ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository install ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository lib check !!
Remote obproxy-ce-4.2.3.0-3.el7-0490ebc04220def8d25cb9cac9ac61a4efa6d639 repository install ok
Remote obproxy-ce-4.2.3.0-3.el7-0490ebc04220def8d25cb9cac9ac61a4efa6d639 repository lib check ok
Try to get lib-repository
Remote oceanbase-ce-libs-4.2.2.1-101000012024030709.el7-200f162f275689518f6b4f9ea8b6836ca874358a repository install ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository lib check ok
obtest deployed
Please execute obd cluster start obtest to start
Trace ID: aa5243b2-eb4a-11ee-a2ca-246e96a48255
If you want to view detailed obd logs, please run: obd display-trace aa5243b2-eb4a-11ee-a2ca-246e96a48255

[root@Host-192-168-176-200 ~]# obd cluster deploy obtest -c obtest-components-min.yaml
±-------------------------------------------------------------------------------------------+
| Packages |
±-------------±--------±-----------------------±-----------------------------------------+
| Repository | Version | Release | Md5 |
±-------------±--------±-----------------------±-----------------------------------------+
| oceanbase-ce | 4.2.2.1 | 101000012024030709.el7 | 3e30b9c0f183a5ef764ab754d5e517a671d96b38 |
| obproxy-ce | 4.2.3.0 | 3.el7 | 0490ebc04220def8d25cb9cac9ac61a4efa6d639 |
±-------------±--------±-----------------------±-----------------------------------------+
Repository integrity check ok
Parameter check ok
Cluster status check ok
Initializes observer work home ok
Initializes obproxy work home ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository install ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository lib check !!
Remote obproxy-ce-4.2.3.0-3.el7-0490ebc04220def8d25cb9cac9ac61a4efa6d639 repository install ok
Remote obproxy-ce-4.2.3.0-3.el7-0490ebc04220def8d25cb9cac9ac61a4efa6d639 repository lib check ok
Try to get lib-repository
Remote oceanbase-ce-libs-4.2.2.1-101000012024030709.el7-200f162f275689518f6b4f9ea8b6836ca874358a repository install ok
Remote oceanbase-ce-4.2.2.1-101000012024030709.el7-3e30b9c0f183a5ef764ab754d5e517a671d96b38 repository lib check ok
obtest deployed
Please execute obd cluster start obtest to start
Trace ID: aa5243b2-eb4a-11ee-a2ca-246e96a48255
If you want to view detailed obd logs, please run: obd display-trace aa5243b2-eb4a-11ee-a2ca-246e96a48255
[root@Host-192-168-176-200 ~]#
[root@Host-192-168-176-200 ~]#
[root@Host-192-168-176-200 ~]#
[root@Host-192-168-176-200 ~]#
[root@Host-192-168-176-200 ~]# obd cluster start obtest
Get local repositories ok
Search plugins ok
Load cluster param plugin ok
Open ssh connection ok
Check before start observer x
[ERROR] OBD-1000: Configuration conflict server2(192.168.176.200):2886 port is used for server1(192.168.176.200)'s obshel
l_port, Please adjust the configuration to avoid port conflicts[ERROR] OBD-1000: Configuration conflict server3(192.168.176.200):2886 port is used for server1(192.168.176.200)'s obshel
l_port, Please adjust the configuration to avoid port conflicts[WARN] OBD-1007: (192.168.176.200) The recommended number of open files is 655350 (Current value: 65535)
[WARN] OBD-1007: (192.168.176.200) The recommended number of open files is 655350 (Current value: 65535)
[WARN] OBD-1007: (192.168.176.200) The recommended number of open files is 655350 (Current value: 65535)
[WARN] OBD-1007: (192.168.176.200) The recommended number of max user processes is 655350 (Current value: 120000)
[WARN] OBD-1007: (192.168.176.200) The recommended number of max user processes is 655350 (Current value: 120000)
[WARN] OBD-1007: (192.168.176.200) The recommended number of max user processes is 655350 (Current value: 120000)
[WARN] OBD-1007: (192.168.176.200) The recommended number of core file size is unlimited (Current value: 0)
[WARN] OBD-1007: (192.168.176.200) The recommended number of core file size is unlimited (Current value: 0)
[WARN] OBD-1007: (192.168.176.200) The recommended number of core file size is unlimited (Current value: 0)
[WARN] OBD-1007: (192.168.176.200) The recommended number of stack size is unlimited (Current value: 8192)
[WARN] OBD-1007: (192.168.176.200) The recommended number of stack size is unlimited (Current value: 8192)
[WARN] OBD-1007: (192.168.176.200) The recommended number of stack size is unlimited (Current value: 8192)
[WARN] OBD-1017: (192.168.176.200) The value of the “vm.max_map_count” must be within [327600, 1310720] (Current value: 6
5530, Recommended value: 655360)[WARN] OBD-1017: (192.168.176.200) The value of the “fs.file-max” must be greater than 6573688 (Current value: 655350, Re
commended value: 6573688)[WARN] OBD-1012: (192.168.176.200) clog and data use the same disk (/data)
[WARN] OBD-1012: (192.168.176.200) clog and data use the same disk (/data)
[WARN] OBD-1012: (192.168.176.200) clog and data use the same disk (/data)

Check before start obproxy ok
See OceanBase分布式数据库-海量数据 笔笔算数 .
Trace ID: b957c63e-eb4a-11ee-a932-246e96a48255
If you want to view detailed obd logs, please run: obd display-trace b957c63e-eb4a-11ee-a932-246e96a48255

obagent端口是不是死了?软件自带的all-components.yaml文件,没有设置的参数选项。

这个可以参考下是否可以解决呢。 OceanBase文档中心-分布式数据库使用文档
也可以参考下上面的链接部署方式。也可以部署单机集群。

谢谢。我看了https://github.com/oceanbase/obdeploy/blob/master/plugins/oceanbase/4.2.0.0/parameter.yaml,没有找到2886端口的参数,应该是研发写死了端口,无法修改。