当前位置:网站首页>ClickHouse(03)ClickHouse怎么安装和部署
ClickHouse(03)ClickHouse怎么安装和部署
2022-07-06 22:38:00 【虚幻私塾】
优质资源分享
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Python实战微信订餐小程序 🧡 | 进阶级 | 本课程是python flask+微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一个全栈订餐系统。 |
Python量化交易实战 | 入门级 | 手把手带你打造一个易扩展、更安全、效率更高的量化交易系统 |
本文会介绍如何安装和部署ClickHouse,官方推荐的几种安装模式,以及安装之后如何启动,ClickHouse集群如何配置等。
简单来说,ClickHouse的搭建流程如下:
- 环境检查,环境依赖安装
- 在对应的服务上下载安装Click House
- 配置config.xml和user.xml,如果搭建Click House集群,还要配置Host文件和FQDN:(Fully Qualified Domain Name)全限定域名
- 启动server
- 连接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" |
要在不支持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. |
如果要使用最新的版本,请用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 |
然后使用yum安装
| | $ sudo yum install -y clickhouse-server clickhouse-client |
然后启动clickhouse
| | sudo /etc/init.d/clickhouse-server start |
| | clickhouse-client # or "clickhouse-client --password" if you set up a password. |
和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" |
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 @- |
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 @- |
如果需要调整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 |
其他安装方式
ClickHouse还可以使用源码安装,或者手动下载安装包编译,有需要的可以到ClickHouse官网查看文档,这里不做太多篇幅的介绍。
启动
运行如下命令在后台启动服务:
| | $ sudo /etc/init.d/clickhouse-server start |
日志文件将输出在/var/log/clickhouse-server/文件夹。
如果服务器没有启动,检查/etc/clickhouse-server/config.xml中的配置。
clickhouse的配置参数主要分了两个文件,一个是config.xml中的服务器配置参数(Server Settings),另一个是常规配置参数(setttings)。
手动从控制台启动服务器:
| | $ clickhouse-server --config-file=/etc/clickhouse-server/config.xml |
在这种情况下,日志将被打印到控制台,这在开发过程中很方便。
如果配置文件在当前目录中,则不需要指定——config-file参数。默认情况下,它的路径为./config.xml。
ClickHouse支持访问限制设置。它们位于users.xml文件(与config.xml同级目录)。
默认情况下,允许default用户从任何地方访问,不需要密码。可查看user/default/networks。 更多信息,请参见Configuration Files。
启动服务后,您可以使用命令行客户端连接到它:
| | $ clickhouse-client |
默认情况下,使用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. |
| | |
| | :) |
当到了这里,你就成功搭建了一个单机版的Click House了。
ClickHouse相关资料分享
边栏推荐
- 组织实战攻防演练的5个阶段
- Error: No named parameter with the name ‘foregroundColor‘
- 架构实战训练营|课后作业|模块 6
- The worse the AI performance, the higher the bonus? Doctor of New York University offered a reward for the task of making the big model perform poorly
- 九章云极DataCanvas公司蝉联中国机器学习平台市场TOP 3
- STM32 encapsulates the one key configuration function of esp8266: realize the switching between AP mode and sta mode, and the creation of server and client
- 《原动力 x 云原生正发声 降本增效大讲堂》第三讲——Kubernetes 集群利用率提升实践
- 深入解析Kubebuilder
- [practice leads to truth] is the introduction of import and require really the same as what is said on the Internet
- Organize five stages of actual attack and defense drill
猜你喜欢
Win11 control panel shortcut key win11 multiple methods to open the control panel
计数排序基础思路
[line segment tree practice] recent requests + area and retrieval - array modifiable + my schedule I / III
当 Knative 遇见 WebAssembly
What about the collapse of win11 playing pubg? Solution to win11 Jedi survival crash
Why do many people misunderstand technical debt
【Android Kotlin协程】利用CoroutineContext实现网络请求失败后重试逻辑
A detailed explanation of head pose estimation [collect good articles]
深入解析Kubebuilder
DFS and BFS concepts and practices +acwing 842 arranged numbers (DFS) +acwing 844 Maze walking (BFS)
随机推荐
Analyse approfondie de kubebuilder
Introduction to the PureMVC series
How to open win11 remote desktop connection? Five methods of win11 Remote Desktop Connection
If you ask me about R code debugging, I will tell you head, STR, help
如何设计 API 接口,实现统一格式返回?
How does vscade use the built-in browser?
STM32 encapsulates the one key configuration function of esp8266: realize the switching between AP mode and sta mode, and the creation of server and client
Common Oracle SQL statements
Meaning of 'n:m' and '1:n' in database design
A line of R code draws the population pyramid
A row of code r shows the table of Cox regression model
U++4 接口 学习笔记
[Android kotlin collaboration] use coroutinecontext to realize the retry logic after a network request fails
A detailed explanation of head pose estimation [collect good articles]
【736. Lisp 语法解析】
Zhou Yajin, a top safety scholar of Zhejiang University, is a curiosity driven activist
Flex layout and usage
Introduction to namespace Basics
offer如何选择该考虑哪些因素
DFS和BFS概念及实践+acwing 842 排列数字(dfs) +acwing 844. 走迷宫(bfs)