• 时序数据库: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

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

  • 相关阅读:
    slice()、substring()、substr()的区别用法
    程序员如何快速上手一个自己不太熟悉的新项目?有什么技巧?
    计算重复字符串长度
    计算机视觉算法研发岗招聘要求
    C++进阶STL-2
    C++进阶STL-1
    拼硬币
    序列找数
    寻找合法字符串
    字符串是否由子串拼接
  • 原文地址:https://www.cnblogs.com/qa-freeroad/p/14394067.html
Copyright © 2020-2023  润新知