CentOS & Redhat
Red Hat and CentOS users can use the package manager yum
to install the latest stable version of CnosDB.
Download
- 社区版
- 企业版
For Red Hat or CentOS users, use the following command to add the CnosDB repository:
cat <<EOF | sudo tee /etc/yum.repos.d/cnosdb.repo
[cnosdb]
name = CnosDB Repository
baseurl = https://repo.cnosdb.com/repo/rpm
enabled = 1
gpgcheck = 1
gpgkey = https://repo.cnosdb.com/repo/cnosdb.gpg-key.asc
EOF
Update and download software:
sudo yum update && yum install -y cnosdb cnosdb-meta
Please contact us to obtain the installation package for the enterprise version.
Start a standalone instance
1. Edit configuration
- 社区版
- 企业版
Change license_file
to specify the correct file location
Get License file, please contact us
license_file = '/etc/cnosdb/license.json'
Change [deployment].mode
to singleton
[deployment]
mode = "singleton"
2. Start
systemctl start cnosdb
If it is CentOS 7 and earlier versions and RHEL 7 earlier versions, use the following command to start:
service cnosdb start
Starting the cluster
Please add the following records to your DNS resolution server for communication between instances in your CnosDB cluster.Please contact your network administrator when necessary.
Record type | Hostname | IP |
---|---|---|
A | meta1.cnosdb.com | meta1_ip |
A | meta2.cnosdb.com | meta2_ip |
A | meta3.cnosdb.com | meta3_ip |
A | query_tskv1.cnosdb.com | query_tskv1_ip |
A | query_tskv2.cnosdb.com | query_tskv2_ip |
Start the meta
service
1. Edit configuration
Default configuration file location: /etc/cnosdb/cnosdb-meta.conf
Add the records added in the DNS server to the configuration file, assigning different records to different meta
services.
host = meta<n>.cnosdb.com
Assign a node_id to each meta
service, the id must not be duplicated.
id = n
The configuration file example after configuration is completed is as follows:
id = n
host = "meta<n>.cnosdb.com"
port = 8901
... ...
Start Service
systemctl start cnosdb-meta
If it is CentOS 7 and earlier versions and RHEL 7 earlier versions, use the following command to start:
service cnosdb-meta start
Initialize meta
service
If there are multiple
meta
services in your cluster, you only need to execute the initialization command on one of themeta
services.
curl http://meta1.cnosdb.com:8901/init -d '{}'
Add other meta
service instances
curl http://meta1.cnosdb.com:8901/add-learner -H "Content-Type: application/json" -d '[2, "meta2.cnosdb.com:8901"]' | jq
curl http://meta1.cnosdb.com:8901/add-learner -H "Content-Type: application/json" -d '[3, "meta3.cnosdb.com:8901"]' | jq
Reset cluster members to make the cluster take effect
Executing the following command can modify the cluster members. If there are multiple
meta
services in your cluster, use the node that initially performed the initialization to execute this command.
curl http://meta1.cnosdb.com:8901/change-membership -H "Content-Type: application/json" -d '[1,2,3]' | jq
View Cluster Status
Specify different nodes separately, perform the following commands to view cluster status.
Replace
<n>
in the command to specify a differentmeta
service instance.
curl http://meta<n>.cnosdb.com:8901/metrics | jq
If the cluster installation is successful, the following content should be returned:
state
may also beFollower
.
{
"Ok": {
"running_state": {
"Ok": null
},
"id": 1,
... ...
"state": "Leader",
... ...
}
Launch the cnosdb
service
Edit profile
The configuration file for the cnosdb
service is located at /etc/cnosdb/cnosdb.conf
.
Add entries to the DNS server to the configuration file and assign different cnosdb
services to different records.
host = "query_tskv<n>.cnosdb.com"
- 社区版
- 企业版
Change license_file
to specify the correct file location
Get License file, please contact us
license_file = '/etc/cnosdb/license.json'
Change [deployment].mode
to query_tskv
.
[deployment]
mode = "query_tskv"
Modify node_id
, node_id
cannot be duplicated.
[node_basic]
node_id = <n>
Change meta
service address.
Change meta
service address.
[cluster].name
needs to be the same as [meta_init].cluster_name
in the cnosdb-meta
configuration.
[cluster]
name = "cluster_xxx"
meta_service_addr = ['meta1.cnosdb.com:8901', 'meta2.cnosdb.com:8901', 'meta3.cnosdb.com:8901']
The configuration file example after configuration is completed is as follows:
... ...
host = "query_tskv<n>.cnosdb.com"
[deployment]
mode = 'query_tskv'
... ...
[cluster]
name = 'cluster_xxx'
meta_service_addr = ['meta1.cnosdb.com:8901', 'meta2.cnosdb.com:8901', 'meta3.cnosdb.com:8901']
[node_basic]
node_id = <n>
... ...
Start Service
systemctl start cnosdb
If it is CentOS 7 and earlier versions and RHEL 7 earlier versions, use the following command to start.
service cnosdb start