您的位置:首頁技術文章
文章詳情頁

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

瀏覽:150日期:2022-06-03 11:16:59

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*"# 啟動clickhousesystemctl 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歷史記錄??墒褂胠l -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內容請搜索以前的文章或繼續瀏覽下面的相關文章,希望大家以后多多支持!

国产综合久久一区二区三区