https://www.cnblogs.com/MrYang-11-GetKnow/p/15818768.html

1. 系统要求

ClickHouse 可以在任何具有 x86_64、AArch64 或 PowerPC64LE CPU 架构的 Linux、FreeBSD 或 Mac OS X 上运行。官方预构建的二进制文件通常针对 x86_64 进行编译并利用 SSE 4.2 指令集。如下命令检查当前 CPU 是否支持 SSE 4.2:

grep -q sse4_2 proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

如果支持会输出 SSE 4.2 supported 信息。

要在不支持 SSE 4.2 或不具有 AArch64、PowerPC64LE 架构的处理器上运行 ClickHouse,需要编译源代码构建 ClickHouse。

版本选择:版本命名规则 Year.Major.Minor.patch

  1)Year.Major.1.patch 1 表示测试版,大于1表示稳定版本。

  2)有重大的更新和新特性主要在Minor为2的版本。

  3)体验最新的测试功能 可以选择prestable或者testing版本。

  4)对于企业来说可以选择LTS的稳定版本,差不多6个月发布一个LTS版本,一年发布两个。维护的周期要比stable版本长。

2. 安装

2.1 使用 RPM 包

我们的系统是 CentOS,所以在这使用 RPM 包方式安装 ClickHouse

对于 CentOS、RedHat 和所有其他基于 rpm 的 Linux 发行版,建议使用官方预编译的 rpm 包。首先,您需要添加官方存储库:

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

然后运行如下命令来安装软件包:

sudo yum install clickhouse-server clickhouse-client

我们还可以从这里手动下载和安装软件包。

除此之外,还可以通过使用DEB包、Tgz包以及Docker镜像的方式安装。下面还会简单介绍如何使用DEB包、Tgz包进行安装。

2.2 使用DEB包

Debian 或 Ubuntu 系统建议使用官方预编译的 deb 包进行安装。运行这些命令来安装软件包:

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
sudo apt-get update

sudo apt-get install -y clickhouse-server clickhouse-client

sudo service clickhouse-server start
clickhouse-client

如果您想使用最新版本,请将 stable 替换为 testing(适合测试环境)。

我们还可以从这里手动下载和安装软件包。

2.3 使用Tgz包

对于无法安装 deb 或 rpm 软件包的所有 Linux 发行版,建议使用官方预编译的 tgz 包。可以使用 curl 或 wget 从存储仓库下载所需的版本。最新版本示例:

export LATEST_VERSION=`curl https://api.github.com/repos/ClickHouse/ClickHouse/tags 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1`
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-client-$LATEST_VERSION.tgz

tar -xzvf clickhouse-common-static-$LATEST_VERSION.tgz
sudo clickhouse-common-static-$LATEST_VERSION/install/doinst.sh

tar -xzvf clickhouse-common-static-dbg-$LATEST_VERSION.tgz
sudo clickhouse-common-static-dbg-$LATEST_VERSION/install/doinst.sh

tar -xzvf clickhouse-server-$LATEST_VERSION.tgz
sudo clickhouse-server-$LATEST_VERSION/install/doinst.sh
sudo etc/init.d/clickhouse-server start

tar -xzvf clickhouse-client-$LATEST_VERSION.tgz
sudo clickhouse-client-$LATEST_VERSION/install/doinst.sh

2.4 修改data路径

为便于统一控制相关数据文件,建议使用自定义路径替代官方指定路径。

推荐更改以下路径

<path>/data/clickhouse/</path>#数据的目录路径。
<tmp_path>/data/clickhouse/tmp/</tmp_path>#用于处理大型查询的临时数据的路径。
<user_files_path>/data/clickhouse/user_files/</user_files_path> #包含用户文件的目录,在表函数file()中使用。
<access_control_path>/data/clickhouse/access/</access_control_path>#配置权限管理数据的存储位置 [与users.xml 中的 <access_management>1</access_management> 一同使用,控制开启sql管理用户]
<format_schema_path>/data/clickhouse/format_schemas/</format_schema_path> #包含输入格式文件(例如CapnProto格式的方案)的目录路径

针对access理解可查看:SQL-driven来管理用户权限

3. 启动

有两种方式可以启动 ClickHouse,一种使用 service 方式启动,一种使用 systemctl 方式启动。如下使用 service 方式以守护进程方式启动:

sudo service clickhouse-server start

如果您没有 service 命令,可以运行 sudo etc/init.d/clickhouse-server start 命令。

若 service 启动过程报 Init script is already running 错误,运行 clickhouse-client 命令报 Connection refused 错误,则使用 systemctl 方式启动:

sudo systemctl start clickhouse-server

可以使用 sudo systemctl stop clickhouse-server 命令停止服务。

通过上图我们可以看出在 var/log/clickhouse-server/ 目录下查看日志。

启动过程中入出现以下异常

Cannot obtain modification time for key file /etc/clickhouse-server/server.key, skipping update. errno: 2, strerror: No such file or directory

CertificateReloader: Poco::Exception. Code: 1000, e.code() = 0, SSL context exception: Error opening Diffie-Hellman parameters file /etc/clickhouse-server/dhparam.pem: error:02000002:system library:OPENSSL_internal:No such file or directory

则需要生成使用证书,避免后续启动报错。

#生成证书
openssl req -subj "/CN=localhost" -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/clickhouse-server/server.key -out /etc/clickhouse-server/server.crt
#pem证书,执行此命令需要4分钟才能执行完成
openssl dhparam -out /etc/clickhouse-server/dhparam.pem 4096
#如果运行时间过长可以采用随机数参数生成方式 可有效缩短时间
openssl dhparam -rand rand.seed -out /etc/clickhouse-server/dhparam.pem 4096

此外,我们还可以从控制台手动启动服务器:

sudo -u clickhouse  clickhouse-server --config-file=/etc/clickhouse-server/config.xml

如果配置文件在当前目录下,则不需要指定 –config-file 参数。默认情况下,使用 ./config.xml。ClickHouse 支持访问限制设置,可以修改 users.xml 文件。默认情况下,允许默认用户从任何地方访问,无需密码。

注意:如果使用普通用户安装启动,,需要sudo权限,注意配置中的自定义数据文件相关路径。

chmod 777 -R /home/ad/clickhouse # 读写执行 都需要 最好上级
#如果仍有权限错误,赋予上级755
# cd /home # sudo chmod 755 -R ad/
cd /etc sudo chown -R ad:ad clickhouse-server sudo chmod 755 -R clickhouse-server sudo chown -R ad /var/log/clickhouse-server/ sudo -u ad clickhouse-server -C /etc/clickhouse-server/config.xml --daemon

4. 运行

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

clickhouse-client

默认情况下,表示用户默认连接到 localhost:9000,无需密码。还可用于使用 –host 参数连接到远程服务器。

集群方式需要注意修改/etc/clickhouse-server/config.xml,简单集群搭建不需要zookeeper,自身即可解决,注意config.xml各个服务器需要一致。创建用户以及调整用户权限,通过新增修改users.xml文件完成。

注意配置listen_host:

#  <!--<listen_host>用于限制来源主机的请求-->
<!-- Listen specified host. use :: (wildcard IPv6 address), if you want to accept connections both with IPv4 and IPv6 from everywhere. -->
<!-- <listen_host>::</listen_host> -->
<!-- Same for hosts with disabled ipv6: -->
<!-- <listen_host>0.0.0.0</listen_host> --> #(1)允许IP4和IP6源主机远程访问 <listen_host>::</listen_host> #(2)仅允许IP4主机远程访问 <listen_host>0.0.0.0</listen_host> #(3)仅允许本地访问 <!-- Default values - try listen localhost on ipv4 and ipv6: --> <listen_host>::1</listen_host>
<listen_host>127.0.0.1</listen_host>

  由于ClickHouse安装后,默认client连接端口是9000,这个端口跟CDH的cloudera manager agent的默认端口相同。且ClickHouse默认9000端口是绑定在127.0.0.1上的,无法从其他机器连接ClickHouse。

解决方式:

1)仅允许IP4主机远程访问

 <listen_host>0.0.0.0</listen_host>
#这样远程都可以访问了,但是禁用了IPV6

2) 修改端口和绑定地址

找到9000的配置项,将默认值9000改成其他,比如我改成9020

<tcp_port>9020</tcp_port>

<listen_host>::</listen_host>

#更改默认client端口后,需要指定port参数指定端口登录。
clickhouse-client --port 9020

5. 卸载

#1、查看已安装包
rpm -qa | grep clickhouse
#2、卸载clickhouse相关软件
#1)可以yum卸载
sudo yum remove -y clickhouse-client.noarch
sudo yum remove -y clickhouse-common-static.x86_64
sudo yum remove -y clickhouse-server.noarch
#2)或rpm 卸载
rpm -e clickhouse-client-20.5.4.40-2.noarch --nodeps
rpm -e clickhouse-server-20.5.4.40-2.noarch --nodeps
rpm -e clickhouse-common-static-20.5.4.40-2.x86_64 --nodeps
#3、删除相关的目录和数据
#数据目录
rm -rf /var/lib/clickhouse
#删除集群配置文件
rm -rf /etc/metrika.xml
#删除配置文件
rm -rf /etc/clickhouse-*
#删除日志文件
rm -rf /var/log/clickhouse-server
#4、全局查找clickhouse文件和目录,如果存在,则全部删除
find / -name clickhouse

[转帖]clickhouse安装部署以及版本选取的更多相关文章

  1. clickhouse 安装部署(linux)

    1.安装部署 1.1下载文件 可以按照官网步骤安装 https://clickhouse.tech/docs/zh/getting-started/install/. 这个库目前大小有2G,网络不允许 ...

  2. 通过跳板机建立信任,对多个tomcat服务统一安装部署(shell编写)

    unifyDeploy 自动化统一安装部署 系统版本: unifyDeploy0.1 文件编号: 0.1 发布日期: 2014-06-26 编    制: WangYong 版权所有 内部资料注意保密 ...

  3. Zstack的安装部署

    ZStack是下一代开源的云计算IaaS(基础架构即服务)软件. 它主要面向的是未来的智能数据中心,通过提供全完善的API来管理包括计算.存储和网络在内的数据中心的各种资源.跟OpenStack相比, ...

  4. (转)linux下weblogic12c集群的安装部署

    本文介绍linux下weblogic12c集群的安装部署,版本12c,其他版本操作会有所不同,但其大体操作基本都是一样的 关于weblogic的集群,在此就不多做介绍了,如果有不了解的朋友可以百度搜索 ...

  5. 比Ansible更吊的自动化运维工具,自动化统一安装部署自动化部署udeploy 1.0 版本发布

    新增功能: 逻辑与业务分离,完美实现逻辑与业务分离,业务实现统一shell脚本开发,由框架统一调用. 并发多线程部署,不管多少台服务器,多少个服务,同时发起线程进行更新.部署.启动. 提高list规则 ...

  6. OEMCC 13.2 集群版本安装部署

    之前测试部署过OEMCC 13.2单机,具体可参考之前随笔: OEMCC 13.2 安装部署 当时环境:两台主机,系统RHEL 6.5,分别部署OMS和OMR: OMS,也就是OEMCC的服务端 IP ...

  7. [转帖]VMware Vsphere 6.0安装部署 (一) 总体部署架构

    (一)总体部署架构本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件. 开始阶段,按照一台物理服务器,部署所有V ...

  8. [转帖]VMware Vsphere 6.0安装部署 (三) vCenter Server安装

    VMware Vsphere 6.0安装部署 (三) vCenter Server安装 2016年08月29日 14:59:14 dAng1r0Us 阅读数:72942   版权声明:本文为博主原创文 ...

  9. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  10. ELK 安装部署实战 (最新6.4.0版本)

    一.实战背景 根据公司平台的发展速度,对于ELK日志分析日益迫切.主要的需求有: 1.用户行为分析 2.运营活动点击率分析 作为上述2点需求,安装最新版本6.4.0是非常有必要的,大家可根据本人之前博 ...

随机推荐

  1. Java 集合(三)ConcurrentHashMap

    一般来讲,通常使用的 HashMap 不是线程安全的,因为没有任何机制来保证每个操作的原子性.在 ConcurrentHashMap 出现之前,可以通过给 HashMap 的每个操作加上唯一的互斥锁来 ...

  2. Netty 组件介绍

    BootStrap Netty 中的 BootStrap 分为两种:一种是客户端的 BootStrap:一种是服务端的 ServerBootStrap. 客户端的 BootStrap 初始化客户端,该 ...

  3. MongoDB 安装、配置及详细使用教程

    环境:win10 下载地址 :https://pan.baidu.com/s/1a0SwRv9er3HTewzcI8nWgQ      提取码:dyyx   下载后,将该文件夹放在C盘的根目录下,然后 ...

  4. 你真的会用 npx 吗❓❓❓

    Hello,大家好! 日常开发中大家应该经常使用 npm install xxx 来安装包依赖,那是否注意到npm升级到 npm@5.2.0 之后,在 npm 二进制命令旁边安装了一个 npx 二进制 ...

  5. CSS 基础 4 - CSS 常用单位

    CSS 基础 4 - CSS 常用单位 px:基础单位 em:相对当前父容器的系数,可以累乘 rem:相对根 <html> 的系数,方便计算 vw/vh:viewport width/he ...

  6. 文心一言 VS 讯飞星火 VS chatgpt (49)-- 算法导论6.2 1题

    一.参照图6-2的方法,说明 MAX-HEAPIFY(A,3)在数组 A=(27,17,3,16,13,10,1,5,7,12,4,8,9,0)上的操作过程. 文心一言: 下面是 MAX-HEAPIF ...

  7. 2023-05-31:给定一个整数数组 A,你可以从某一起始索引出发,跳跃一定次数 在你跳跃的过程中,第 1、3、5... 次跳跃称为奇数跳跃 而第 2、4、6... 次跳跃称为偶数跳跃 你可以按以下

    2023-05-31:给定一个整数数组 A,你可以从某一起始索引出发,跳跃一定次数 在你跳跃的过程中,第 1.3.5... 次跳跃称为奇数跳跃 而第 2.4.6... 次跳跃称为偶数跳跃 你可以按以下 ...

  8. 华为云IoT设备接入服务全体验

    摘要:华为云IoT设备接入服务,海量设备,一键接入,你值得拥有! 本文分享自华为云社区<[云驻共创]Huawei Mate 40产线直击之 华为云IoT设备接入服务全体验>,原文作者:启明 ...

  9. 2021年中国DevOps现状调查报告发布!

    摘要:为进一步了解和掌握DevOps在中国落地实践的现状和未来发展趋势,中国信息通信研究院依托云计算开源产业联盟,此次联合华为云DevCloud等40余家企业共同发起"2021年中国DevO ...

  10. 可视大盘 + 健康分机制,火山引擎 DataLeap 为企业降低资源优化门槛!

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数仓及研发技术团队维护的数据量大.资源使用量大.成本越高.优化压力越大.如何主动发现无效或低效使用的资源,并且 ...