时序数据库:clickhouse和clickhouse-client的安装使用

背景

公司的项目中使用到了Clickhouse,在该时序数据库安装完后,需要对业务使用到的相关表进行初始化。开发提供了一份建表的sql文件,这里我需要执行该sql文件进行初始化即可。这里我使用到了Clickhouse的原生命令行客户端:Clickhouse-client,用于快速导入。 

安装clickhouse

1)验证是否支持sse4.2

#clickhouse的server已经client仅支持x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行
grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

2)安装clickhouse及clickhouse-client

如果是Ubuntu:

sudo apt-get install apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4

echo "deb https://repo.clickhouse.tech/deb/stable/ main/" | sudo tee 
    /etc/apt/sources.list.d/clickhouse.list

#更新deb源
sudo apt-get update

#安装clickhouse-server和clickhouse-client
sudo apt-get install -y clickhouse-server clickhouse-client
#启动clickhouse-server
sudo service clickhouse-server start

如果是Centos:

sudo yum install yum-utils
sudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPG
sudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64
#安装clickhouse-server和clickhouse-client
sudo yum install clickhouse-server clickhouse-client
#启动clickhouse-server
sudo /etc/init.d/clickhouse-server start

3)Clickhouse配置

Clickhouse-server/etc/clickhouse-server/config.xml,根据自己的实际情况修改。

Clickhouse-client: 按优先级依次向下查找

  • ./clickhouse-client.xml
  • ~/.clickhouse-client/config.xml
  • /etc/clickhouse-client/config.xml

我们修改/etc/clickhouse-client/config.xml,增加user和password,secure三个xml元素。

<config>
  <user>defaultuser>
  <password>xxxpassword>
  <secure>Falsesecure>
  <openSSL>
    <client> 
      <loadDefaultCAFile>trueloadDefaultCAFile>
      <cacheSessions>truecacheSessions>
      <disableProtocols>sslv2,sslv3disableProtocols>
      <preferServerCiphers>truepreferServerCiphers>
      
      <invalidCertificateHandler>
        
        <name>RejectCertificateHandlername>
      invalidCertificateHandler>
    client>
  openSSL>

  <prompt_by_server_display_name>
    <default>{display_name} :) default>
    <test>{display_name} x01e[1;32mx02:)x01e[0mx02 test> 
    <production>{display_name} x01e[1;31mx02:)x01e[0mx02 production> 
  prompt_by_server_display_name>
config>

Clickhouse安装完成后,我们使用Clickhouse-client简单操作下Clickhouse:

命令行参数:

  • --host, -h -– 服务端的host名称, 默认是localhost。您可以选择使用host名称或者IPv4或IPv6地址,常用
  • --port – 连接的端口,默认值:9000。注意HTTP接口以及TCP原生接口使用的是不同端口,常用
  • --user, -u – 用户名。 默认值:default,常用
  • --password – 密码。 默认值:空字符串,常用
  • --query, -q – 使用非交互模式查询,常用
  • --database, -d – 默认当前操作的数据库. 默认值:服务端默认的配置(默认是default),常用
  • --multiline, -m – 如果指定,允许多行语句查询(Enter仅代表换行,不代表查询语句完结),常用
  • --multiquery, -n – 如果指定, 允许处理用;号分隔的多个查询,只在非交互模式下生效,常用
  • --format, -f – 使用指定的默认格式输出结果。
  • --vertical, -E – 如果指定,默认情况下使用垂直格式输出结果。这与–format=Vertical相同。在这种格式中,每个值都在单独的行上打印,这种方式对显示宽表很有帮助。
  • --time, -t – 如果指定,非交互模式下会打印查询执行的时间到stderr中。
  • --stacktrace – 如果指定,如果出现异常,会打印堆栈跟踪信息。
  • --config-file – 配置文件的名称,常用
  • --secure – 如果指定,将通过安全连接连接到服务器。
  • --history_file — 存放命令历史的文件的路径。
  • --param_ — 查询参数配置查询参数.

例子

1)使用Clickhouse-client连接Clickhouse的default数据库。

格式:clickhouse-client --host Clickhouse的host地址 --user 登录名 --password 密码  --port Clickhouse的端口号

clickhouse-client --host 172.30.0.252 --user default --password xxx --port 9090

2)导入sql文件到指定clickhouse

格式:clickhouse-client --host Clickhouse的host地址 --user 登录名 --password 密码  --port Clickhouse的端口号 --multiquery < xxx.sql 

clickhouse-client --host 172.30.0.252 --user default --password qingcloud2019 --port 9090 --multiquery < ck.sql

以上就是对Clickhouse的搭建和简单使用说明,欢迎朋友们留言~

博主:测试生财(一个不为996而996的测开码农)

座右铭:专注测试开发与自动化运维,努力读书思考写作,为内卷的人生奠定财务自由。

内容范畴:技术提升,职场杂谈,事业发展,阅读写作,投资理财,健康人生。

csdn:https://blog.csdn.net/ccgshigao

博客园:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

微信公众号:测试生财(定期分享独家内容和资源)

原文地址:https://www.cnblogs.com/qa-freeroad/p/14394067.html