データベース · 2 min read · Oct 29, 2025
Ubuntu 22.04にClickHouse OLAPデータベースシステムをインストールする方法

ClickHouseは、ClickHouse, Inc.によって開発され、C++で書かれたカラム指向のデータベース管理システムです。これは、高速で、障害耐性があり、使いやすく、高い信頼性を持つオープンソースのOLAPデータベース管理システムです。
ClickHouseは、オンライン分析処理のための非常に高速なOLAPデータベースシステムです。これにより、リアルタイムで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 supported」という出力が得られます。
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 -mSWAPが無効になっている場合、以下の出力が得られます - 「total」フィールドのSWAPサイズは0です。

SSE 4.2をサポートするCPUとSWAPが無効になっている状態で、ClickHouse OLAPデータベースシステムをインストールする準備が整いました。
ClickHouse OLAPデータベースシステムのインストール
ClickHouse OLAPデータベースシステムは、複数のインストール方法を提供します。Linuxディストリビューションの場合、ClickHouseは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 updateClickHouseリポジトリが追加されたことが確認されます。

次に、aptコマンドを使用して、データベースシステムとして「 clickhouse-server 」と「 clickhouse-client 」パッケージをインストールします。
sudo apt install clickhouse-server clickhouse-client確認のためにプロンプトが表示されたらYを入力し、ENTERを押して続行します。

また、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シェルが表示されます。

ここから、デフォルトのClickHouseユーザーとしてClickHouseサーバーv22.11に接続したことがわかります。ClickHouseサーバーはデフォルトでlocalhostのポート9000で実行されています。
この時点で、ClickHouseサーバーとクライアントをインストールし、「 clickhouse-client 」コマンドを介してClickHouseサーバーに接続する方法を学びました。次のステップでは、ClickHouseサーバーの管理者ユーザーを設定します。
ClickHouseでの管理者ユーザーの設定
このステップでは、ClickHouseサーバーの管理者ユーザーを作成します。しかし、その前に、ClickHouseの設定を介して「default」ユーザーの「アカウント管理」を有効にします。
まず、以下の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 」が「default」ユーザーに対して有効になったので、次にClickHouseの新しい管理者ユーザーを作成します。この新しいユーザーは、ClickHouseサーバーのすべてのデータベースにすべての権限でアクセスできるようになります。
以下の「 clickhouse-client 」コマンドを実行して、「 default 」ユーザーを介してClickHouseサーバーに接続します。
sudo clickhouse-client --user default --passwordパスワードの入力を求められたら、設定したパスワードを入力します。これで、ClickHouseサーバーコンソールにアクセスし、「 default 」ユーザーとして「 access_management 」が有効になった状態でログインします。

次に、以下のクエリを実行して新しいClickHouseユーザーを作成します。ユーザー名、パスワード、ホストIPアドレスを変更することを忘れないでください。この例では、パスワード「password」でハッシュ化された新しいユーザー「 halsey 」を作成します。「 HOST IP 」オプションを使用すると、ClickHouseサーバーに接続するために使用されるIPアドレスを指定できます。この例では、localhostまたは「 127.0.0.1 」からのみ許可されます。
CREATE USER halsey HOST IP '127.0.0.1' IDENTIFIED WITH sha256_password BY 'password';次に、以下のクエリを実行して、ユーザー「 halsey 」にClickHouseサーバーのすべての権限を付与します。
GRANT ALL ON *.* TO halsey WITH GRANT OPTION;
次に、以下のクエリを介してClickHouseサーバーのユーザーリストを確認します。新しいユーザー「halsey」がClickHouseに追加されたことがわかります。
SHOW USERS;
ClickHouseコンソールクライアントで「quit」と入力して終了します。
新しいデータベース管理ユーザーが作成されたので、次にClickHouseサーバーの「 default 」ユーザーの「 access_management 」を無効にする必要があります。
以下のnanoエディタコマンドを使用して設定ファイル「 /etc/clickhouse-server/users.d/default_password.xml 」を開きます。
sudo nano /etc/clickhouse-server/users.d/default_password.xml「 access_management 」オプションを「 0 」に変更して、「 default 」ユーザーの「 アクセス管理 」を無効にします。
...
0
ファイルを保存し、終了したらエディタを閉じます。
変更を適用するためにClickHouseサービスを再起動します。
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」を作成します。テーブル「 users 」には以下のフィールドがあります:
- idは整数値を格納するための「UInt64」型。
- nameは文字列を格納するための「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 」に3つの異なるデータを挿入します。
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', 'Developer', '2022-05-05 04:29:10');最初のデータを挿入します。

2番目のデータを挿入します。

3番目のデータを挿入します。

以下のクエリを実行してテーブル「 users 」からデータを取得します。追加した3つの新しいデータフィールドが表示されるはずです。
SELECT * FROM users;
データベースを作成し、データベースに切り替え、テーブルを作成し、データを挿入し、ClickHouse OLAPデータベースシステムでデータを取得する方法を学びました。次に、「 ALTER 」クエリを使用してデータを変更する方法を学びます。
以下の「ALTER TABLE」クエリを実行して、テーブル「users」の既存のデータを更新します。この例では、ユーザー「 alex 」のフィールド「jobs」を「 administrator 」に変更します。
ALTER TABLE users UPDATE jobs = 'Administrator' WHERE name = 'alex';以下のクエリを介してテーブル「users」の新しく更新されたデータを確認します。ユーザー「 alex 」の新しいデータが「 Administrator 」に更新されているはずです。
SELECT * FROM users;
ClickHouseクエリの基本的な使用法を学び、データベースの作成と切り替え、テーブルの作成、データの挿入、データの取得を行いました。また、ClickHouseデータベース上の既存のデータを変更するために「 ALTER 」クエリを使用する方法も学びました。次に、ClickHouseのインストールをクリーンアップします。
環境のクリーンアップ
新しいデータベースとテーブルが作成され、ランダムなデータが挿入されたので、最後のステップでは、作成したデータベースとテーブルを削除してClickHouseデータベースシステムのインストールをクリーンアップします。
以下のクエリ「DROP TABLE」を実行して、testdbデータベースからusersテーブルを削除します。
DROP TABLE users;
次に、以下の「 DROP DATABASE 」クエリを使用してデータベース「testdb」を削除します。
DROP DATABASE testdb;
最後に、以下のクエリを介してClickHouseサーバーのデータベースのリストを確認します。「 testdb 」データベースがClickHouseサーバーから削除されたことがわかります。
SHOW DATABASES;
これで、ClickHouseのインストールがクリーンアップされ、管理ユーザーも設定されました。
結論
おめでとうございます!ClickHouse OLAPデータベースシステムのインストールを完了し、ClickHouseで管理者ユーザーを設定する方法を学びました。そして最後に、データベースとテーブルを作成し、データを挿入および取得し、既存のデータを変更し、データベースとテーブルをクリーンアップするための基本的なクエリも学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。