下载地址:https://packagecloud.io/altinity/clickhouse
- clickhouse-client 包,包含 clickhouse-client 应用程序,它是交互式ClickHouse控制台客户端。
- clickhouse-common 包,包含一个ClickHouse可执行文件。
- clickhouse-server 包,包含要作为服务端运行的ClickHouse配置文件。
总共包含4个RPM包
clickhouse-client-19.17.10.1-1.el7.x86_64.rpm clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm clickhouse-server-19.17.10.1-1.el7.x86_64.rpm clickhouse-server-common-19.17.10.1-1.el7.x86_64.rpm |
安装:
- [root@localhost java]# wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-client-19.17.10.1-1.el7.x86_64.rpm/download.rpm
- [root@localhost java]# wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-common-static-19.17.10.1-1.el7.x86_64.rpm/download.rpm
- [root@localhost java]# wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-19.17.10.1-1.el7.x86_64.rpm/download.rpm
- [root@localhost java]# wget --content-disposition https://packagecloud.io/Altinity/clickhouse/packages/el/7/clickhouse-server-common-19.17.10.1-1.el7.x86_64.rpm/download.rpm
全部安装:
[root@localhost java]# rpm -ivh *.rpm
安装成功!
注意:若安装过程中出现缺少依赖包问题,可使用yum安装,小编安装过程比较顺利,没有缺少依赖包。
目录结构:
/etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户配置users.xml等
/etc/clickhouse-client:客户端配置,包括conf.d文件夹和config.xml文件
/var/lib/clickhouse:默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)
/var/log/clickhouse-server:默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)
配置文件:
/etc/security/limits.d/clickhouse.conf:文件句柄数量的配置
该配置也可以通过修改/etc/clickhouse-server/config.xml max_open_files属性
[root@localhost limits.d]# vi /etc/clickhouse-server/config.xml
/etc/cron.d/clickhouse-server: cron定时任务配置,用于恢复因异常原因中断的ClickHouse服务进程,其默认配置如下。
[root@localhost limits.d]# cat /etc/cron.d/clickhouse-server
可执行文件:
/usr/bin目录下可执行文件
clickhouse:主程序的可执行文件。
clickhouse-client:指向ClickHouse可执行文件的软链接,供客户端连接使用。
clickhouse-server:指向ClickHouse可执行文件的软链接,供服务端启动使用。
clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。
启动与连接:
启动clickserver:
[root@localhost java]# service clickhouse-server start
停止clickserver:
[root@localhost java]# service clickhouse-server stop
查看clickserver状态:
[root@localhost java]# service clickhouse-server status
使用客户端client连接server:
[root@localhost java]# clickhouse-client
基本操作:
创建数据库:
语法: CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] [ENGINE = engine(...)] |
Eg: localhost :) CREATE DATABASE IF NOT EXISTS test_clickhouse |
默认情况下,ClickHouse使用的是原生数据库引擎Ordinary(在此数据库下可以使用任意类型的表引擎,在绝大多数情况下都只需使用默认的数据库引擎。同样也可以使用MySQL引擎,使用MySQL引擎,可以直接在ClickHouse中操作MySQL对应数据库中的表。
语法: CREATE DATABASE [IF NOT EXISTS] db_name [ON CLUSTER cluster] ENGINE = MySQL('host:port', ['database' | database], 'user', 'password') |
Eg: localhost :) CREATE DATABASE mysql_db ENGINE = MySQL('127.0.0.1:3306', 'clickhouse', 'root', '123456'); |
通过clickhouse直接读取mysql中clickhouse库的stu表:
创建表:
语法: CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
|
Eg: create table test(id Int32,name String)engine=Memory; |
上边创建了一张内存表,即使用Memory引擎。表引擎决定了数据表的特性,也决定了数据将会被如何存储及加载。
Memory引擎是ClickHouse最简单的表引擎,数据只会被保存在内存中,在服务重启时数据会丢失。
注意:
因为上边使用了MySQL引擎的数据库mysq_db,无法通过该种方式创建表,会报错,。需要切换其他数据库的用其他引擎。
插入数据:
localhost :) INSERT INTO `test_clickhouse`.`test`(`id`, `name`) VALUES (1, 'aaa'); localhost :) INSERT INTO `test_clickhouse`.`test`(`id`, `name`) VALUES (2, 'bbb'); localhost :) INSERT INTO `test_clickhouse`.`test`(`id`, `name`) VALUES (3, 'ccc'); |
查看表结构:
localhost :) desc test; |