前言
ClickHouse是俄羅斯的Yandex于2016年開源的列式存儲數(shù)據(jù)庫 DBMS ),使用C語言編寫,主要用于在線分析處理查詢( OLAP ),能夠使用SQL查詢實時生成分析數(shù)據(jù)報告。列式存儲:數(shù)據(jù)按列進行存儲,這使得 ClickHouse 能夠高效地處理聚合查詢和分析操作;高性能:ClickHouse 被設計用于快速查詢和分析大規(guī)模數(shù)據(jù),因此具有出色的性能。分布式架構:支持分布式部署,可以輕松地擴展到多個節(jié)點,以處理大量數(shù)據(jù)和并行查詢。實時數(shù)據(jù)插入:支持實時數(shù)據(jù)的快速插入,并能在不影響查詢性能的情況下進行數(shù)據(jù)更新。靈活的數(shù)據(jù)格式支持:支持多種數(shù)據(jù)格式,包括 JSON、CSV 等,同時也支持壓縮和加密。
ClickHouse主要用于數(shù)據(jù)分析,ClickHouse 適用于各種數(shù)據(jù)分析場景,包括業(yè)務智能、報告、儀表板等;日志分析:由于其高性能和實時數(shù)據(jù)插入功能,ClickHouse 可以用于大規(guī)模日志分析;時序數(shù)據(jù)處理:適用于處理時序數(shù)據(jù),例如傳感器數(shù)據(jù)、監(jiān)控數(shù)據(jù)等;實時報表:能夠支持實時數(shù)據(jù)的快速查詢和分析,適用于生成實時報表和統(tǒng)計數(shù)據(jù)。
本節(jié)內(nèi)容主要是關于如何搭建ClickHouse數(shù)據(jù)庫,實現(xiàn)Clickhouse數(shù)據(jù)庫的部署安裝。
hadoop101 | hadoop102 | hadoop103 |
---|---|---|
clickhouse | clickhouse | clickhouse |
zookeeper | zookeeper | zookeeper |
正文
①配置centos系統(tǒng)文件數(shù)限制,避免文件句柄數(shù)不夠使用
- 在/etc/security/limits.conf中增加句柄數(shù)的配置
* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072
- 在/etc/security/limits.d/20-nproc.conf的配置中也增加以上句柄數(shù)的配置
- 查看配置修改是否生效:ulimit -a
- 將上述倆個配置文件分發(fā)到hadoop102和hadoop103服務器上,使配置生效
② 分別在hadoop101、hadoop102、hadoop103服務器安裝系統(tǒng)依賴
- 使用yum安裝依賴
sudo yum install y libtool sudo yum install y *unixODBC* sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
③ 關閉系統(tǒng)selinux安全配置,并重啟hadoop101、hadoop102、hadoop103系統(tǒng)
-?修改/etc/selinux/config中的SELINUX=disabled,并重啟系統(tǒng)reboot
④使用官方推薦的方式,使用yum命令分別在hadoop101、hadoop102、hadoop103安裝clickhouse服務端和客戶端
- 命令:sudo yum install -y clickhouse-server clickhouse-client
⑤啟動clickhouse服務端并查看狀態(tài)
- 命令:
//設置為開機自啟動 sudo systemctl enable clickhouse-server //取消開機自啟動 sudo systemctl disable clickhouse-server //啟動clickhouse-server服務端 sudo systemctl start clickhouse-server //查看clickhouse-server服務端狀態(tài) sudo systemctl status clickhouse-server //停止clickhouse-server服務端 sudo systemctl stop clickhouse-server
⑥使用clickhouse客戶端連接clickhouse數(shù)據(jù)庫
- 命令:clickhouse-client -m
⑦修改clickhouse的配置文件/etc/clickhouse-server/config.xml,使得hadoop集群間可以相互訪問
- 將<listen_host>::</listen_host> 配置打開,然后重啟clickhouse服務
- 重啟clickhouse服務
- 使用hadoop102的客戶端連接hadoop101的服務
⑧驗證clickhouse數(shù)據(jù)庫是否可以正常使用
⑨配置副本:在hadoop101、hadoop102、hadoop103配置zookeeper,互為副本保證clickhouse數(shù)據(jù)庫的高可用
- 在配置文件/etc/clickhouse-server/config.xml中配置zookeeper連接信息
<zookeeper> <node> <host>hadoop101</host> <port>2181</port> </node> <node> <host>hadoop102</host> <port>2181</port> </node> <node> <host>hadoop103</host> <port>2181</port> </node> </zookeeper>
- 分發(fā)配置文件config.xml到hadoop102、hadoop103服務器
?- 啟動zookeeper服務器
- 重啟clickhouse數(shù)據(jù)庫服務器
?⑩驗證副本配置是否生效
- 分別在hadoop101、hadoop102、hadoop103服務器創(chuàng)建表t_order
# hadoop101 create table t_order ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','101') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id); # hadoop102 create table t_order ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','102') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id); # hadoop103 create table t_order ( id UInt32, sku_id String, total_amount Decimal(16,2), create_time Datetime ) engine = ReplicatedMergeTree('/clickhouse/table/01/t_order','103') partition by toYYYYMMDD(create_time) primary key (id) order by (id,sku_id);
- 在hadoop101表t_order插入數(shù)據(jù)
insert into t_order values (101,'sku_001',1000.00,'2020-06-01 12:00:00'), (102,'sku_002',2000.00,'2020-06-01 12:00:00'), (103,'sku_004',2500.00,'2020-06-01 12:00:00'), (104,'sku_002',2000.00,'2020-06-01 12:00:00'), (105,'sku_003',600.00,'2020-06-02 12:00:00');
- 在hadoop101查詢數(shù)據(jù)
- 在hadoop102查詢數(shù)據(jù)
- 在hadoop103查詢數(shù)據(jù)
??查詢zookeeper中的clickhouse存儲數(shù)據(jù)是否成功
文章來源:http://www.zghlxwxcb.cn/news/detail-826574.html
結語
至此,關于ClickHouse數(shù)據(jù)庫的部署安裝實現(xiàn)的內(nèi)容到這里就結束了,我們下期見。。。。。。文章來源地址http://www.zghlxwxcb.cn/news/detail-826574.html
到了這里,關于(三十六)大數(shù)據(jù)實戰(zhàn)——ClickHouse數(shù)據(jù)庫的部署安裝實現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!