一文搞定clickhouse集群安装部署


注:本教程针对的是集群部署,若部署单机版ck则直接按部就班来做不需要在另外的节点上进行相应的配置.

一:部署前准备工作

1.关闭防火墙

关闭防火墙:systemctl stop firewalld.service
查看防火墙:systemctl status firewalld.service

2.取消打开文件数和进程数限制

先看一下系统默认的文件数和进程数分别为1024和4096,因为Clickhouse是特备耗CPU性能的,在查询的过程中可能会遇到进程数增加等情况,所以我们先把文件和进程数调大些。
在这里插入图片描述
1)sudo vi /etc/security/limits.conf,在文件中加入以下内容

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

在这里插入图片描述
其中 * 代表限制的是所有用户所有组
soft和hard代表的是文件或进程的上限/下线数量
nofile和noproc代表的是文件和进程
走后一列代表的是文件和进程的数量

2) sudo vi /etc/security/limits.d/20-nproc.conf 在文件的末尾追加上上述同样的内容后保存退出。

在这里插入图片描述

3) 将刚才两个文件使用同步脚本xsync同步到集群的其他两台节点上
注意同步的时候必须要加上sudo ,因为我们同步的是系统路径。
(或者不同步的话你也可以一台一台的在另外两台节点上修改刚才的配置)

sudo /home/mo/bin/xsync /etc/security/limits.conf
sudo /home/mo/bin/xsync /etc/security/limits.d/20-nproc.conf

在这里插入图片描述

3.安装依赖

集群中三台节点上全部安装下面的依赖

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

4.关闭selinux

没改之前的

在这里插入图片描述

修改/etc/selinux/config中的SELINUX=disabled

在这里插入图片描述

文件同步

sudo /home/mo/bin/xsync /etc/selinux/config

然后在三台节点上使用sudo setenforce 0来临时关闭selinux

如下图这时的状态便更新过来了
在这里插入图片描述

二.clickhouse集群部署

1.解压RPM包

sudo rpm -ivh *.rpm

下载地址https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/

在这里插入图片描述

在安装的过程中会出现让我们设置密码,为了方便我这里就不设置密码了直接回车就可以了

在这里插入图片描述

2.同步RPM包并安装

将主节点上的四个RPM包分发到剩余的两个节点上去 ,然后也sudo rpm -ivh *.rpm 进行安装一下。

3.修改配置文件

修改config.xml文件使ClickHouse被除本机以外的服务器访问

sudo  vi /etc/clickhouse-server/config.xml

大概在文件的156行,将listen前后的注释去掉

在这里插入图片描述

在这个文件中,还有ClickHouse的一些默认比较重要的配置,(不过以下内容不建议去修改当做一个了解)
数据文件路径: /var/lib/clickhouse/
日志文件路径:/var/log/clickhouse-server/clickhouse-server.log
错误日志文件路径:/var/log/clickhouse-server/clickhouse-server.err.log

4.分发配置文件

sudo /home/mo/bin/xsync /etc/clickhouse-server/config.xml

注意注意!!!
注意分配好先别启动,如果集群上部署了hadoop的话还要在config.xml文件中修改下ck的端口号,这里我修改为9111,不然的话会和hadoop的namenode端口冲突一定要注意,但是你集群中没有部署hadoop的话则可以忽略这步了

在这里插入图片描述

5.启动Server和Client

启动 sudo systemctl start clickhouse-server 或 sudo clickhouse-server start
关闭 sudo systemctl stop clickhouse-server 或 sudo clickhouse-server stop
重启 sudo systemctl restart clickhouse-server 或 sudo clickhouse-server restart
查看状态 sudo systemctl status clickhouse-server 或 sudo clickhouse-server status

在这里插入图片描述

启动好以后可以进行客户端连接

 clickhouse-client --port 9111   -m 

注意这里如果刚才你没有修改默认端口号的话可以不用加–port 9111

在这里插入图片描述

6.更改CK集群配置文件

1). 安装zookeeperhttps://blog.csdn.net/weixin_44080445/article/details/106331510

2).在node102的/etc/clickhouse-server/config.d目录下创建一个名为metrika.xml的配置文件并加上如下内容(为了方便进入这个config.d目录我们可以暂时切换为root用户),这里根据自己的主机名来更改下面的内容

<?xml version="1.0"?>
<yandex>
	<zookeeper-servers>
	    <node index="1">
	        <host>node102</host>
	        <port>2181</port>
	    </node>
	    <node index="2">
	        <host>node103</host>
	        <port>2181</port>
	    </node>
	    <node index="3">
	        <host>node104</host>
	        <port>2181</port>
	    </node>
	</zookeeper-servers>
</yandex>

3).同步到node103和node104上

sudo /home/mo/bin/xsync /etc/clickhouse-server/config.d/metrika.xml

同步好以后千万别忘记在每台节点上手动改变下metrika.xml的所有者
在这里插入图片描述

4).在 node102的/etc/clickhouse-server/config.xml中增加如下内容

<zookeeper incl="zookeeper-servers" optional="true" />
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>

在这里插入图片描述
同步到另外两台节点上

sudo /home/mo/bin/xsync /etc/clickhouse-server/config.xml

5).退到普通用户并重启clickhouse ,然后三台节点上都启动zookeeper
(因为副本只能同步数据,不能同步表结构,所以我们需要在每台机器上自己手动建表)

6). 在node102,node103,node104上分别建表

这里每台主机都暂时选在default库中建下表.在这里插入图片描述

node102:

create table t_order_rep2 (
    id UInt32,
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime
 ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_102')
   partition by toYYYYMMDD(create_time)
   primary key (id)
   order by (id,sku_id);

node103:

create table t_order_rep2 (
    id UInt32,
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime
 ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_103')
   partition by toYYYYMMDD(create_time)
   primary key (id)
   order by (id,sku_id);

node104:

create table t_order_rep2 (
    id UInt32,
    sku_id String,
    total_amount Decimal(16,2),
    create_time  Datetime
 ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_104')
   partition by toYYYYMMDD(create_time)
   primary key (id)
   order by (id,sku_id);

对以上ReplicatedMergeTree中两个参数的解释
第一个参数是分片的zk_path一般按照: /clickhouse/table/{shard}/{table_name} 的格式写,如果只有一个分片就写01即可。
第二个参数是副本名称,相同的分片副本名称不能相同。

7). 在ndoe102上执行insert语句(只在102上执行就可以,103和104不需要执行)

insert into t_order_rep2 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');

插入以后在node103,node104上都可以查看到数据,这里说明已经成功部署好了

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
360 EPP(终端防护平台)的安装部署涉及以下几个步骤: 1. 首先,根据360 EPP的安装要求,确保系统满足硬件和软件要求,并确保系统处于最新的更新状态。 2. 下载360 EPP的安装程序,并将其部署到需要保护的终端设备上。可以通过官方网站或其他可信渠道获取安装程序。 3. 运行安装程序,并按照指示完成安装过程。在安装过程中,可能需要提供一些必要的信息,例如许可证密钥或其他配置参数。 4. 完成安装后,根据需要配置360 EPP的保护策略。这包括设置实时监测、扫描计划、病毒库更新等。 5. 验证安装和配置是否成功。可以通过运行安全扫描、模拟攻击或其他测试方法来验证360 EPP的功能和效果。 请注意,具体的安装部署步骤可能会因360 EPP的版本和配置而有所不同。建议参考官方文档或联系厂商获取更详细和准确的安装指南。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [一文读懂什么是EPP、EDR、CWPP、HIDS及业内主流产品](https://blog.csdn.net/weixin_43909140/article/details/116145754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值