ClickHouse安装和部署

ClickHouse安装过程:

ClickHouse支持运行在主流64位CPU架构(X86、AArch和PowerPC)的Linux操作 系统之上,可以通过源码编译、预编译压缩包、Docker镜像和RPM等多种方法进行安装。由于篇幅有限,本节着重讲解离线RPM的安装方法。更多的安装方法请参阅官方于册,此处不再赘述。

1、环境准备

在这个示例中,演示服务器的操作系统为CentOS 7.7,而ClickHouse 选用19.17.4.11版本。在正式安装之前,我们还需要做一些准备工作。

1.1 下载RPM安装包

用于安装的RPM包可以从下面两个仓库中任选一个进行下载:https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
https://packagecloud.io/altinity/clickhouse
需要下载以下4个安装包文件:
clickhouse-client-19.17.4.11-1.c1.x86_64.rpm
clickhouse-comman-static-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-19.17.4.11-1.c1.x86_64.rpm
clickhouse-server-common-19.17.4.11-1.e17.x86_64.rpm

1.2 关闭防火墙井检查环境依赖

首先,考虑到后续的集群部署,通常建议关闭本机的防火墙,在Centos 7下关闭防墙的方法如下:

–关闭防火墙

systemccl stop firewnlld.service 

–禁用开机启必项

systenct1 disable firewalld.oervice

接着,需要验证当前服务器的CPU是否支持SSE4.2指令集,因为向量化执行需要用到这项特性:

 # grcp -q sse4_ 2  /proc/cpuinfo s& echo "SSE 4.2 supported" || echo " SSE 4.2 not supported"

如果不支持SSE指令集,则不能直接使用先前下载的预编泽安装包,需要通过源码编译特定的版本进行安装。

1.3 设置 FQDN

现在需要为服务器设置FQDN:

#hostnamectl--static set-hostname ch5.nauu.com

验证修改是否生效:

# hostname -f   ch5.nauu.com

最后需要配置hosts文件,配置后的效果如下:

cat /etc/hosts
......
10.37.129.10 ch5.nauu.com  ch5 

2、安装clickhouse

2.1.安装执行

假设已经将待安装的RPM文件上传到了服务器的/chbase/setup路径下,此时进入该目录:#cd/chbase/setup

执行如下命令后即可安装RPM文件:

# rpm -ivh ./*.rpm

因为是离线安装,在安装的过程中可能会出现缺少依赖包的情况,

error: Failed dependencies:Libioudaca.so.42()(64bit) Is needcd by ···..

此时需要将这些缺失的依赖补齐

2.2 目录结构

程序在安装的过程中会自动构建整套目录结构,接下来分别说明它们的作用。首先是核心目录部分:

要通过源码编

(1)/etc/clickhouse-server:服务端的配置文件目录,包括全局配置config.xml和用户 配置users.xml等。

(2)/var/lib/clickhouse:默认的数据存储目录(通常会修改默认路径配置,将数据保存到大容量磁盘挂载的路径)。

(3)/var/log/clickhouse—server:默认保存日志的目录(通常会修改路径配置,将日志保存到大容量磁盘挂载的路径)。

接着是配置文件部分:

(1)/etc/security/limits.d/clickhouse.conf:文件句柄数量的配置,默认值如下所示。

 # cat /etc/secu=ity/limits.d/clickhouse.confclickhouse soft nofile  262144clickhouse  hard  nofile  262144

该配置也可以通过config.xml的max_open_files修改。

(2)/etc/cron.d/clickhouse-server:cron定时任务配置,用于恢复因异常原因中断的 ClickHouse服务进程,其默认的配置如下。

# cat/etc/cron.d/clickhouse-server#*/10****root (which service>/dev/null 2>&1 && (service clickhouse-servercondstart ll:)) ll/etc/init.d/clickhouse-server condstart> /dev/null 2>&1

可以看到,在默认的情况下,每隔10秒就会使用condstart尝试启动一次 ClickHouse服务,而condstart命令的启动逻辑如下所示。

is_running |l service_or_func start 

如果ClickHouse 服务正在运行,则跳过;如果没有运行,则通过 start 启动。
最后是一组在/usr/bin路径下的可执行文件:

  1. clickhouse:主程序的可执行文件。
  2. clickhouse-client:一个指向clickHouse可执行文件的软链接,供客户端连接使用
  3. clickhouse-server:一个指向clickHouse可执行文件的软链接,供服务端启动使用
  4. clickhouse-compressor:内置提供的压缩工具,可用于数据的正压反解。

2.3.启动服务

在启动服务之前,建议修改默认的数据保存目录,将它切换到大容量磁盘挂载的路径。
打开config.xml配置文件,修改数据保存的地址:

<path>/chbase/data/</path>
<tmp_path>/chbase/data/tmp/</tmp_path>
<user_files_path>/chbase/data/user_files/</user_files_path>

正因为修改了默认的存储路径,所以需要将该目录的Owner设置为clickhouse用户:

# chown clickhouse.clickhouse /chbase/data/ -R

clickhouse 用户由安装程序自动创建,启动脚本会基于此用户启动服务。
在上述准备工作全部完成之后,就可以启动ClickHouse了。有两种启动方式:
首先是基于默认配置启动,其启动命令如下。

# service clickhouse-server start
Start clickhouse-server service: Path to data directory in /etc/clickhouse-
server/config.xml: /chbase/data/
DONE

在这种启动方式下,会默认读取/etc/clickhouse-server/config.xml 配置文件。
其次是基于指定配置启动,在这种方式下需要手动切换到clickhouse用户启动。

# su clickhouse
This account is currently not available.

如果切换用户出现了上述的异常情况,这是由于clickhouse用户当前还未激活导致,
可用如下命令将其激活:

# usermod -s /bin/bash clickhouse

再次切换到clickhouse用户并基于指定配置启动:

# clickhouse-server --config-file=/etc/clickhouse-server/config-ch5.xml

在启动成功之后,就可以使用客户端测试连接了:

# clickhouse-client
ClickHouse client version 19.17.4.11.
Connecting to localhost:9000 as user default.
:) show databases;2 rows in set. Elapsed: 0.001 sec.

至此,单节点的安装过程就全部完成了。如果需要安装新的节点,重复上述安装过程
即可。在新节点安装完成之后,记得在/etc/hosts中添加每台服务器节点的FQDN,例如:
的路径。

# cat /etc/hosts
......
10.37.129.10 ch5.nauu.com ch5
--新节点
10.37.129.13 ch6.nauu.ccm ch6

2.4 版本升级
在使用离线RPM安装包安装后,可以直接通过rpm命令升级:

# cd/chbase/setup
# rpm -Uvh./*.rpm   
Preparing...        #####################[100%]
......

在升级的过程中,原有的config.xml等配置均会被保留。基于其他安装方法的升级方
案,请参阅官方手册。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/209950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RAW和YUV的区别

RAW是指未经过任何压缩或处理的原始图像数据。在摄像头中&#xff0c;原始图像数据可以是来自图像传感器的未经处理的像素值。这些原始数据通常以一种Bayer模式的形式存在&#xff0c;其中每个像素仅包含一种颜色信息&#xff08;红色、绿色或蓝色&#xff09;&#xff0c;需要…

【开源】基于Vue和SpringBoot的在线课程教学系统

项目编号&#xff1a; S 014 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S014&#xff0c;文末获取源码。} 项目编号&#xff1a;S014&#xff0c;文末获取源码。 目录 一、摘要1.1 系统介绍1.2 项目录屏 二、研究内容2.1 课程类型管理模块2.2 课程管理模块2…

Redis Bitmaps 数据结构模型位操作

Bitmaps 数据结构模型 Bitmap 本身不是一种数据结构&#xff0c;实际上它就是字符串&#xff0c;但是它可以对字符串的位进行操作。 比如 “abc” 对应的 ASCII 码分别是 97、98、99。对应的二进制分别是 01100010、01100010、01100011, 如下所示&#xff1a; a b …

HTML5+CSS3+JS小实例:文字依次点击验证

实例:文字依次点击验证 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

十七、FreeRTOS之FreeRTOS事件标志组

本节需要掌握以下内容&#xff1a; 1&#xff0c;事件标志组简介&#xff08;了解&#xff09; 2&#xff0c;事件标志组相关API函数介绍&#xff08;熟悉&#xff09; 3&#xff0c;事件标志组实验&#xff08;掌握&#xff09; 4&#xff0c;课堂总结&#xff08;掌握&am…

04_W5500_TCP_Server

上一节我们完成了TCP_Client实验&#xff0c;这节使用W5500作为服务端与TCP客户端进行通信。 目录 1.W5500服务端要做的&#xff1a; 2.代码分析&#xff1a; 3.测试&#xff1a; 1.W5500服务端要做的&#xff1a; 服务端只需要打开socket&#xff0c;然后监听端口即可。 2…

基于Spring Boot的水产养殖管理系统

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于Spring Boot的水产养殖管理系统,jav…

HarmonyOS Developer——鸿蒙【构建第一个JS应用(FA模型)】

创建JS工程 JS工程目录结构 构建第一个页面 构建第二个页面 实现页面间的跳转 使用真机运行应用 说明 为确保运行效果&#xff0c;本文以使用DevEco Studio 3.1 Release版本为例&#xff0c;点击此处获取下载链接。 创建JS工程 若首次打开DevEco Studio&#xff0c;请点击…

虾皮什么商品好卖

在虾皮&#xff08;Shopee&#xff09;平台上&#xff0c;有许多商品类别都表现出了较好的销售情况。然而&#xff0c;随着时间和地区的变化&#xff0c;热销商品也会有所不同。本文将介绍一些在虾皮平台上表现较好的商品类别&#xff0c;并提供一些建议&#xff0c;帮助您在虾…

交换机基本原理和配置

目录 一、数据链路层功能 二、交换机的工作原理 三、交换机的四大功能 一、数据链路层功能 位于网络层与物理层之间 数据链路的建立、维护与拆除帧包装、帧传输、帧同步帧的差错恢复流量控制 二、交换机的工作原理 交换机通过数据帧的源 MAC 地址&#xff0c;学习到交换机端…

偶数位字符前置算法

题目描述&#xff1a; 题目描述 编写函数void myshift(char *s),在不打乱s原本相对位置情况下&#xff0c;将偶数位上的字符全部挪到奇数位字符的前面。输入格式 输入一个字符串 s保证输入字符串 s 的长度大于等于1小于等于100输出格式 输出修改后的字符串 s。输入样例1 01234…

【算法】直接插入排序

目录 1. 说明2. 举个例子3. java代码示例4. java示例截图 1. 说明 1.直接插入排序的方式和打牌一样&#xff0c;刚开始数组为空 2.拿到一个数字后从左到右将它与数组中的每一个数字进行比较&#xff0c;然后插入合适的位置 3.到最后&#xff0c;数组按照既定的顺序排序好 2. 举…

OpenCV基础篇

OpenCV基础篇 一、图像、视频读取二、cv::Mat()数据类型三、绘图功能四、鼠标响应事件五、图像像素读写六、图像像素运算七、颜色空间转换八、图像几何变换九、图像滤波十、图像二值化十一、图像梯度十二、Canny边缘检测十三、图像形态学十四、图像直方图十五、霍夫变换十六、分…

线程池的拒绝策略

文章目录 线程池的拒绝策略AbortPolicy拒绝策略&#xff1a;CallerRunsPolicy拒绝策略&#xff1a;DiscardOldestPolicy拒绝策略&#xff1a;DiscardPolicy拒绝策略&#xff1a; 线程池的拒绝策略 若在线程池当中的核心线程数已被用完且阻塞队列已排满&#xff0c;则此时线程池…

springboot_ssm_java学位论文盲审系统

本系统主要实现用户登录验证&#xff0c;用户使用邮箱&#xff0c;密码和选择身份进行登录&#xff0c;用户查看个人中心&#xff0c;提交论文&#xff0c;发表留言和问题反馈。用户在线注册。学生模块功能实现&#xff1a;学生注册&#xff0c;查看信息&#xff0c;修改资料&a…

智能优化算法应用:基于鱼鹰算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鱼鹰算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鱼鹰算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鱼鹰算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

蓝桥杯航班时间

蓝桥杯其他真题点这里&#x1f448; //飞行时间 - 时差 已过去的时间1 //飞行时间 时差 已过去的时间2 //两个式子相加会发现 飞行时间 两段时间差的和 >> 1import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public cl…

Android蓝牙协议栈fluoride(四) - 设备管理(bt interface)

设备管理的接口实现了蓝牙的开/关、属性设置、发现设备、获取profile的接口等等。 接口声明 接口声明如下&#xff1a; // include/hardware/bluetooth.h typedef struct {// 打开接口并注册回调函数int (*init)(bt_callbacks_t* callbacks, bool is_atv);// 关闭接口void (…

目标检测YOLO系列从入门到精通技术详解100篇-【图像处理】边缘检测

目录 知识储备 算法原理 边缘检测(Canny算子) Canny算子边缘检测流程 应用案例

[Linux] LAMP架构

一、LAMP架构架构的概述 LAMP 架构是一种流行的 Web 应用程序架构&#xff0c;它的名称是由四个主要组件的首字母组成的&#xff1a; Linux&#xff08;操作系统&#xff09;&#xff1a; 作为操作系统&#xff0c;Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理…