文章目錄
- 前言
- 一、Clickhouse資料庫簡介
- 二、前期準備
- 1.安裝Linux
- 1.開啟windows的開發者模式
- 2.安裝適用于Linux的windows子系統
- 3.安裝Ubuntu
- 4.設定管理員權限
- 問題一:su: Authentication failure 的解決方案
- 三、安裝Clickhouse
- 1. 獲取安裝檔案
- 2.執行安裝
- 3.啟動Clickhouse服務
- 第一種,可以運行如下命令在后臺啟動服務:
- 第二種,你也可以在控制臺中直接啟動服務:
- 問題一:時區報錯
- 問題二:啟動報錯
- 問題三:連接服務器錯誤 Connection refused: connet
- 問題四:can't include node clickhouse_remote_servers
- 4. 啟動/停止/重啟服務
- 5.連接Clickhouse服務器
- 6.用資料庫工具連接clickhouse
- 總結
- 參考博文
前言
最近聽室友說他們公司用clickhouse這個資料庫,正好趕上加班任務不多,順便研究了一下,首先是資料庫的安裝,在網上找了很多教程,雖然整體上十分的詳細,但是普遍都很順利,就感覺很奇怪,安裝程序中竟然沒有踩過坑,此博客記錄本人的安裝全程序,附帶一些踩的坑和解決辦法,
提示:以下是本篇文章正文內容,下面案例可供參考
一、Clickhouse資料庫簡介
ClickHouse是一個用于聯機分析(OLAP)的列式資料庫管理系統(DBMS),
常見的列式資料庫有: Vertica、 Paraccel (Actian Matrix,Amazon Redshift)、 Sybase IQ、 Exasol、 Infobright、 InfiniDB、 MonetDB (VectorWise, Actian Vector)、 LucidDB、 SAP HANA、 Google Dremel、 Google PowerDrill、 Druid、 kdb+,
clickhouse是列式資料庫當中最常用的一個,是真正的面向列的DBMS,網上有很多非常詳細的博客文章可以學習,具體學習不是此博客的主要內容,
附上clickhouse官方檔案:clickhouse官方檔案
二、前期準備
1.安裝Linux
首先,Clickhouse目前支持安裝在Linux、Mac OS X等作業系統中,不支持直接安裝在windows平臺,所以需要大家了解Linux的相關知識和使用經驗,
安裝Linux可通過安裝虛擬機,然后安裝cent os或者ubuntu等Linux的發行版系統,但是安裝比較麻煩,又要安裝虛擬機,又要下載系統鏡像,這里推薦一個方法,就是利用windows 10的內置Linux子系統,這個方法也是網上有同學分享的,確實很好用,具體安裝方式如下:
1.開啟windows的開發者模式
打開“設定“—>”更新和安全“—>”開發者選項“,選擇”開發人員模式“,

此處會有安裝開發者選項的工具包,稍等幾分鐘就可以了,
2.安裝適用于Linux的windows子系統
打開控制面板,選擇“程式”,點擊“啟用或關閉windows功能”,勾選“適用于Linux的Windows子系統”,此處會安裝程式包,稍等幾分鐘就可以了,安裝之后要重啟系統,

3.安裝Ubuntu
打開微軟商店,搜索Ubuntu,選擇一個最近的系,點擊獲取即可自動安裝,

安裝之后啟動Ubuntu,會有一個短暫的初始化程序,然后出入用戶名和密碼,如下圖,就安裝成功了,

4.設定管理員權限
使用Linux系統經常需要用管理員權限操作,所以這里先設定好,以免后面麻煩,由于對Ubuntu不了解,所以這里踩了一個坑,
問題一:su: Authentication failure 的解決方案
原因是:ubuntu默認不允許使用root登錄,因此初始root賬戶是不能使用的,需要在普通賬戶下利用sudo權限修改root密碼,

解決方案很簡單:設定一個root密碼就行了,注意是sudo 而不是su,這樣就解決了!
參考博客原文:su: Authentication failure 的解決方案
前期作業準備好,就可以進入Clickhouse的安裝了,
三、安裝Clickhouse
起初安裝Clickhouse是參考這個博文進行操作的:UBUNTU下CLICKHOUSE的安裝與訪問,但是安裝程序并非像博文中那么順利,安裝程序也并不是很詳細,下面將結合博文和自己的實際操作,詳細的進行一次安裝部署,
1. 獲取安裝檔案
這里是通過到官網手動下載安裝包進行的安裝的,通過拉取的方式可以自行嘗試,這里就不重復操作了,并且安裝的版本和上面博文中的一樣,
官方地址:下載地址
下載三個安裝程式包:
clickhouse-common-static_20.9.2.20_amd64
clickhouse-server_20.9.2.20_all
clickhouse-client_20.9.2.20_all
直接在下載串列中搜索就可以搜到,

2.執行安裝
下載完后,將下載的三個檔案可以復制到tmp檔案里面,然后通過cd命令移動到這個檔案夾下,ls命令查看檔案是否存在Ubuntu系統中,因為這里面踩了個坑,執行命令時一直提示檔案不存在,所以只好移動到其他地方了,

然后依次安裝,執行命令:
sudo dpkg -i clickhouse-common-static_20.9.2.20_amd64.deb
sudo dpkg -i clickhouse-server_20.9.2.20_all.deb
sudo dpkg -i clickhouse-client_20.9.2.20_all.deb

如圖所示就已經安裝成功了,要注意的是,安裝clickhouse-server的時候,提示了輸入密碼,我這里面輸入的123456(很重要),如果不輸入密碼直接回車似乎是可以的,

并且在etc檔案夾下看到了安裝的clickhouse

3.啟動Clickhouse服務
操作到這里可以說已經成功一半了,這里可以啟動Clickhouse服務了,但是,在啟動服務的時候會報錯,解決思路就是修改組態檔內容,這里我們先直接啟動服務,看都會報什么錯誤,(重點)
啟動服務有兩種方式:
第一種,可以運行如下命令在后臺啟動服務:
sudo service clickhouse-server start
可以在/var/log/clickhouse-server/目錄中查看日志,
如果服務沒有啟動,請檢查組態檔 /etc/clickhouse-server/config.xml,
第二種,你也可以在控制臺中直接啟動服務:
clickhouse-server --config-file=/etc/clickhouse-server/config.xml
在這種情況下,日志將被列印到控制臺中,這在開發程序中很方便,
如果組態檔在當前目錄中,你可以不指定‘–config-file’引數,它默認使用‘./config.xml’,
我們先執行一下sudo service clickhouse-server start看會提示什么(有可能直接成功,這里講一下遇到的坑),
問題一:時區報錯

注意紅線的地方是錯誤資訊,意思就是這不能確定本機作業系統的時區,需要自己手動設定,
sudo vim /etc/clickhouse-server/config.xml
找到timezone,修改如下:
<timezone>Asia/Shanghai</timezone>

這個時區默認是這段代碼默認是沒有的,所以盡量提前加上,
問題二:啟動報錯
啟動引數:sudo clickhouse-server --config-file=/etc/clickhouse-server/config.xml
2020.08.20 18:49:28.189321 [ 29338 ] {} <Error> Application: DB::Exception: Effective user of the process (root) does not match the owner of the data (clickhouse). Run under 'sudo -u clickhouse'
提示已經很清楚了,Run under ‘sudo -u clickhouse’.
修改后啟動引數即可: sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml
問題三:連接服務器錯誤 Connection refused: connet
配置外網訪問(遠程訪問),
在config.xml中,將紅框部分注釋打開,

問題四:can’t include node clickhouse_remote_servers
啟動的時候可能會提示類似不能引入clickhouse_remote_servers節點的錯誤,這個節點主要是配置集群的,可能是因為沒有metrika.xml檔案,導致引入節點報錯,由于是單機版安裝,這里可以暫時將下圖的節點刪掉(修改組態檔之前建議備份原檔案),注意:這里不能直接ctrl+/注釋掉,因為節點里面有注釋,會報錯,

4. 啟動/停止/重啟服務
sudo service clickhouse-server start #啟動
sudo service clickhouse-server stop #停止
sudo service clickhouse-server restart #重啟服務,其實就是先stop,然后再start
5.連接Clickhouse服務器
執行命令:
clickhouse-client
注意:如果設定了密碼,會有這樣的提示

所以用如下完整的命令(現在是用的默認賬戶):
clickhouse-client --port 9000 --host 127.0.0.1 --password 123456 --multiline

這樣就成功了,
6.用資料庫工具連接clickhouse
java開發的話,用idea內置的clickhouse工具就可以連接,操作也十分簡單,

這里埠就是8123默認即可,連接clickhouse的http埠就是8123,

安裝插件后就可以在idea中使用了,

總結
寫到這就基本結束了,第一次安裝踩了不少坑,也出現了很多奇奇怪怪的問題,第二次安裝就十分順利,這只是單機部署,但在實際作業、生產,重要的還是集群,以后還會繼續研究集群的部署,
參考博文
下面是參考的一些博文,還有一個集群的部署方式,可以一同參考:
1.clickhouse集群安裝
2.clickhouse系列之一: clickhouse簡介與安裝
3.clickhouse系列之二:clickhouse遇到的報錯問題及解決方法
4.UBUNTU下CLICKHOUSE的安裝與訪問
5.clickhouse基本操作一 用戶權限管理
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260988.html
標籤:其他
下一篇:【VSCode - Vetur 插件報錯】Cannot find module ‘XXX‘ or its corresponding type declarations.Vetur(2307)
