centos7安裝clickhouse並設置用戶名密碼案例詳解

ClickHouse是近年來備受關註的開源列式數據庫,主要用於數據分析(OLAP)領域,由俄羅斯最大的搜索引擎公司Yandex(相當國內的百度)於2016年開源。Yandex有著許多數據分析的業務,其中數據量最大的業務,就是Yandex.Metrica(相當於百度的百度統計),這也就是ClickHouse出現的原因。由於其出色的性能,近年來發展非常迅猛,國內很多大廠都在生產環境中廣泛使用。

社區熱度方面,2016年開源clickhouse熱度非常之高,在GitHub上的star已有13.9k。

在這裡插入圖片描述

1.準備

騰訊雲服務器:centos7系統
ClickHouse版本: 20.5.2

2.安裝

2.1 首先安裝一下curl

yum install -y curl
# 添加clickhouse源
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | bash

2.2 安裝server 和 client,這個過程需要花點時間,多等待一下就好瞭

yum install -y clickhouse-server clickhouse-client
# 檢查是否安裝成功
yum list installed 'clickhouse*'
# 啟動clickhouse
systemctl start clickhouse
# 進入cli,啟動clickhouse客戶端
clickhouse-client

在這裡插入圖片描述

2.4 clickhouse的目錄結構

  • /etc/clickhouse-server:服務端的配置文件目錄,包括全局配置 config.xml 和用戶配置 users.xml
  • /var/lib/clickhouse:默認的數據存儲目錄,如果是生產環境可以將其修改到空間較大的磁盤掛載路徑。可以通過修改
  • /etc/clickhouse-server/config.xml 配置文件中
    、<tmp_path> 和<user_files_path> 標簽值來設置。
  • /var/log/clickhouse-server:默認的日志保存目錄。同樣可以通過修改/etc/clickhouse-server/config.xml 配置文件中 和 標簽值來設置。

  • /etc/cron.d/clickhouse-server:clickhouse server 的一個定時配置,用於恢復因異常中斷的ClickHouse 服務進程。
  • ~/.clickhouse-client-history (隱藏文件) 所有通過交互式命令行執行的sql歷史記錄。可使用ll -a命令查看

在這裡插入圖片描述

2.5 現在已經安裝並啟動好瞭一個clickhouse客戶端,但沒有密碼驗證誰都可以訪問,所以要設置密碼。

3.設置用戶名密碼

3.1 clickhouse的密碼有2種形式,一種是明文,一種是寫sha256sum的Hash值

官方不建議直接寫明文密碼,可以用以下命令生成密碼

PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; 
echo -n "$PASSWORD" | sha256sum | tr -d '-'

在這裡插入圖片描述

這樣可以得到兩行數據,第一行是密碼明文,第二行是密碼密文

3.2 cilckhouse的配置文件默認地址 /etc/clickhouse-server

vim users.xml,找到 users –> default –> 標簽下的password修改成password_sha256_hex,並把密文填進去

<password_sha256_hex>密碼密文</password_sha256_hex>

3.3 添加密碼後,命令行啟動的方式為

clickhouse-client -h ip地址 -d default -m -u default --password 密碼明文

或者直接使用datagrip連接,用戶名是default,密碼是密碼明文

3.4 開放外網訪問,vim config.xml 找到 listen_host 標簽,修改為以下

<listen_host>0.0.0.0</listen_host>

重啟一下clickhouse服務

systemctl restart clickhouse-server

3.5 使用datagrip連接

使用datagrip連接輸入用戶名密碼既可連接,

在這裡插入圖片描述

在default庫下新建一張表測試一下:

create table table1
(
    userId  Int32,
    appId   String,
    version String,
    regTime Date
)
    engine = MergeTree PARTITION BY toYYYYMM(regTime) ORDER BY userId SETTINGS index_granularity = 8192;

就可以直接使用clickhouse瞭

在這裡插入圖片描述

參考文檔:https://github.com/Altinity/clickhouse-rpm-install

到此這篇關於centos7安裝clickhouse並設置用戶名密碼案例詳解的文章就介紹到這瞭,更多相關centos7安裝clickhouse內容請搜索GuideAH以前的文章或繼續瀏覽下面的相關文章,希望大傢以後多多支持GuideAH!

閱讀更多: