【clickhouse集群】教你轻松搭建ClickHouse 加协调(ClickHouse Keeper)服务器

描述

随着业务发展,业务数据的监控却一直停留在空白阶段,最近规划搭建一套业务监控系统,指标数据存储到ck。便研究起了ck的部署及使用,网上搜索的大多都是不全面或比较老旧的方式,在此把我在学习过程中的思路及遇到的问题写下来,给大家分享,共同学习。

环境准备

ClickHouse 每个分片的每个副本必须配置在单独的实例上,也就是说在整个集群范围内,一共有多少个副本,就需要创建多少个 ClickHouse 实例。
ClickHouse-server绑了 clickhouse-keeper。如果已经安装服务器,则无法单独安装 clickhouse-keeper,会收到冲突。

本次部署使用四台主机,构建两个分片,每个分片两个副本的 ClickHouse 集群。
在生产环境中,CK官方强烈建议在专用节点上运行 ClickHouse Keeper。本次部署在每个主机安装 clickhouse-server,而不单独安装 clickhouse-keeper。

1、更新系统

yum update

2、安装依赖

sudo yum install -y yum-utils
sudo yum install -y libtool
sudo yum install -y *unixODBC*

3、修改用户可打开文件数与进程数
3.1、编辑/etc/security/limits.conf 并新增以下内容

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

3.2、编辑/etc/security/limits.d/20-nproc.conf并新增以下内容

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

4、关闭强制安全策略(重启服务器生效)

sudo vim /etc/selinux/config
SELINUX=disabled
# 不要改错,否则机器启动不起来

安装clickhouse

1、下载并安装需要的rpm包

所需要安装包
clickhouse-server-25.3.6.56.x86_64.rpm
clickhouse-client-25.3.6.56.x86_64.rpm
clickhouse-common-static-25.3.6.56.x86_64.rpm
clickhouse-keeper-25.3.6.56.x86_64.rpm(独立安装keep时下载)

安装rpm,因为我的clickhouse-keeper直接使用自带的,所以不需要安装

sudo rpm -ivh clickhouse-common-static-*.rpm clickhouse-server-*.rpm clickhouse-client-*.rpm

2、放行其他服务器可以访问

 vi etc/clickhouse-server/config.xml
 IP4:放开<listen_host>::</listen_host>的注释
 IP6:放开<listen_host>0.0.0.0</listen_host>的注释

3、启动

sudo systemctl start clickhouse-server
sudo systemctl status clickhouse-server

4、配置keeper
4.1、在/etc/clickhouse-server/config.d目录中添加keeper.xml配置,各个节点的server_id不一样。

<clickhouse>
	<keeper_server>
		<tcp_port>9181</tcp_port>
		<server_id>1</server_id>
		<log_storage_path>/www/logs/clickhouse/coordination/log</log_storage_path>	<snapshot_storage_path>/var/lib/clickhouse/coordination/snapshots</snapshot_storage_path>
		<raft_configuration>
			<server>
				<id>1</id>
				<hostname>192.168.0.30</hostname>
				<port>9444</port>
			</server>
			<server>
				<id>2</id>
				<hostname>192.168.0.32</hostname>
				<port>9444</port>
			</server>
			<server>
				<id>3</id>
				<hostname>192.168.0.33</hostname>
				<port>9444</port>
			</server>
		</raft_configuration>
	</keeper_server>
</clickhouse>

4.2、修改/etc/clickhouse-server/config.xml,找到zookeeper,增加如下配置

<zookeeper>
                <node>
                        <host>192.168.0.30</host>
                        <port>9181</port>
                </node>
                <node>
                        <host>192.168.0.32</host>
                        <port>9181</port>
                </node>
                <node>
                        <host>192.168.0.33</host>
                        <port>9181</port>
                </node>
        </zookeeper>

5、配置集群
在/etc/clickhouse-server/config.d中创建cluster.xml配置

<clickhouse>
	<remote_servers>
        <ocpx_cluster>
            <!-- Shard 1 -->
            <shard>
                <replica>
                    <host>192.168.0.30</host>
                    <port>9000</port>
					<user>default</user>
                    <password>zzkj123</password>
                </replica>
				<replica>
                    <host>192.168.0.32</host>
                    <port>9000</port>
					<user>default</user>
                    <password>zzkj123</password>
                </replica>
            </shard>
			<!-- Shard 2 -->
            <shard>
                <replica>
                    <host>192.168.0.33</host>
                    <port>9000</port>
					<user>default</user>
                    <password>zzkj123</password>
                </replica>
				<replica>
                    <host>192.168.0.68</host>
                    <port>9000</port>
					<user>default</user>
                    <password>zzkj123</password>
                </replica>
            </shard>
        </ocpx_cluster>
    </remote_servers>
</clickhouse>

6、配置完成,重启CK。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值