二 clickhouse-部署
ClickHouse支持运行在主流64位CPU架构(X86、AArch和 PowerPC)的Linux操作系统之上,可以通过源码编译、预编译压缩包、Docker镜像和RPM等多种方法进行安装。
1 单节点部署
1) 信息步骤
-
安装curl工具
yum install -y curl
-
添加clickhouse的yum镜像
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash
-
检查镜像情况
[root@linux03 ~]# yum list | grep clickhouse clickhouse-client.x86_64 20.8.3.18-1.el7 @Altinity_clickhouse clickhouse-common-static.x86_64 20.8.3.18-1.el7 @Altinity_clickhouse clickhouse-server.x86_64 20.8.3.18-1.el7 @Altinity_clickhouse clickhouse-server-common.x86_64 20.8.3.18-1.el7 @Altinity_clickhouse clickhouse-debuginfo.x86_64 20.1.11.73-1.el7 Altinity_clickhouse clickhouse-odbc.x86_64 1.1.9-1.el7 Altinity_clickhouse clickhouse-test.x86_64 20.8.3.18-1.el7 Altinity_clickhouse clicktail.x86_64 1.0.20180401-1 Altinity_clickhouse
-
安装clickhouse的服务端和客户端
yum install -y clickhouse-server clickhouse-client yum -y install clickhouse-client
-
启动服务端
service clickhouse-server start
-
启动交互式客户端
[root@ck1 /]# clickhouse-client -m ClickHouse client version 20.8.3.18. Connecting to localhost:9000 as user default. Connected to ClickHouse server version 20.8.3 revision 54438. ck1 :)
2) CK目录介绍
程序在安装的过程中会自动构建整套目录结构,接下来分别说明它们的作用。
(1) /etc/clickhouse-server:
服务端的配置文件目录,包括全局配置config.xml 和用户配置users.xml等。
(2)/var/lib/clickhouse:
默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)。
(3)/var/log/clickhouse-server
默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)。
(4)/usr/bin
find ./ -name "clickhouse*" clickhouse:主程序的可执行文件。 clickhouse-client:一个指向ClickHouse可执行文件的软链接,供客户端连接 使用。 clickhouse-server:一个指向ClickHouse可执行文件的软链接,供服务端启动 使用。 clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。
3) 启动
在启动之前建议首先修改CK的核心参数配置打开config.xml配置文件,修改数据保存的地址:
/etc/clickhouse-server [root@linux03 clickhouse-server]# ll total 44 -rw-r--r--. 1 root root 33742 Dec 8 20:47 config.xml -rw-r--r--. 1 root root 5587 Oct 5 2020 users.xml
vi config.xml
<path>/chbase/data/</path> <tmp_path>/chbase/data/tmp/</tmp_path> <user_files_path>/chbase/data/user_files/</user_files_path>
ClickHouse的底层访问接口支持TCP和HTTP两种协议,其中,TCP 协议拥有更好的性能,其默认端口为9000,主要用于集群间的内部通信及CLI客户端;而HTTP协议则拥有更好的兼容性,可以通过REST服务的形式被广泛用于JAVA、Python等编程语言的客户端,其默认端口为8123。通常而言,并不建议用户直接使用底层接口访问ClickHouse,更为推荐的方式是通过CLI和JDBC这些封装接口,因为它们更加简单易用!
-
启动服务
clickhouse-server start netstat -nltp | grep 9000 tcp6 0 0 :::9000 :::* LISTEN 1354/clickhouse-ser
交互式客户端
-
-
--port
-
-m 交互式客户端中可以执行多行函数
-
# clickhouse-client -m ClickHouse client version 20.8.3.18. Connecting to localhost:9000 as user default. Connected to ClickHouse server version 20.8.3 revision 54438. linux03 :)
(1)--host/-h:服务端的地址,默认值为localhost。如果修改了 config.xml内的listen_host,则需要依靠此参数指定服务端 地址
(3)--user/-u:登录的用户名,默认值为default。如果使用非 default的其他用户名登录,则需要使用此参数指定,例如下 面所示代码。关于自定义用户的介绍将在后面介绍或者关注博客地址。 https://blog.csdn.net/qq_37933018?t=1
(4)--password:登录的密码,默认值为空。如果在用户定义中未设置 密码,则不需要填写(例如默认的default用户)。
(5)--database/-d:登录的数据库,默认值为default。
(6)--query/-q:只能在非交互式查询时使用,用于指定SQL语句。
(7)--multiquery/-n:在非交互式执行时,允许一次运行多条SQL语 句,多条语句之间以分号间隔。
(8)--time/-t:在非交互式执行时,会打印每条SQL的执行时间,
-
非交互式客户端
非交互式执行方式一般只执行一次 ,不进入到客户中的非操作方式 ,用户测试,数据导入, 数据导出非常方便 !
clickhouse-client -n -qclickhouse-client -q -n 'show databases; use test1;' ;
-n 支持同时执行多个SQL语句 ,语句之间使用
;号分割-q 执行SQL语句
只用这种方式也可以实现数据的导入和数据的导出!后面我们会介绍到!!
vi conf.xml <listen_host>::</listen_host> service clickhouse-server restart -- 重启服务 clickhouse-client -h linux01
2 集群部署
https://repo.yandex.ru/clickhouse/rpm/testing/x86_64/
可以将rpm二进制软件安装包 下载到本地 使用 rpm命令安装
在每个节上安装ZK