在 CentOS 系统上安装 ClickHouse

在 CentOS 系统上安装 ClickHouse 数据库相对简单,可以通过官方提供的安装包来进行。以下是详细的安装步骤。

1. 更新系统

首先,确保你的系统是最新的,更新软件包和系统库:

bash 复制代码
sudo yum update -y

2. 安装依赖库

ClickHouse 需要一些额外的依赖包,确保安装了 wgetyum-utils

bash 复制代码
sudo yum install -y wget yum-utils

3. 添加 ClickHouse 的官方 YUM 仓库

ClickHouse 提供了官方的 YUM 仓库,你需要先添加这个仓库。

bash 复制代码
sudo rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG
sudo sh -c 'echo "[clickhouse]
name=ClickHouse repository
baseurl=https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
gpgcheck=1
enabled=1" > /etc/yum.repos.d/clickhouse.repo'

4. 安装 ClickHouse

现在,你可以安装 ClickHouse 服务器和客户端了:

bash 复制代码
sudo yum install -y clickhouse-server clickhouse-client

5. 启动 ClickHouse 服务

安装完成后,你需要启动 ClickHouse 服务并使其在系统启动时自动启动:

bash 复制代码
# 启动 ClickHouse 服务
sudo systemctl start clickhouse-server

# 设置 ClickHouse 服务开机自启
sudo systemctl enable clickhouse-server

6. 检查 ClickHouse 服务状态

确保 ClickHouse 服务正在运行,可以使用以下命令检查服务状态:

bash 复制代码
sudo systemctl status clickhouse-server

7. 连接到 ClickHouse 客户端

安装完并启动 ClickHouse 后,你可以使用 ClickHouse 客户端连接到数据库:

bash 复制代码
clickhouse-client

8. 配置 ClickHouse(可选)

ClickHouse 安装完成后,可以根据需要修改配置文件。配置文件位于:

  • /etc/clickhouse-server/config.xml:ClickHouse 服务器的主要配置文件。
  • /etc/clickhouse-server/users.xml:用户的配置文件。

如果需要修改配置文件,编辑这些文件后需要重启 ClickHouse 服务:

bash 复制代码
sudo systemctl restart clickhouse-server

9. 防火墙配置(如果有)

如果你使用了防火墙,可能需要开放 ClickHouse 默认端口(9000 和 8123)。可以使用以下命令开放端口:

bash 复制代码
sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent
sudo firewall-cmd --zone=public --add-port=8123/tcp --permanent
sudo firewall-cmd --reload

10. 测试数据库

连接到 ClickHouse 后,可以运行一些简单的 SQL 查询来验证安装是否成功。例如,创建一个表并插入数据:

sql 复制代码
CREATE TABLE test (id UInt32, name String) ENGINE = MergeTree() ORDER BY id;
INSERT INTO test VALUES (1, 'Alice'), (2, 'Bob');
SELECT * FROM test;

相关推荐
gongfeng30007 小时前
福州企业级AI自动化获客解决方案品牌梳理与适用场景分析
运维·人工智能·自动化·g-claw ai员工
光电笑映9 小时前
网络通信基础:从协议分层到 Socket 编程预备
linux·运维·服务器·网络
微小冷10 小时前
用Mermaid画时序图
运维·流程图·时序图·mermaid·生命线
其实防守也摸鱼10 小时前
Codex 下载与本地部署实战:从安装到运行全指南
android·大数据·运维·安全·自动化
wdfk_prog10 小时前
ROS教程07:从 ros::start() 顺着源码读懂 Master、XML-RPC 与 Topic 注册发现
运维·缓存·docker·容器·ros
吴声子夜歌10 小时前
Shell编程实例——与解析相关的任务(二)
linux·运维·shell
mengge.cloud10 小时前
0917Docker 小白实验教程(理论+实操)
linux·服务器·网络·docker
倔强的石头10611 小时前
【Linux指南】动静态库系列(八):ELF 加载与进程地址空间:程序还没运行,为什么已经有地址
linux·运维
两点王爷11 小时前
常用的 Docker 镜像拉取地址仓库及常用命令详解
运维·服务器·容器
wdfk_prog11 小时前
用 Git Submodule + Sparse Checkout 管理 RT-Thread:内核、BSP、第三方库与业务代码分层实践
运维·缓存·docker·容器·ros