rpm安装clickhouse(24.11.8.5单机)
环境:
OS:Centos 7
db:24.11.8.5
1.下载安装介质
下载地址为:https://packagecloud.io/Altinity/clickhouse
或是这里下载
https://mirrors.tuna.tsinghua.edu.cn/clickhouse/rpm/stable/x86_64/
我这里下载的是如下三个包
clickhouse-client-24.8.11.5.noarch.rpm
clickhouse-common-static-24.8.11.5.x86_64.rpm
clickhouse-server-24.8.11.5.noarch.rpm
[root@localhost soft]# mkdir /soft/clickhouse
[root@localhost soft]# cd /soft/clickhouse
[root@localhost soft]#wget https://packages.clickhouse.com/rpm/stable/clickhouse-server-24.8.11.5.x86_64.rpm
[root@localhost soft]#wget https://packages.clickhouse.com/rpm/stable/clickhouse-common-static-24.8.11.5.x86_64.rpm
[root@localhost soft]#wget https://packages.clickhouse.com/rpm/stable/clickhouse-client-24.8.11.5.x86_64.rpm
2.安装
[root@localhost clickhouse]#rpm -ivh clickhouse-common-static-24.8.11.5.x86_64.rpm
[root@localhost clickhouse]#rpm -ivh clickhouse-client-24.8.11.5.x86_64.rpm
[root@localhost clickhouse]#rpm -ivh clickhouse-server-24.8.11.5.x86_64.rpm
这里会提示输入默认的密码,可以直接回车 不需要密码,后面单独对用户进行设置密码
若之前安装了历史版本的,需要进行删除后再安装
[root@localhost clickhouse]# rpm -qa|grep clickhouse
clickhouse-client-21.9.7.2-2.noarch
clickhouse-common-static-21.9.7.2-2.x86_64
clickhouse-server-21.9.7.2-2.noarch
[root@localhost clickhouse]#rpm -e clickhouse-server-21.9.7.2-2.noarch
[root@localhost clickhouse]#rpm -e clickhouse-client-21.9.7.2-2.noarch
[root@localhost clickhouse]#rpm -e clickhouse-common-static-21.9.7.2-2.x86_64
3.修改数据目录和日志目录
创建数据目录和日志目录
[root@localhost ~]# mkdir -p /home/middle/clickhouse/data
[root@localhost ~]# mkdir -p /home/middle/clickhouse/log
[root@localhost ~]# chown -R clickhouse:clickhouse /home/middle/clickhouse/
修改数据目录
vi /etc/clickhouse-server/config.xml
原来的
<!-- Path to data directory, with trailing slash. -->
<path>/var/lib/clickhouse/</path>
修改为
<!-- Path to data directory, with trailing slash. -->
<path>/home/middle/clickhouse/data/</path>
修改日志目录
原来的:
<level>trace</level>
<log>/var/log/clickhouse-server/clickhouse-server.log</log>
<errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
修改为:
<level>trace</level>
<log>/home/middle/clickhouse/log/clickhouse-server.log</log>
<errorlog>/home/middle/clickhouse/log/clickhouse-server.err.log</errorlog>
4.配置远程登录
[root@localhost clickhouse]#vi /etc/clickhouse-server/config.xml
把下面2行注释去掉,之前是注释的,现在要开启
原来的:
<!-- Default values - try listen localhost on IPv4 and IPv6. -->
<!--
<listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>
-->
修改为:
<!-- Default values - try listen localhost on IPv4 and IPv6. -->
<listen_host>::1</listen_host>
<listen_host>0.0.0.0</listen_host>
5.修改允许删除掉任何表和表分区,将如下两行去掉注释,使其生效
[root@localhost clickhouse]#vi /etc/clickhouse-server/config.xml
原来的:
<!-- <max_table_size_to_drop>0</max_table_size_to_drop> -->
<!-- <max_partition_size_to_drop>0</max_partition_size_to_drop> -->
修改为:
<max_table_size_to_drop>0</max_table_size_to_drop>
<max_partition_size_to_drop>0</max_partition_size_to_drop>
6.启动clickhouse-server
centos 7需要使用systemctl启动
systemctl status clickhouse-server.service
systemctl start clickhouse-server.service
systemctl stop clickhouse-server.service
clickhouse默认使用的是9000端口,注意避免端口冲突:
<tcp_port>9000</tcp_port>
或是使用如下方式启动或停止
[root@localhost middle]# clickhouse start
chown -R clickhouse: '/var/run/clickhouse-server/'
Will run sudo --preserve-env -u 'clickhouse' /usr/bin/clickhouse-server --config-file /etc/clickhouse-server/config.xml --pid-file /var/run/clickhouse-server/clickhouse-server.pid --daemon
Waiting for server to start
Waiting for server to start
Server started
[root@localhost]# clickhouse stop
[root@localhost middle]# clickhouse stop
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 12262.
The process with pid = 12262 is running.
Sent terminate signal to process with pid 12262.
Waiting for server to stop
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 12262.
The process with pid = 12262 is running.
Waiting for server to stop
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 12262.
The process with pid = 12262 is running.
Waiting for server to stop
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 12262.
The process with pid = 12262 is running.
Waiting for server to stop
/var/run/clickhouse-server/clickhouse-server.pid file exists and contains pid = 12262.
The process with pid = 12262 is running.
Waiting for server to stop
Now there is no clickhouse-server process.
Server stopped
7.登陆
这个时候是免密登录
[root@localhost log]# clickhouse-client -h 192.168.1.134 -m -u default --port=9000
ClickHouse client version 24.8.11.5 (official build).
Connecting to 192.168.1.134:9000 as user default.
Connected to ClickHouse server version 24.8.11.
localhost :) show databases;
SHOW DATABASES
Query id: 012f544b-e900-4c21-9621-f8984b987b36
┌─name───────────────┐
1. │ INFORMATION_SCHEMA │
2. │ default │
3. │ information_schema │
4. │ system │
└────────────────────┘
4 rows in set. Elapsed: 0.003 sec.
localhost :) select version();
SELECT version()
Query id: d3a3f703-7cb2-4354-8686-6275af7409a9
┌─version()─┐
1. │ 24.8.11.5 │
└───────────┘
1 row in set. Elapsed: 0.002 sec.
8.配置默认密码
生成加密密码,我这里明文密码是 clickhouse123 ,对其加密后生成的串如下
[root@localhost log]# echo -n clickhouse123 | openssl dgst -sha256
(stdin)= 2cca9d8714615f4132390a3db9296d39ec051b3faff87be7ea5f7fe0e2de14c9
9.修改users.xml配置文件
修改配置文件:/etc/clickhouse-server/users.xml
在默认账号栏目加入如下项<default></default>
<password_sha256_hex>2cca9d8714615f4132390a3db9296d39ec051b3faff87be7ea5f7fe0e2de14c9</password_sha256_hex>
同时注释掉如下项目
<password></password>
<password_sha256_hex> 和 <password> 不能同时出现,最后效果如下:
然后重新启动
[root@localhost log]# systemctl stop clickhouse-server.service
[root@localhost log]# systemctl start clickhouse-server.service
尝试使用密码登录:
clickhouse-client -h 192.168.1.134 -m -u default --password clickhouse123
localhost :) select version();
SELECT version()
Query id: 31dc8e72-443c-431b-a505-954e3b9f7666
┌─version()─┐
1. │ 24.8.11.5 │
└───────────┘
1 row in set. Elapsed: 0.002 sec.
10.确保默认账号有创建其他用户的权限
more /etc/clickhouse-server/users.xml
确保该栏目设置的值为1,之前版本默认是0的
<access_management>1</access_management>
11.创建用户
说明:命令行模式创建的账号,不会体现在 /etc/clickhouse-server/users.xml 文件中
使用默认账号登录
clickhouse-client -h 192.168.1.134 -m -u default --password clickhouse123
localhost :) create user hxl identified with plaintext_password by 'clickhouse123';
CREATE USER hxl IDENTIFIED WITH plaintext_password BY 'clickhouse123'
Query id: 87eebf04-ca9e-4aa7-95c3-2a3a48f387c2
Ok.
0 rows in set. Elapsed: 0.002 sec.
查看当前的账号
localhost :) show users;
SHOW USERS
Query id: 199e47ce-45cc-4edf-977d-0f8a690aaa9a
┌─name────┐
1. │ default │
2. │ hxl │
└─────────┘
创建数据库
localhost :) create database db_test;
赋予数据库的权限给到新创建的用户hxl
grant all on db_test.* to hxl;
使用新创建的账号登录
clickhouse-client -h 192.168.1.134 -m -u hxl --password clickhouse123
localhost :) show databases;
SHOW DATABASES
Query id: c962fbb4-5044-4ba9-86d5-b07f6893c37b
┌─name────┐
1. │ db_test │
└─────────┘
进入数据库创建表
localhost :) use db_test;
CREATE TABLE hxl_metric
(
`app` String,
`block_qps` Int64,
`count` Int64,
`exception_qps` Int64,
`gmt_create` DateTime DEFAULT now(),
`gmt_modified` DateTime DEFAULT now(),
`id` Int64,
`machine_ip` Nullable(String),
`pass_qps` Int64,
`resource` String,
`resource_code` Int64,
`rt` Float64,
`success_qps` Int64,
`timestamp` DateTime DEFAULT now(),
`month` Date DEFAULT now()
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(month)
ORDER BY (timestamp, app, resource)
SETTINGS index_granularity = 8192;
insert into hxl_metric(app,timestamp,resource) values('app1',now(),'res01');
insert into hxl_metric(app,timestamp,resource,month) values('app1',now(),'res01',now());
insert into hxl_metric(app,timestamp,resource,month) values('app1',now(),'res01',addDays(now(),30));
密码加密的方式创建用户
localhost :) create user hxl01 identified with sha256_password by 'clickhouse123';
这个时候会在目录:/var/lib/clickhouse/access 生成相应的sql文件
[root@localhost access]# more 7e45b28b-c2bf-cc1c-e8c3-b9a38d7115a5.sql
ATTACH USER hxl01 IDENTIFIED WITH sha256_hash BY 'B1334DE3CCC8995F831701EECFE0D4AAEF3D4F0450DC8ACC8A00430777028E22'
SALT '10EF16477DA9E89771A790256A0E99664A8CC6A93C7D8DA9EFA1CA62FBB883F0';
[root@localhost access]# pwd
授权:
grant all on db_test.* to hxl01;
使用刚才创建的账号登录
clickhouse-client -h 192.168.1.134 -m -u hxl01 --password clickhouse123
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2022-01-17 clickhouse集群部署21.6
2020-01-17 配上ssh等效连接
2019-01-17 es日常维护