• ClickHouse(03)ClickHouse怎么安装和部署


    🚀 优质资源分享 🚀

    学习路线指引(点击解锁)知识定位人群定位
    🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。
    💛Python量化交易实战💛入门级手把手带你打造一个易扩展、更安全、效率更高的量化交易系统

    本文会介绍如何安装和部署ClickHouse,官方推荐的几种安装模式,以及安装之后如何启动,ClickHouse集群如何配置等。

    简单来说,ClickHouse的搭建流程如下:

    1. 环境检查,环境依赖安装
    2. 在对应的服务上下载安装Click House
    3. 配置config.xml和user.xml,如果搭建Click House集群,还要配置Host文件和FQDN:(Fully Qualified Domain Name)全限定域名
    4. 启动server
    5. 连接client

    这里先介绍单机的Click House的搭建和启动,下一篇会介绍搭建Click House集群需要配置的东西。

    系统要求

    ClickHouse可以在任何具有x86_64,AArch64或PowerPC64LE CPU架构的Linux,FreeBSD或Mac OS X上运行。

    官方预构建的二进制文件通常针对x86_64进行编译,并利用SSE4.2指令集,因此,除非另有说明,支持它的CPU使用将成为额外的系统需求。

    下面是检查当前CPU是否支持SSE 4.2的命令:

    
    
    |  | $ grep -q sse4\_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    要在不支持SSE4.2或AArch64,PowerPC64LE架构的处理器上运行ClickHouse,官方介绍是说要通过适当的配置调整从源代码构建ClickHouse,这里就不详细介绍了,有兴趣可以自行阅读源码了解。

    安装包下载

    官方文档里面,介绍了下面几种安装方式:DEB、RPM、Tgz、Docker、其他环境安装和使用源码安装,本质上都是一样的,我们选择合适安装方式,根据步骤,一步一步来就可以。

    一般来说,安装包会包含下面的内容:

    • clickhouse-common-static — ClickHouse编译的二进制文件。
    • clickhouse-server — 创建clickhouse-server软连接,并安装默认配置服务
    • clickhouse-client — 创建clickhouse-client客户端工具软连接,并安装客户端配置文件。
    • clickhouse-common-static-dbg — 带有调试信息的ClickHouse二进制文件。

    DEB安装包

    建议使用Debian或Ubuntu的官方预编译deb软件包。运行以下命令来安装包:

    
    
    |  | #安装环境配置和安装软件更新 |
    |  | sudo apt-get install -y apt-transport-https ca-certificates dirmngr |
    |  | sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754 |
    |  |  |
    |  | echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee \ |
    |  |  /etc/apt/sources.list.d/clickhouse.list |
    |  | sudo apt-get update |
    |  |  |
    |  | #安装clickhouse |
    |  | sudo apt-get install -y clickhouse-server clickhouse-client |
    |  |  |
    |  | #启动clickhouse服务 |
    |  | sudo service clickhouse-server start |
    |  |  |
    |  | #启动客户端 |
    |  | clickhouse-client # or "clickhouse-client --password" if you've set up a password. |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    如果要使用最新的版本,请用testing替代stable,一般来说在测试环境使用,生产环境还是要以稳定为主。

    RPM安装包

    CentOS、RedHat和所有其他基于rpm的Linux发行版的使用官方预编译rpm包。

    首先,您需要添加官方存储库:

    
    
    |  | $ sudo yum install -y yum-utils |
    |  | $ sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    然后使用yum安装

    
    
    |  | $ sudo yum install -y clickhouse-server clickhouse-client |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    然后启动clickhouse

    
    
    |  | sudo /etc/init.d/clickhouse-server start |
    |  | clickhouse-client # or "clickhouse-client --password" if you set up a password. |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    和DEB安装安装方式一样,如果要使用最新的版本,请用testing替代stable,一般来说在测试环境使用,生产环境还是要以稳定为主。

    Tgz安装包

    如果操作系统不支持安装deb或rpm包,可以使用官方预编译的tgz软件包。可以通过curl或wget从存储库https://packages.clickhouse.com/tgz/下载。

    下载后解压缩下载资源文件并使用安装脚本进行安装。以下是一个最新稳定版本的安装示例:

    
    
    |  | #获取最后一个版本号 |
    |  | LATEST\_VERSION=$(curl -s https://packages.clickhouse.com/tgz/stable/ | \ |
    |  |  grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -V -r | head -n 1) |
    |  | export LATEST\_VERSION |
    |  |  |
    |  | #下载对应版本号的tgz安装包 |
    |  | curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-$LATEST\_VERSION.tgz" |
    |  | curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-common-static-dbg-$LATEST\_VERSION.tgz" |
    |  | curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-server-$LATEST\_VERSION.tgz" |
    |  | curl -O "https://packages.clickhouse.com/tgz/stable/clickhouse-client-$LATEST\_VERSION.tgz" |
    |  |  |
    |  | #解压压缩包并执行对应的脚本 |
    |  | tar -xzvf "clickhouse-common-static-$LATEST\_VERSION.tgz" |
    |  | #生成ClickHouse编译的二进制文件 |
    |  | sudo "clickhouse-common-static-$LATEST\_VERSION/install/doinst.sh" |
    |  |  |
    |  | tar -xzvf "clickhouse-common-static-dbg-$LATEST\_VERSION.tgz" |
    |  | #生成带有调试信息的ClickHouse二进制文件 |
    |  | sudo "clickhouse-common-static-dbg-$LATEST\_VERSION/install/doinst.sh" |
    |  |  |
    |  | tar -xzvf "clickhouse-server-$LATEST\_VERSION.tgz" |
    |  | #创建clickhouse-server软连接,并安装默认配置服务 |
    |  | sudo "clickhouse-server-$LATEST\_VERSION/install/doinst.sh" |
    |  | #启动服务 |
    |  | sudo /etc/init.d/clickhouse-server start |
    |  |  |
    |  | tar -xzvf "clickhouse-client-$LATEST\_VERSION.tgz" |
    |  | #创建clickhouse-client客户端工具软连接,并安装客户端配置文件 |
    |  | sudo "clickhouse-client-$LATEST\_VERSION/install/doinst.sh" |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    Docker安装包

    通过Docker安装,需要你搭建docker环境,这里就不过多介绍,默认你已经安装了docker,如果还没有可以自行搜索docker的安装,搭建好docker。

    通过docker安装,特别简单,使用官方的镜像运行一个实例就可以,执行下面的命令即可。

    
    
    |  | # 启动服务器实例 |
    |  | $ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server |
    |  |  |
    |  | # 进入docker内部并且进入clickhouse |
    |  | $ docker run -it --rm --link some-clickhouse-server:clickhouse-server --entrypoint clickhouse-client clickhouse/clickhouse-server --host clickhouse-server |
    |  | # OR |
    |  | $ docker exec -it some-clickhouse-server clickhouse-client |
    |  |  |
    |  |  |
    |  | # 通过curl连接到clickhouse,输出'Hello, ClickHouse!' |
    |  | $ echo "SELECT 'Hello, ClickHouse!'" | docker run -i --rm --link some-clickhouse-server:clickhouse-server curlimages/curl 'http://clickhouse-server:8123/?query=' -s --data-binary @- |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    ClickHouse的docker镜像,默认只能通过docker网络访问。

    如果需要外网范围,我们也可以通过将容器内部的特定端口映射到主机端口来公开在Docker中运行的ClickHouse或者通过允许容器直接使用主机端口(也允许存档更好的网络性能)。

    
    
    |  | #将容器内部的特定端口映射到主机端口来公开在Docker中运行的ClickHouse |
    |  | $ docker run -d -p 18123:8123 -p19000:9000 --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server |
    |  |  |
    |  | $ echo 'SELECT version()' | curl 'http://localhost:18123/' --data-binary @- |
    |  |  |
    |  |  |
    |  | #允许容器直接使用主机端口 |
    |  | $ docker run -d --network=host --name some-clickhouse-server --ulimit nofile=262144:262144 clickhouse/clickhouse-server |
    |  | $ echo 'SELECT version()' | curl 'http://localhost:8123/' --data-binary @- |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    如果需要调整config.xml,可以使用下面的命令。

    
    
    |  | $ docker run -d --name some-clickhouse-server --ulimit nofile=262144:262144 -v /path/to/your/config.xml:/etc/clickhouse-server/config.xml clickhouse/clickhouse-server |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    其他安装方式

    ClickHouse还可以使用源码安装,或者手动下载安装包编译,有需要的可以到ClickHouse官网查看文档,这里不做太多篇幅的介绍。

    启动

    运行如下命令在后台启动服务:

    
    
    |  | $ sudo /etc/init.d/clickhouse-server start |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    日志文件将输出在/var/log/clickhouse-server/文件夹。

    如果服务器没有启动,检查/etc/clickhouse-server/config.xml中的配置。

    clickhouse的配置参数主要分了两个文件,一个是config.xml中的服务器配置参数(Server Settings),另一个是常规配置参数(setttings)。

    手动从控制台启动服务器:

    
    
    |  | $ clickhouse-server --config-file=/etc/clickhouse-server/config.xml |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这种情况下,日志将被打印到控制台,这在开发过程中很方便。

    如果配置文件在当前目录中,则不需要指定——config-file参数。默认情况下,它的路径为./config.xml。

    ClickHouse支持访问限制设置。它们位于users.xml文件(与config.xml同级目录)。

    默认情况下,允许default用户从任何地方访问,不需要密码。可查看user/default/networks。 更多信息,请参见Configuration Files。

    启动服务后,您可以使用命令行客户端连接到它:

    
    
    |  | $ clickhouse-client |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    默认情况下,使用default用户并不携带密码连接到localhost:9000。还可以使用–host参数连接到指定服务器。

    示例:

    
    
    |  | $ ./clickhouse-client |
    |  | ClickHouse client version 0.0.18749. |
    |  | Connecting to localhost:9000. |
    |  | Connected to ClickHouse server version 0.0.18749. |
    |  |  |
    |  | :) SELECT 1 |
    |  |  |
    |  | SELECT 1 |
    |  |  |
    |  | ┌─1─┐ |
    |  | │ 1 │ |
    |  | └───┘ |
    |  |  |
    |  | 1 rows in set. Elapsed: 0.003 sec. |
    |  |  |
    |  | :) |
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    当到了这里,你就成功搭建了一个单机版的Click House了。

    ClickHouse相关资料分享

    ClickHouse经典中文文档分享

    参考文章:ClickHouse(03)ClickHouse怎么安装和部署

  • 相关阅读:
    基于蚁群算法的TPS问题求解策略研究(Matlab代码实现)
    redis故障中出现的缓存击穿、缓存穿透、缓存雪崩?
    全球邮企业邮箱服务比较:找寻最佳选择
    //归并排序,递归方法
    java计算机毕业设计汉服配饰销售系统源码+mysql数据库+系统+LW文档+部署
    Solidity 小白教程:20. 发送 ETH
    几个环境下的cuda版本
    Java核心编程(14)
    Leetcode1191. K-Concatenation Maximum Sum
    简历模板百度网盘自取
  • 原文地址:https://blog.csdn.net/u013190417/article/details/125631544