iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Software Development

ClickHouse:時序資料庫建置與運行系列 第 8

day8-ClickHouse資料庫伺服器啟動方法整理

  • 分享至 

  • xImage
  •  

前言

在上一章節中,我們展示了如何將ClickHouse專案原始碼在Linux的發行版本作業系統上進行跨編譯,在本章節中,我們將會討論與整理ClickHouse資料庫伺服器啟動的方法。

啟動ClickHouse資料庫伺服器

在前面的幾個章節中,我們了解了幾種常見的ClickHouse資料庫伺服器的安裝方法與完整的安裝步驟,同時也在這些步驟中,多少有提到啟動ClickHouse資料庫的啟動,筆者在這邊歸納出幾種啟動資料庫的方法。

首先,若是使用單一的二進位執行檔的安裝方式的話,則我們可以使用下列的方法將資料庫進行啟動:

sudo clickhouse start

使用上述的方法將指令啟動通常是使用了從ClickHouse原始碼建置與編譯,還有下載已經編譯好的ClickHouse二進位元執行檔等安裝方式。

若是使用DEB或是RPM套件等方式來安裝ClickHouse資料庫的話,則可以利用下列的方式進行啟動ClickHouse資料庫:

sudo service clickhouse-server start

同時也可以透過下列的指令來查看目前此資料庫背景服務運行的狀態,相關的執行指令與輸出的訊息如下:

peter@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~$ sudo service clickhouse-server status
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
   Loaded: loaded (/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-09-10 07:34:04 UTC; 1min 3s ago
 Main PID: 15342 (clckhouse-watch)
    Tasks: 206 (limit: 4915)
   CGroup: /system.slice/clickhouse-server.service
           ├─15342 clickhouse-watchdog --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse
           └─15357 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/cli......

在後續的Linux發行版本中,多了systemctl來實際的操作與管理作業系統上的process程序,因此以Ubuntu的發行版本作業系統來說,在18.04之後的版本就會有systemctl的指令可以使用,所有相關的process程序將由systemd來管理,所以如果有systemctl的指令可以使用的話,則可以使用下列的方式進行啟動:

sudo systemctl start clickhouse-server.service

也可以透過下列的指令來查看目前資料庫背景服務的運行狀態,相關的執行指令與輸出的訊息如下:

peter@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~$ sudo systemctl status clickhouse-server.service
● clickhouse-server.service - ClickHouse Server (analytic DBMS for big data)
   Loaded: loaded (/lib/systemd/system/clickhouse-server.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-09-10 07:34:04 UTC; 2min 21s ago
 Main PID: 15342 (clckhouse-watch)
    Tasks: 206 (limit: 4915)
   CGroup: /system.slice/clickhouse-server.service
           ├─15342 clickhouse-watchdog --config=/etc/clickhouse-server/config.xml --pid-file=/run/clickhouse
           └─15357 /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml --pid-file=/run/cli......

servicesystemctl的指令都沒有的話,則只能透過下列的指令進行資料庫服務的啟動:

sudo /etc/init.d/clickhouse-server start

相關執行指令的輸出結果如下:

peter@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~$ sudo /etc/init.d/clickhouse-server start
 chown -R clickhouse: '/var/run/clickhouse-server/'
Will run clickhouse su 'clickhouse' /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid --daemon
Waiting for server to start
Waiting for server to start
Server started
sed: can't read /etc/cron.d/clickhouse-server: No such file or directory
peter@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~$

以DEB或是RPM套件安裝的方式來說,ClickHouse資料庫相關的設定檔會存放在/etc/clickhouse-server/config.xml,若要修改設定檔的話,則可以修改此設定檔案接著再執行下列的指令進行重新啟動ClickHouse資料庫服務:

# 有systemctl指令時可以使用
sudo systemctl restart clickhouse-server.service

# 有service指令時可以使用
sudo service clickhouse-server restart

# 沒有systemctl或是service指令時使用
sudo /etc/init.d/clickhouse-server restart

若是使用單一二進位執行檔或是壓縮檔的方式進行安裝的話,則可以使用下列的方式將設定檔代入並啟動ClickHouse資料庫的服務:

clickhouse-server --config-file=/etc/clickhouse-server/config.xml

若以上述的方式啟動ClickHouse的資料庫的話,則會把運行的log紀錄輸出在終端機上,設定檔的定義與內容我們會在後面章節中提到。

ClickHouse指令捷徑的議題

如果使用下列的指令,不論是,clickhouse-clientclickhouse-server或是其他有些以clickhouse-這樣開頭的指令,都是捷徑並指向到clickhouse,下列的指令與輸出的訊息可以證明這一點:

peter@ubuntu-s-4vcpu-8gb-amd-sgp1-01:~$ ls -al /usr/bin/clickhouse-*
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-benchmark -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-client -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-compressor -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-copier -> /usr/bin/clickhouse
-rwxr-xr-x 1 root              root               19620075 Aug 31 13:17 /usr/bin/clickhouse-diagnostics
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-disks -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-extract-from-config -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-format -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-git-import -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-keeper -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-keeper-converter -> /usr/bin/clickhouse
-rwxr-xr-x 1 clickhouse-bridge clickhouse-bridge 145657160 Aug 31 13:17 /usr/bin/clickhouse-library-bridge
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-local -> /usr/bin/clickhouse
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-obfuscator -> /usr/bin/clickhouse
-rwxr-xr-x 1 clickhouse-bridge clickhouse-bridge 146358832 Aug 31 13:17 /usr/bin/clickhouse-odbc-bridge
-rwxr-xr-x 1 root              root                   2014 Aug 31 12:52 /usr/bin/clickhouse-report
lrwxrwxrwx 1 root              root                     19 Sep 10 15:01 /usr/bin/clickhouse-server -> /usr/bin/clickhouse

從上述指令來看,我們可以知道大部分指令都是以捷徑方式指向到clickhouse,筆者認為這是CLickHouse官方為了要區分指令,但是很多功能特性都包含在clickhouse裡面,所以使用捷徑將clickhouse指令分出去,這樣較容易識別。

結論

從本章節中,我們統整了各個不同啟動ClickHouse資料庫的方法,並整理了在不同方式時,需要使用的啟動方法也不同,在下一章節中將會統整ClickHouse資料庫客戶端的使用方法。

參考資料


上一篇
day7-如何從ClickHouse專案原始碼進行跨編譯
下一篇
day9-ClickHouse資料庫客戶端使用方法整理
系列文
ClickHouse:時序資料庫建置與運行30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言