目录
1 安装总体概况
2 离线安装相应的rpm文件(三台机器都需要)
3 修改配置文件
4 启动ClickServer
5 配置集群
功能说明 |
主机IP |
环境配置 |
安装 |
节点1 |
192.168.56.101 |
关闭防火墙, 时钟同步, host映射 |
Jdk Zookeeper ClickHouse |
节点2 |
192.168.56.102 |
关闭防火墙, 时钟同步, host映射 |
Jdk Zookeeper ClickHouse |
节点3 |
192.168.56.103 |
关闭防火墙, 时钟同步, host映射 |
Jdk Zookeeper ClickHouse |
ClickHouse的安装主要依赖于zookeeper,jdk,所以安装之前记得配置好zookeeper,jdk
还有就是可以先安装好libtool和unixODBC两个rpm包,便于后续连接操作
有需要的小伙伴可以连接自取
链接:https://pan.baidu.com/s/100_AK3qS19y9pdQ4K--uxA (clickhouse和zookeeper)
提取码:23ej
链接:https://pan.baidu.com/s/1V4qawFI2rFGc13hFFx0seA (jdk)
提取码:5qod
rpm -ivh *.rpm
jdk和zookeeper的安装这里就不再赘述。
按照好相应的clickhouse之后,需要对配置文件进行修改,执行以下命令
vim /etc/clickhouse-server/config.xml
把
如果想修改数据和日志文件的存储位置,可以修改以下配置
数据文件路径:
日志文件路径:
启动clickhouse
systemctl start clickhouse-server
三台机器关闭开机自启
sudo systemctl disable clickhouse-server
使用client连接server
clickhouse-client -m
能够进去sql输入页面则证明单机clickhouse启动成功
clickhouse集群的主要作用有两个
(1)创建副本
(2)实现分片集群(这里我们弄了三个分片,每个分片只有一个副本(即不设副本))
这里我们只讲述如何配置分片集群的相应文件(如果想副本文件的配置,其实就是后面配置
步骤
(1)首先是在config.xml配置文件进行修改,使其关联到外面的metrika.xml文件(文件自己创建)
(2)配置metrika.xml文件的内容
true
192.168.56.101
9000
true
192.168.56.102
9000
true
192.168.56.103
9000
hadoop101
2181
hadoop102
2181
hadoop103
2181
01
rep_1_1
如果是想要节点2设置一个分片的话,则macros下的配置文件需要修改为
02
rep_2_1
如果是想要节点3设置一个分片的话,则macros下的配置文件需要修改为
03
rep_3_1
如果想设置多副本的情况,例如三台机器设置两个分片,只有第一个分片有副本
配置文件可以参考下面:
true
hadoop202
9000
hadoop203
9000
true
hadoop204
9000
hadoop202
2181
hadoop203
2181
hadoop204
2181
01
rep_1_1
上面的配置项macros在不同机器也要记得修改
(3)建表操作
需要注意:
会自动同步到节点2和节点3上
集群名字要和配置文件中的一致
分片和副本名称从配置文件的宏定义中获取
create table st_order_mt on cluster gmall_cluster (
id UInt32,
sku_id String,
total_amount Decimal(16,2),
create_time Datetime
) engine =ReplicatedMergeTree('/clickhouse/tables/{shard}/st_order_mt_0105','{replica}')
partition by toYYYYMMDD(create_time)
primary key (id)
order by (id,sku_id);
接着创建Distribute分布式表
create table st_order_mt_all on cluster gmall_cluster
(
id UInt32,
sku_id String,
total_amount Decimal(16,2),
create_time Datetime
)engine = Distributed(gmall_cluster,default, st_order_mt,hiveHash(sku_id));
参数含义
Distributed(集群名称,库名,本地表名,分片键)
分片键必须是整型数字,所以用HiveHash函数进行转化,也可以用rand()
!!!可以切换到不同节点中,查看“是否”创建表成功,若创建成功,则证明配置文件没问题.集群搭建成功