手把手教你在華為云編譯和使用ClickHouse

      網友投稿 1276 2025-04-04

      1 前言

      大家好,今天繼續向各位分享在華為云上編譯和使用ClickHouse,這里會以單節點為例,后續會有系列博文介紹怎樣部署集群和使用,歡迎持續關注^_^

      2?準備工作

      在開始本文之前,建議在華為云購買一臺云服務器,同時考慮到后續的順利操作,云服務器需要有一些要求:

      CPU架構:x86計算

      規格:c6.2xlarge.4,如果想編譯快一點盡量提高CPU的核數

      鏡像:公共鏡像,CentOS CentOS 8.0 64bit

      系統盤:高IO,100GB

      彈性公網:按流量計費(提高下載速度)

      3 操作系統

      安裝軟件包

      [root@ecs-dc69?~]#?yum?install?-y?gcc-c++?cmake?git

      4 編譯

      手把手教你在華為云編譯和使用ClickHouse

      4.1 下載ClickHouse代碼

      [root@ecs-dc69?~]#?git?clone?https://github.com/ClickHouse/ClickHouse.git [root@ecs-dc69?~]#?cd?ClickHouse/ [root@ecs-dc69?ClickHouse]#?git?checkout?-b?20.9?remotes/origin/20.9

      4.2 編譯gcc-9.3.0

      編譯ClickHouse需要GCC9及以上的版本,而本機已安裝的版本只有GCC8,不能滿足:

      [root@ecs-dc69?~]#?gcc?--version gcc?(GCC)?8.3.1?20191121?(Red?Hat?8.3.1-5) Copyright?(C)?2018?Free?Software?Foundation,?Inc. This?is?free?software;?see?the?source?for?copying?conditions.??There?is?NO warranty;?not?even?for?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE.

      所以需要自行編譯安裝,這里介紹兩種方式:

      從ClickHouse代碼庫觸發編譯安裝

      [root@ecs-dc69?ClickHouse]#?cd?utils/ci [root@ecs-dc69?ci]#?vim?default-config ... 27?GCC_SOURCES_VERSION=gcc-9.3.0??????????#?or?gcc-7.1.0 ...

      修改gcc版本信息“latest”為“gcc-9.3.0”,然后編譯安裝:

      [root@ecs-dc69?ci]#?./build-gcc-from-sources.sh

      注意:因為編譯gcc時間會比較長,如果中間出現網絡掉線,建議不要重新執行這個腳本,可以增量繼續:

      [root@ecs-dc69?~]#?cd?ClickHouse/utils/ci/workspace/gcc/gcc-build/ [root@ecs-dc69?gcc-build]#?make?-j8?&&?make?install

      自行下載安裝包編譯安裝

      [root@ecs-dc69?~]#?wget?https://mirrors.nju.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz [root@ecs-dc69?~]#?tar?xvf?gcc-9.3.0.tar.gz [root@ecs-dc69?~]#?cd?gcc-9.3.0 [root@ecs-dc69?gcc-9.3.0]#?./contrib/download_prerequisites [root@ecs-dc69?gcc-9.3.0]#?mkdir?build [root@ecs-dc69?gcc-9.3.0]#?cd?build [root@ecs-dc69?build]#?../configure?--enable-languages=c,c++?--disable-multilib [root@ecs-dc69?build]#?make?-j8?&&?make?install

      另外,如果網絡問題無法自動下載gcc的依賴包,可以參考以下幾個鏈接或從其他渠道下載:

      [root@ecs-dc69?gcc-9.3.0]#?wget?ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-6.1.0.tar.bz2 [root@ecs-dc69?gcc-9.3.0]#?wget?ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-3.1.4.tar.bz2 [root@ecs-dc69?gcc-9.3.0]#?wget?ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-1.0.3.tar.gz [root@ecs-dc69?gcc-9.3.0]#?wget?ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.18.tar.bz2

      編譯和安裝完gcc后,檢查下正確性:

      [root@ecs-dc69?gcc-build]#?which?gcc /usr/local/bin/gcc [root@ecs-dc69?gcc-build]#?which?g++ /usr/local/bin/g++ [root@ecs-dc69?gcc-build]#?gcc?--version gcc?(GCC)?9.3.0 Copyright?(C)?2019?Free?Software?Foundation,?Inc. This?is?free?software;?see?the?source?for?copying?conditions.??There?is?NO warranty;?not?even?for?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE. [root@ecs-dc69?gcc-build]#?g++?--version g++?(GCC)?9.3.0 Copyright?(C)?2019?Free?Software?Foundation,?Inc. This?is?free?software;?see?the?source?for?copying?conditions.??There?is?NO warranty;?not?even?for?MERCHANTABILITY?or?FITNESS?FOR?A?PARTICULAR?PURPOSE. [root@ecs-dc69?gcc-build]#

      4.3 設置環境變量

      [root@ecs-dc69?~]#?export?LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH [root@ecs-dc69?~]#?export?CC=gcc?CXX=g++

      4.4 編譯ClickHouse

      下載ClickHouse依賴包:

      [root@ecs-dc69?~]#?cd?ClickHouse/ [root@ecs-dc69?ClickHouse]#?git?submodule?update?--init?--recursive

      注意:這里如果因為網絡問題,也可以自行下載并上傳子模塊代碼(注意子模塊代碼版本信息),但不要執行上面命令。

      [root@ecs-dc69?ClickHouse]#?mkdir?build?&&?cd?build [root@ecs-dc69?build]#?cmake?../ [root@ecs-dc69?build]#?make?-j8

      5 測試驗證

      啟動進程

      [root@ecs-dc69?build]#?./programs/clickhouse-server

      啟動客戶端

      創建1張MergeTree表,然后插入2條記錄并讀取:

      [root@ecs-dc69?build]#?./programs/clickhouse-client?--multiline ClickHouse?client?version?20.9.4.1. Connecting?to?localhost:9000?as?user?default. Connected?to?ClickHouse?server?version?20.9.4?revision?54439. ecs-dc69?:) ecs-dc69?:)?create?table?table1?( :-]???`EventDate`?DateTime, :-]???`id`?UInt64 :-]?)?engine?=?MergeTree() :-]?partition?by?toYYYYMM(EventDate) :-]?order?by?id; CREATE?TABLE?table1 ( ????`EventDate`?DateTime, ????`id`?UInt64 ) ENGINE?=?MergeTree() PARTITION?BY?toYYYYMM(EventDate) ORDER?BY?id Ok. 0?rows?in?set.?Elapsed:?0.004?sec.? ecs-dc69?:)?INSERT?INTO?table1?VALUES?('2020-01-01?01:01:01',?1); INSERT?INTO?table1?VALUES Ok. 1?rows?in?set.?Elapsed:?0.004?sec.? ecs-dc69?:)?INSERT?INTO?table1?VALUES?('2020-01-01?01:01:02',?2); INSERT?INTO?table1?VALUES Ok. 1?rows?in?set.?Elapsed:?0.001?sec.? ecs-dc69?:)?select?*?from?table1; SELECT?* FROM?table1 ┌───────────EventDate─┬─id─┐ │?2020-01-01?01:01:01?│??1?│ └─────────────────────┴────┘ ┌───────────EventDate─┬─id─┐ │?2020-01-01?01:01:02?│??2?│ └─────────────────────┴────┘ 2?rows?in?set.?Elapsed:?0.002?sec.? ecs-dc69?:)

      MapReduce MapReduce服務 EI企業智能 大數據 ClickHouse

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel取消只讀模式的詳細圖解教程
      下一篇:如何復制當前幻燈片(怎么復制整個幻燈片)
      相關文章
      亚洲一区无码精品色| 亚洲av永久中文无码精品| 国产午夜亚洲精品不卡| 亚洲 欧洲 视频 伦小说| 亚洲冬月枫中文字幕在线看| 91亚洲导航深夜福利| 18亚洲男同志videos网站| 中文字幕亚洲精品| 中文字幕亚洲精品| 亚洲国产高清在线精品一区| 亚洲精品综合久久中文字幕| 亚洲日韩乱码中文无码蜜桃臀 | 亚洲欧洲国产精品久久| 亚洲福利一区二区三区| 亚洲乱码一二三四区国产| 精品日韩99亚洲的在线发布| 亚洲一级特黄特黄的大片| 亚洲无人区码一二三码区别图片 | 亚洲中文字幕无码日韩| 亚洲日韩一页精品发布| 亚洲AV无码久久精品色欲| 亚洲AV日韩精品久久久久久| 337p日本欧洲亚洲大胆艺术| 亚洲国产成人精品电影| 亚洲AV色吊丝无码| 久久亚洲国产最新网站| 亚洲AV一区二区三区四区| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲日韩乱码中文无码蜜桃臀网站| 亚洲午夜国产精品无码老牛影视| 亚洲区小说区图片区QVOD| 亚洲高清专区日韩精品| 亚洲第一成年男人的天堂| 亚洲自偷精品视频自拍| 国产精品亚洲片在线va| 亚洲av无码一区二区三区四区 | 亚洲AⅤ永久无码精品AA| 中国亚洲女人69内射少妇| 亚洲av鲁丝一区二区三区| 亚洲最大黄色网站| 亚洲日韩精品A∨片无码加勒比|