clickhouse安装 日记

本文介绍了在CentOS8系统中安装ClickHouse的过程,包括解决依赖问题及GPG检查失败的方法。

# 下载安装包

下载地址:Index of /repos/clickhouse

# 安装

rpm -ivh *.rpm
错误:依赖检测失败:
        libcrypto.so.10()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicudata.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicui18n.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicuuc.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libodbc.so.2()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libssl.so.10()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libcrypto.so.10()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libcrypto.so.10(libcrypto.so.10)(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libicudata.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libicui18n.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libicuuc.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libodbc.so.2()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libreadline.so.6()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libssl.so.10()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libssl.so.10(libssl.so.10)(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libtinfo.so.5()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要

# 解决依赖

        # 安装工具

yum install yum-utils

        # 检查依赖包

repoquery --requires --resolve  *.rpm
CentOS-8 - AppStream                                                                                                                                                                                      44 kB/s | 4.4 kB     00:00    
CentOS-8 - Base                                                                                                                                                                                           50 kB/s | 3.9 kB     00:00    
CentOS-8 - Extras                                                                                                                                                                                         46 kB/s | 3.0 kB     00:00    
bash-0:4.4.20-3.el8.x86_64
clickhouse-server-0:1.1.54236-4.el7.x86_64
clickhouse-server-common-0:1.1.54236-4.el7.x86_64
compat-openssl10-1:1.0.2o-3.el8.x86_64
glibc-0:2.28-196.el8.i686
glibc-0:2.28-196.el8.x86_64
libgcc-0:8.5.0-10.el8.x86_64
libstdc++-0:8.5.0-10.el8.x86_64
libtool-ltdl-0:2.4.6-25.el8.x86_64
ncurses-compat-libs-0:6.1-9.20180224.el8.x86_64
unixODBC-0:2.3.7-1.el8.x86_64
zlib-0:1.2.11-17.el8.x86_64

        # 安装依赖

yum install -y bash-0:4.4.20-3.el8.x86_64 compat-openssl10-1:1.0.2o-3.el8.x86_64 glibc-0:2.28-196.el8.i686 glibc-0:2.28-196.el8.x86_64 libgcc-0:8.5.0-10.el8.x86_64 libstdc++-0:8.5.0-10.el8.x86_64 libtool-ltdl-0:2.4.6-25.el8.x86_64 ncurses-compat-libs-0:6.1-9.20180224.el8.x86_64 unixODBC-0:2.3.7-1.el8.x86_64 zlib-0:1.2.11-17.el8.x86_64

 # 再来安装

rpm -ivh *.rpm
错误:依赖检测失败:
        libicudata.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicui18n.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicuuc.so.50()(64bit) 被 clickhouse-compressor-1.1.54236-4.el7.x86_64 需要
        libicudata.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libicui18n.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libicuuc.so.50()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要
        libreadline.so.6()(64bit) 被 clickhouse-server-1.1.54236-4.el7.x86_64 需要

# 确认一下是否安装成功:

find /usr -name libicu*
/usr/lib64/libicutu.so.60.3
/usr/lib64/libicudata.so.60
/usr/lib64/libicudata.so.60.3
/usr/lib64/libicuuc.so.60
/usr/lib64/libicui18n.so.60
/usr/lib64/libicuuc.so.60.3
/usr/lib64/libicui18n.so.60.3
/usr/lib64/libicuio.so.60
/usr/lib64/libicuio.so.60.3
/usr/lib64/libicutest.so.60
/usr/lib64/libicutest.so.60.3
/usr/lib64/libicutu.so.60
/usr/lib64/libicudata.so
/usr/lib64/libicui18n.so
/usr/lib64/libicuio.so
/usr/lib64/libicutest.so
/usr/lib64/libicutu.so
/usr/lib64/libicuuc.so
/usr/share/licenses/libicu
/usr/share/licenses/libicu-devel
/usr/share/doc/libicu-devel

不对了,这个是 CentOS 7 的 安装包,尴尬了,我的系统是 CentOS 8。 但是,方法应该是通用的。

CentOS 8 可以使用的源:

# 添加源
yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/

# 安装
yum install clickhouse-server clickhouse-client 
结果会报错:  错误:GPG 检查失败

# 如何解决:
yum install clickhouse-server clickhouse-client  --nogpgcheck

# 另外,后来我又查到还有这种方式不知道是否可行(我没有验证过):


If you are using “dnf config-manager –add-repo” to add a repository, the command does not add the GPG key file location configuration for that repository. A package installation would fail, as by default, dnf enables gpgcheck. It equires the GPG key to be set or imported.

1. Manually set and import the GPG key file location:
rpm --import "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle"

or

2. Add or set the GPG key for all of the individual repository entries under /etc/yum.repos.d:

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle


这样想必可以去掉


亦或者,参照这个链接来处理:
https://joelitechlife.ca/2021/12/08/yum-gpg-check-failed-or-package-no-digest/

CentOS 8 安装成功

### ClickHouse 安装失败的原因分析与解决方案 ClickHouse安装过程中可能会因多种因素导致失败。以下是可能的错误原因及其对应的解决方案: #### 1. **依赖项未正确安装** 如果在 CentOS 环境下缺少必要的依赖库(如 SSE、OpenSSL 或 Perl),可能导致安装失败[^2]。 - **解决方案**: 确保所有必需的依赖已成功安装。可以按照以下命令逐一验证并安装缺失的组件: ```bash sudo yum install sse-devel openssl perl inifile-tools -y ``` --- #### 2. **权限不足** 尝试执行某些操作时,如果没有足够的权限也可能引发安装失败。 - **解决方案**: 以超级用户身份运行安装脚本或使用 `sudo` 提升权限。例如,在创建 ClickHouse 安装目录时应确保有写入权限: ```bash sudo mkdir /var/lib/clickhouse && sudo chown clickhouse:clickhouse /var/lib/clickhouse/ ``` --- #### 3. **服务未能正常启动** 即使安装完成,但如果服务无法启动,则说明可能存在配置文件中的语法错误或其他问题[^1]。 - **解决方案**: 重启 ClickHouse 服务前先检查日志文件 `/var/log/clickhouse-server/clickhouse-server.log` 中是否有异常记录。如果有报错信息,可根据提示修复相应设置后再重试: ```bash sudo service clickhouse-server restart ``` --- #### 4. **网络连接不稳定** 下载 ClickHouse 软件包的过程中断开或者镜像源不可达也会造成安装中断。 - **解决方案**: 更换稳定可靠的软件仓库地址,并确认本地机器能够访问外部资源。可以通过修改 YUM 配置来指定国内加速站点: ```ini [clickhouse] name=clickhouse repository baseurl=https://repo.clickhouse.tech/stable/x86_64/ gpgcheck=0 enabled=1 ``` 之后更新缓存再继续安装流程: ```bash sudo yum clean all && sudo yum makecache fast sudo yum install clickhouse-server clickhouse-client -y ``` --- #### 5. **版本兼容性冲突** 不同操作系统版本之间存在差异,盲目选用不匹配的操作系统架构下的二进制程序容易引起崩溃现象。 - **解决方案**: 仔细核对官方文档推荐的支持平台列表,挑选适配当前系统的发行版号进行部署。比如对于 RHEL/CentOS7.x 用户来说应该选取对应分支标签构建产物而不是其他系列制品。 --- ```python # 示例 Python 脚本用于检测 ClickHouse 是否健康运行状态 import subprocess def check_clickhouse_status(): try: result = subprocess.run(['clickhouse-client', '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE) if 'Error' not in str(result.stderr): print(f"ClickHouse is running successfully! Version:{str(result.stdout.decode('utf-8')).strip()}") else: raise Exception("Failed to start ClickHouse.") except Exception as e: print(e) check_clickhouse_status() ``` --- #### 总结 通过上述方法排查具体环节上的障碍点后采取针对性措施即可有效规避大部分常见失误情况的发生概率。同时建议定期查阅社区维护的知识库获取最新进展动态以便及时调整策略适应变化需求[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唯独不开心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值