如何安装ClickHouse OLAP数据库系统Ubuntu 22.04

如何安装ClickHouse OLAP数据库系统Ubuntu 22.04

ClickHouse是ClickHouse, Inc.开发的一个面向列的数据库管理系统,用C++编写。 它是一个开源 OLAP 数据库管理系统,速度快、容错、易于使用且高度可靠。

ClickHouse 是一个速度极快的 OLDAP 数据库系统,用于在线分析处理。 它允许您使用 SQL 查询实时生成分析报告。

在本教程中,您将学习如何在 Ubuntu 22.04 服务器上安装 ClickHouse OLAP 数据库系统。 您还将了解如何在 ClickHouse 上设置身份验证并涵盖其基本用法和查询。

先决条件

要完成本教程,您需要满足以下几个先决条件:

  • Ubuntu 22.04 服务器 – 此示例使用主机名“clickhouse-server”和 IP 地址“192.168.5.100”的 Ubuntu 系统。
  • 具有 sudo/root 管理员权限的非 root 用户。

设置系统

在开始安装 ClickHouse 之前,您需要确保当前的 CPU 支持 SSE 4.2 指令集并禁用系统上的 SWAP。

ClickHouse 的官方预构建二进制包是在 x86(64 位)架构和 SSE 4.2 上编译的。 因此,如果您没有支持 SSE 4.2 的 CPU,您应该从源代码手动构建 ClickHouse。

另外,在使用ClickHouse时,建议禁用SWAP,尤其是在生产环境中。

运行以下命令检查您的 CPU 是否支持 SSE 4.2 功能。 如果您的 CPU 受支持,您应该会收到输出“支持 SSE 4.2”。

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

接下来,运行以下命令通过配置“/etc/fstab”文件禁用 SWAP。 此命令会将“#”放在 SWAP 配置的开头,并永久禁用系统中的 SWAP。

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

现在运行以下命令以关闭当前会话上的 SWAP。 然后验证 SWAP 状态。

sudo swapoff -a
sudo free -m

以下是禁用 SWAP 时您将收到的输出 – “总计”字段中的 SWAP 大小为 0。

检查环境

在支持 SSE 4.2 的 CPU 和 WAP 被禁用的情况下,您现在就可以安装 ClickHouse OLAP 数据库系统了。

安装Clickhouse OLAP数据库系统

ClickHouse OLDAP数据库系统提供了多种安装方式。 对于 Linux 发行版,ClcikHouse 为基于 Debian 和基于 RPM 的发行版提供存储库。 此外,ClickHouse 可以通过 Docker 安装或使用单个二进制包。

在此步骤中,您将通过官方存储库在 Ubuntu 22.04 系统上安装 ClickHouse。 因此,您将 ClickHouse 存储库添加到您的系统,然后通过 APT 安装 ClickHouse 包。

首先,运行下面的 apt 命令来安装一些基本依赖项。 出现提示时,输入 y 并按 ENTER。

sudo apt install apt-transport-https ca-certificates dirmngr

安装依赖项

现在运行以下命令将 GPG 密钥和 ClickHouse 存储库添加到您的系统中。 在此示例中,您将从存储库的稳定分支安装 ClickHouse。

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

设置仓库

接下来,通过下面的 apt 命令更新并刷新您的包索引。

sudo apt update

您将收到 ClickHouse 存储库已添加的消息。

更新仓库

现在通过下面的 apt 命令安装“clickhouse-server”作为数据库系统和“clickhouse-client”包。

sudo apt install clickhouse-server clickhouse-client

当提示确认时输入 Y,然后按 ENTER 继续。

安装clickhouse服务器

此外,在 CLickHouse 安装过程中,系统会提示您为 ClickHouse 默认用户设置密码。 输入 ClickHouse 的新密码,安装完成后您将收到如下屏幕截图所示的输出。

设置默认密码

安装 ClickHouse 后,运行以下 systemctl 命令实用程序来启动并启用 ClickHouse 服务。 此命令将启动 ClickHouse 并使该服务在启动时自动运行。

sudo systemctl start clickhouse-server
sudo systemctl enable clickhouse-server

使用以下命令验证 ClicHouse 服务,以确保 ClickHouse 服务正在运行。

sudo systemctl status clickhouse-server

您将收到如下输出 – ClickHpouse 服务的当前状态为正在运行,并且已启用并将在启动时自动运行。

开始验证ClickHouse

您已完成 ClickHouse 服务器安装。 在下一步中,您将学习如何通过客户端应用程序访问 ClickHouse 服务器并为 ClickHouse 管理员用户设置密码身份验证。

通过命令行访问ClickHouse

安装 ClickHouse 服务器后,您可以通过已安装的“clickhouse-client”访问 ClickHouse。

“clickhouse-client”是一个用于交互和管理 ClickHouse 服务器的命令行界面。 它类似于 MySQL/MariaDB 服务器的“mysql”客户端、PostgreSQL 服务器的“psql”或 MongoDB 服务器的“mongod”。

要访问 ClickHouse 服务器,您可以使用下面的“clickhouse-client”命令。

sudo clickhouse-client --password

当提示输入密码时,输入您在安装过程中创建的密码。

登录后,您应该看到如下所示的 ClickHouse shell。

连接到 clickhouse

从这里,您可以看到您已使用默认的 ClickHouse 用户连接到 ClickHouse 服务器 v22.11。 ClickHouse 服务器默认在 localhost 上运行,端口为 9000。

至此,您已经安装了 ClickHouse 服务器和客户端,并学习了如何通过命令“clickhouse-client”连接到 ClickHouse 服务器。 在下一步中,您将为 ClickHouse 服务器设置管理员用户。

在 Clickhouse 上设置管理员用户

在此步骤中,您将为 ClickHouse 服务器创建管理员用户。 但在此之前,您将通过 ClickHouse 配置为“默认”用户启用“帐户管理”。

首先,使用以下 Nano 编辑器命令打开配置“/etc/clickhouse-server/users.d/default_password.xml”。

sudo nano /etc/clickhouse-server/users.d/default_password.xml

在“…”部分之间添加以下行。 这将为用户“默认”启用“访问管理”。


   
       
            ...
            1
       
   

完成后保存文件并退出编辑器。

现在运行以下 systemctl 命令实用程序以重新启动 ClickHouse 服务并应用更改。

sudo systemctl restart clickhouse-server

现在已为“默认”用户启用了“access_management”,接下来您将为 ClickHouse 创建一个新的管理员用户。 新用户将能够以 ClickHouse 服务器上的所有权限访问所有数据库。

运行以下“clickhouse-client”命令,通过用户“default”连接到 ClickHouse 服务器。

sudo clickhouse-client --user default --password

当提示输入密码时,输入您配置的密码。 现在,您将获得 ClickHouse 服务器控制台并以启用了“access_management”的“默认”用户身份登录。

设置clickhouse

接下来,运行以下查询来创建新的 ClickHouse 用户。 请务必更改用户名、密码和主机 IP 地址。 此示例将创建一个新用户“halsey”,密码为“password”,并使用 SHA256 进行哈希处理。 “HOST IP”选项允许您指定用于连接 ClickHouse 服务器的 IP 地址。 在此示例中,仅允许来自 localhost 或“127.0.0.1”。

CREATE USER halsey HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'password';

创建一个新用户

现在运行以下查询,将 ClickHouse 服务器上的所有权限授予用户“halsey”。

GRANT ALL ON *.* TO halsey WITH GRANT OPTION;

授予特权

接下来,通过以下查询验证 ClickHouse 服务器上的用户列表。 您应该看到新用户“halsey”已添加到 ClickHouse 中。

SHOW USERS;

显示用户

现在,在 ClickHouse 控制台客户端上输入“quit”即可退出。

创建新的数据库管理员用户后,您必须在 ClickHouse 服务器上禁用“默认”用户的“access_management”。

使用以下 Nano 编辑器命令打开配置“/etc/clickhouse-server/users.d/default_password.xml”。

sudo nano /etc/clickhouse-server/users.d/default_password.xml

将“access_management”选项更改为“0”以禁用“默认”用户的“访问管理”。


   
       
            ...
            0
       
   

完成后保存文件并退出编辑器。

重新启动 ClickHouse 服务以通过下面的 systemctl 命令实用程序应用更改。

sudo systemctl restart clickhouse-server

最后,运行以下命令以“halsey”用户登录ClickHouse服务器。 当提示输入密码时,输入密码并按 ENTER 登录。

sudo clickhouse-client --user halsey --password

登录后,您将收到如下屏幕截图所示的输出。 ClickHouse ‘halsey’ 的新管理员用户已添加,并且登录成功。

以用户身份连接

创建 ClickHouse 服务器的新管理员用户后,您接下来将学习如何使用 ClickHouse 创建数据库和表,以及如何通过 ClickHouse SQL 查询插入和检索数据。

ClickHouse数据库系统的基本查询

在这一步中,您将学习ClickHouse数据库系统的基本查询,类似于常见的SQL查询。 您将学习如何创建数据库和表、在数据库中插入和检索数据,然后了解可用于更改 ClickHouse 服务器上现有数据的“ALTER”查询的基本用法。

首先,运行以下查询来创建新数据库。 在此示例中,您将创建一个新数据库“testdb”。

CREATE DATABASE testdb;

创建数据库

通过以下查询“USE dbname”切换到“testdb”。

USE testdb;

使用数据库

现在,使用以下查询创建一个新表“users”。 表“用户”将包含以下一些字段:

  • id 类型为“UInt64”,用于存储整数值。
  • 名称,类型为“String”,用于存储字符串 – 字符长度。
  • last_login 的类型为“DateTime”,用于字符串日期时间格式数据。
  • 这里的引擎是“MergeTree”,主要用在 ClickHouse 上。
CREATE TABLE users (id UInt64, name String, jobs String, last_login DateTime) ENGINE=MergeTree() PRIMARY KEY id ORDER BY id;

创建表

接下来,运行以下查询将新数据插入到表“users”中。 在下面的查询中,您将向“users”表插入三个不同的数据。

INSERT INTO users VALUES (1, 'alice', 'DevOps', '2022-10-10 00:10:10');
INSERT INTO users VALUES (2, 'alex', 'Manager', '2022-09-05 01:19:10');
INSERT INTO users VALUES (3, 'janet', '开发工程师', '2022-05-05 04:29:10');

插入第一个数据。

插入数据1

插入第二个数据。

插入数据2

插入第三个数据。

插入数据3

运行以下查询以从表“users”中检索数据。 您应该看到刚刚添加的三个新数据字段。

SELECT * FROM users;

检索数据

您已经学习了如何在 ClickHouse OLAP 数据库系统上创建数据库、切换到数据库、创建表、插入数据和检索数据。 接下来,您将学习使用“ALTER”查询更改数据。

运行以下“ALTER TABLE”查询来更新表“users”上的现有数据。 在此示例中,您将用户“alex”的字段“jobs”更改为“administrator”。

ALTER TABLE users UPDATE jobs = 'Administrator' WHERE name = 'alex';

通过以下查询验证表“users”上新更新的数据。 您现在应该将用户“alex”的新数据更新为“管理员”。

SELECT * FROM users;

使用 ALTER 更改数据

现在您已经了解了 ClickHouse 查询的基本用法,用于创建和切换数据库、创建表、插入数据和检索数据。 此外,您还学习了如何使用“ALTER”查询来更改 ClickHouse 数据库上的现有数据。 接下来,您将清理 ClickHouse 安装。

清洁环境

创建新的数据库和表并插入随机数据后,在最后一步中,您将通过删除刚刚创建的数据库和表来清理 ClickHouse 数据库系统安装。

运行以下查询“DROP TABLE”以从 testdb 数据库中删除 users 表。

DROP TABLE users;

删除表

现在通过下面的“DROP DATABASE”查询删除数据库“testdb”。

DROP DATABASE testdb;

删除数据库

最后,通过以下查询验证 ClickHouse 服务器上的数据库列表。 您应该看到数据库“testdb”已从 ClickHouse 服务器中删除。

SHOW DATABASES;

验证数据库

现在,您的 ClickHouse 安装已清理完毕,并且还配置了管理员用户。

结论

恭喜 您已经完成了 ClickHouse OLAP 数据库系统的安装,并了解了如何在 CLickHouse 上设置管理员用户。 最后,您还学习了创建数据库和表、插入和检索数据、更改现有数据以及清理数据库和表的基本查询。

资讯来源:由0x资讯编译自HOWTOFORGE,版权归作者所有,未经许可,不得转载

资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载

上一篇 2024年 5月 31日
下一篇 2024年 5月 31日

相关推荐