1、确定防火墙处于关闭状态
[root@rocketmq-nameserver2 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
2、取消打开文件数限制
# 在/etc/security/limits.conf文件的末尾加入以下内容
[root@rocketmq-nameserver2 ~]# sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
# 在/etc/security/limits.d/20-nproc.conf 文件的末尾加入以下内容
[root@rocketmq-nameserver2 ~]# sudo vim /etc/security/limits.d/20-nproc.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
3、安装依赖
# 安装依赖libtool
[root@rocketmq-nameserver2 ~]# sudo yum install -y libtool
# 安装依赖*unixODBC*
[root@rocketmq-nameserver2 ~]# sudo yum install -y *unixODBC*
4、 取消selinux
[root@rocketmq-nameserver2 ~]# sudo vim /etc/selinux/config
# SELINUX=enforcing
SELINUX=disabled
5、下载安装包
[root@rocketmq-nameserver2 clickhouse]# ll
总用量 938164
-rw-r--r-- 1 root root 78074 7月 24 10:10 clickhouse-client-21.7.3.14-2.noarch.rpm
-rw-r--r-- 1 root root 174283244 7月 24 10:10 clickhouse-common-static-21.7.3.14-2.x86_64.rpm
-rw-r--r-- 1 root root 786208040 7月 24 10:12 clickhouse-common-static-dbg-21.7.3.14-2.x86_64.rpm
-rw-r--r-- 1 root root 101969 7月 24 10:10 clickhouse-server-21.7.3.14-2.noarch.rpm
6、全部安装
[root@rocketmq-nameserver2 clickhouse]# sudo rpm -ivh *.rpm
7、查看安装情况
[root@rocketmq-nameserver2 clickhouse]# sudo rpm -qa|grep clickhouse
clickhouse-server-21.7.3.14-2.noarch
clickhouse-client-21.7.3.14-2.noarch
clickhouse-common-static-dbg-21.7.3.14-2.x86_64
clickhouse-common-static-21.7.3.14-2.x86_64
8、修改配置文件
# 把 <listen_host>::</listen_host> 的注释打开,这样的话才能让 ClickHouse 被除本
机以外的服务器访问
[root@rocketmq-nameserver2 clickhouse]# sudo vim /etc/clickhouse-server/config.xml
<listen_host>::</listen_host>
9、启动clickhouse
# 启动clickhouse
[root@rocketmq-nameserver2 clickhouse]# sudo systemctl start clickhouse-server
# 查看clickhouse状态
[root@rocketmq-nameserver2 clickhouse]# sudo systemctl status clickhouse-server
# 停止clickhouse
[root@rocketmq-nameserver2 clickhouse]# sudo systemctl stop clickhouse-server
10、关闭开机自启动
[root@rocketmq-nameserver2 clickhouse]# sudo systemctl disable clickhouse-server
11、使用client连接server
[root@rocketmq-nameserver2 clickhouse]# clickhouse-client -m
ClickHouse client version 1.1.54236.
Connecting to localhost:9000.
Connected to ClickHouse server version 1.1.54236.
12、配置副本
# 按照上面的步骤部署三台clickhouse
192.168.171.128
192.168.171.129
192.168.171.130
# 启动zookeeper集群
[root@node3 bin]# zkServer.sh start
# 修改配置文件,配置zookeeper,配置好之后,重启服务器
[root@node3 bin]# sudo vim /etc/clickhouse-server/config.xml
<zookeeper>
<node>
<host>192.168.171.128</host>
<port>2181</port>
</node>
<node>
<host>192.168.171.129</host>
<port>2181</port>
</node>
<node>
<host>192.168.171.130</host>
<port>2181</port>
</node>
</zookeeper>
13、测试副本
# 分别在三台服务器上创建表
# 192.168.171.128
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);
# 192.168.171.129
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);
# 192.168.171.130
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);
# 在其中一台服务器上插入数据,在另外两台服务器可以查询得到结果,说明配置正确
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');
14、clickhouse监控
# 1、分别安装Prometheus和Grafana
# 2、修改Prometheus配置,在 scrape_configs 配置项下添加配置
[root@node3 prometheus-2.37.0]# sudo vim prometheus.yml
- job_name: "clickhouse-1"
static_configs:
- targets: ['192.168.171.128:9363']
# 3、编辑/etc/clickhouse-server/config.xml,打开如下配置并重启 ClickHouse
<prometheus>
<endpoint>/metrics</endpoint>
<port>9363</port>
<metrics>true</metrics>
<events>true</events>
<asynchronous_metrics>true</asynchronous_metrics>
<status_info>true</status_info>
</prometheus>
# 访问web
浏览器打开: http://192.168.171.128:9363/metrics,看到信息说明 ClickHouse 开启 Metrics 服务成功。