clickhouse安裝文檔


ClickHouse安裝文檔

1.時間同步、ssh免密通信、域名映射、jdk(高可用版本需要安裝zookeeper)、取消 SELINUX、關閉防火牆

2.CentOS7 打開文件數限制:

在 /etc/security/limits.conf 這個文件的末尾加入一下內容:

sudo vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

在 /etc/security/limits.d/90-nproc.conf 這個文件的末尾加入一下內容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072

重啟服務器之后生效,用 ulimit -n 或者 ulimit -a 查看設置結果

ulimit -n 
ulimit -a

3.單機模式安裝

3.1准備操作

需要驗證當前服務器的 CPU 是否支持 SSE 4.2 指令集,因為向量化執行需要用到這項特性:

grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

3.2yum安裝

yum install yum-utils -y
rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG 
yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/clickhouse.repo yum install clickhouse-server clickhouse-client -y

3.3離線安裝(官網選擇安裝包https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/)

rpm -ivh clickhouse-server-20.5.4.40-2.noarch.rpm 
rpm -ivh clickhouse-common-static-20.5.4.40-2.x86_64.rpm 
rpm -ivh clickhouse-client-20.5.4.40-2.noarch.rpm

3.4修改用戶名密碼

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

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

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

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

image-20210716104613858

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

<password_sha256_hex>密碼密文</password_sha256_hex>

添加密碼后,命令行啟動的方式也要加上密碼

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

3.5驗證安裝是否成功

sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server
ps -aux | grep clickhouse 
netstat -nltp | grep clickhouse
sudo clickhouse-client -h ip地址 -d default -m -u default --password 密碼明文 

3.6安裝成功的核心目錄

(1)/etc/clickhouse-server:服務端的配置文件目錄,包括全局配置config.xml和用戶配置users.xml 等。
(2)/var/lib/clickhouse:默認數據存儲目錄,通常會修改默認路徑配置,將數據保存到大容量磁盤掛 載路徑
(3)/var/log/clickhouse-server:默認日志保存目錄,通常會修改路徑配置將日志保存到大容量磁盤 掛載的路徑

4.集群模式安裝

192.168.1.252 cdh1
192.168.1.253 cdh2
192.168.1.254 cdh3

4.1 在三台機器上重復執行#3操作,且驗證是否安裝成功

4.2 三台機器修改配置文件/etc/clickhouse-server/config.xml

vim /etc/clickhouse-server/config.xml
#先修改 tcp_port 為 6000, 因為這個端口和 HDFS 的沖突了
<tcp_port>6000</tcp_port>
#listen_host 表示能監聽的主機,:: 表示任意主機都可以訪問
<listen_host>::</listen_host>

4.3 添加集群配置(在三台機器的etc目錄下新建metrika.xml文件)

Tips:注釋非常重要,涉及到的其他文件的配置要去查看是否應用,不然查不到

#在三台機器的etc目錄下新建metrika.xml文件
<yandex>
    <!-- /etc/clickhouse-server/config.xml 中配置的remote_servers的incl屬性值,<remote_servers incl="clickhouse_remote_servers"> -->
    <clickhouse_remote_servers>
    <!-- 3分片2備份 -->
        <perftest_3shards_2replicas>
        <!-- 數據分片1  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <!-- 和下邊的<mecros>對應  -->
                    <host>cdh1</host>
                    <!-- 和 /etc/clickhouse-server/config.xml 中的 <tcp_port>6000</tcp_port>對應  -->
                    <port>6000</port>
                    <user>default</user>
                    <!-- 和 /etc/clickhouse-server/config.xml 中的 <<password>對應  -->
                    <password>clickhouse@123</password>                  
                </replica>
            </shard>
            <!-- 數據分片2  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>cdh2</host>
                    <port>6000</port>
                    <user>default</user>
                    <password>clickhouse@123</password>                   
                </replica>
            </shard>
            <!-- 數據分片3  -->
            <shard>
                <internal_replication>true</internal_replication>
                <replica>
                    <host>cdh3</host>
                    <port>6000</port>
                    <user>default</user>
                    <password>clickhouse@123</password>                    
                </replica>
            </shard>
        </perftest_3shards_2replicas>
    </clickhouse_remote_servers>
    <!--zookeeper相關配置-->
    <!-- /etc/clickhouse-server/config.xml 中配置的zookeeper的incl屬性值,<zookeeper incl="zookeeper-servers" optional="true" /> -->
    <zookeeper-servers>
        <node index="1">
            <host>cdh1</host>
            <port>2181</port>
        </node>
        <node index="2">
            <host>cdh2</host>
            <port>2181</port>
        </node>
        <node index="3">
            <host>cdh3</host>
            <port>2181</port>
        </node>
    </zookeeper-servers>
    <!-- replica代表每個節點在集群中的id不能夠重復 -->
    <macros>
        <replica>cdh1</replica>
    </macros>
	<!-- ::/0代表所有網絡都可以訪問 -->
    <networks>
        <ip>::/0</ip>
    </networks>

    <clickhouse_compression>
        <case>
            <min_part_size>10000000000</min_part_size>
            <min_part_size_ratio>0.01</min_part_size_ratio>
            <method>lz4</method>
        </case>
    </clickhouse_compression>
</yandex>

4.4 重啟所有節點的clinkhouse服務

sudo systemctl restart clickhouse-server
sudo systemctl status clickhouse-server

4.5 查看集群是否配置成功

sudo clickhouse-client --port 6000
select * from system.clusters

image-20210716100439456

5.附件

ClickHouse 的 Client 參數介紹

在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM