Clickhouse 集群安装

本文详细介绍如何搭建ClickHouse集群,包括下载rpm文件、安装过程、配置步骤及启动与停止方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


本文讲解ClickHouse 集群搭建。配置文件下载

一、下载rpm文件

1、下载地址:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
下载最新的版本:
clickhouse-common-static-dbg-21.5.5.12-2.x86_64.rpm
clickhouse-common-static-21.5.5.12-2.x86_64.rpm
clickhouse-server-21.5.5.12-2.noarch.rpm
clickhouse-client-21.5.5.12-2.noarch.rpm
2、上传到所有服务器,比如/u02/clickhouse 目录下

二、安装

每台服务器都要执行如下语句:

[root@node01 u02]# cd clickhouse
[root@node01 clickhouse]# rpm -ivh *

三、配置

每台服务器都要配置

1、创建目录

# 创建数据存储目录
[root@node01 u01]# mkdir -p chbase
[root@node01 u01]# cd chbase
[root@node01 chbase]# mkdir -p access log task_queue user_files tmp format_schemas log/clickhouse-server task_queue/ddl
# 更新目录所属用户
[root@node01 chbase]# cd ..
[root@node01 u01]# chown -R clickhouse:clickhouse chbase

2、更改用户文件
在目录/etc/clickhouse-server目录下user.xml 文件,根据命令生成秘钥

# password_double_sha1_hex,密码1234abcd
[root@node01 u01]# echo -n "1234abcd" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
a28d6a233b76fc581a8e711b8966883c91c97612

# password_sha256_hex,密码1234abcd
[root@node01 u01]# echo -n "1234abcd" | sha256sum | tr -d '-'
221b37fcdb52d0f7c39bbd0be211db0e1c00ca5fbecd5788780463026c6b964b

user.xml文件配置如下:

<?xml version="1.0"?>
<yandex>
    <!-- Profiles of settings. -->
    <profiles>
        <!-- Default settings. -->
        <default>
            <!-- Maximum memory usage for processing single query, in bytes. -->
            <max_memory_usage>10000000000</max_memory_usage>
            <load_balancing>random</load_balancing>
        </default>

        <!-- Profile that allows only read queries. -->
        <readonly>
            <readonly>1</readonly>
        </readonly>
    </profiles>

    <!-- Users and ACL. -->
    <users>
        <!-- If user name was not specified, 'default' user is used. -->
        <default>
               <password_double_sha1_hex>8e083f89ec608457b08b255be06d6f1c7ba46bcc</password_double_sha1_hex>
            <networks>
                <ip>::/0</ip>
            </networks>

            <!-- Settings profile for user. -->
            <profile>default</profile>

            <!-- Quota for user. -->
            <quota>default</quota>
        </default>
		<admin>
		    <password_double_sha1_hex>8e083f89ec608457b08b255be06d6f1c7ba46bcc</password_double_sha1_hex>
			<access_management>1</access_management>
			<networks>
                <ip>::/0</ip>
            </networks>
			<profile>default</profile>
			<quota>default</quota>
		</admin>
    </users>

    <!-- Quotas. -->
    <quotas>
        <!-- Name of quota. -->
        <default>
            <interval>
                <!-- Length of interval. -->
                <duration>3600</duration>
                <queries>0</queries>
                <errors>0</errors>
                <result_rows>0</result_rows>
                <read_rows>0</read_rows>
                <execution_time>0</execution_time>
            </interval>
        </default>
    </quotas>
</yandex>

3、集群配置,在/etc/clickhouse-server/config.d目录下添加文件metrika.xml,每个集群都添加。

<yandex>
<!--<clickhouse_remote_servers>
    <jack_gk_cluster>
        <shard>
            <weight>1</weight>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node01</host>
                <port>9099</port>
            </replica>
            <replica>
                <host>node02</host>
                <port>9099</port>
            </replica>
        </shard>
        <shard>
            <weight>1</weight>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node02</host>
                <port>9099</port>
            </replica>
            <replica>
                <host>node03</host>
                <port>9099</port>
            </replica>
        </shard>
	    <shard>
            <weight>1</weight>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node03</host>
                <port>9099</port>
            </replica>
            <replica>
                <host>node01</host>
                <port>9099</port>
            </replica>
        </shard>
    </jack_gk_cluster>
</clickhouse_remote_servers>-->
<clickhouse_remote_servers>
    <jack_cluster>
        <shard>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node01</host>
                <port>9099</port>
				<user>default</user>
				<password>3480abcd</password>
            </replica>
        </shard>
        <shard>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node02</host>
                <port>9099</port>
				<user>default</user>
				<password>3480abcd</password>
            </replica>
        </shard>
	    <shard>
            <internal_replication>false</internal_replication>
            <replica>
                <host>node03</host>
                <port>9099</port>
				<user>default</user>
				<password>3480abcd</password>
            </replica>
        </shard>
    </jack_cluster>
</clickhouse_remote_servers>
<!-- 对应每个节点的host,此处需要修改 -->
<macros>
    <replica>node01</replica>
</macros>
 
<networks>
   <ip>::/0</ip>
</networks>
 
<zookeeper-servers>
    <node index="1">
        <host>node01</host>
        <port>2181</port>
    </node>
    <node index="2">
        <host>node02</host>
        <port>2181</port>
    </node>
    <node index="3">
        <host>node03</host>
        <port>2181</port>
    </node>
</zookeeper-servers>
 
<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、config配置文件修改
修改/etc/clickhouse-server/config.xml文件,具体见附件

<log>/u01/chbase/log/clickhouse-server/clickhouse-server.log</log>
<errorlog>/u01/chbase/log/clickhouse-server/clickhouse-server.err.log</errorlog>
<tcp_port>9099</tcp_port>
<listen_host>::</listen_host>
<path>/u01/chbase/</path>
<tmp_path>/u01/chbase/tmp/</tmp_path>
<user_files_path>/u01/chbase/user_files/</user_files_path>
<user_directories>
   <local_directory> 
      <path>/u01/chbase/access/</path>
   </local_directory>
</user_directories>
<remote_servers incl="clickhouse_remote_servers" />
<zookeeper incl="zookeeper-servers" optional="true" />
<macros incl="macros" optional="true" />
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from> 
<distributed_ddl>
   <path>/u01/chbase/task_queue/ddl</path>
</distributed_ddl>
<format_schema_path>/u01/chbase/format_schemas/</format_schema_path>

四、启停

分别启动每台服务器

# 启动
[root@node01 clickhouse]# sudo clickhouse start
# 停止
[root@node01 clickhouse]# sudo clickhouse stop
# 查看状态
[root@node01 clickhouse]# sudo clickhouse status
# 客户端查看
[root@node01 clickhouse]# clickhouse-client -u admin --password 3480abcd --port 9099 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛2021

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值