ClickHouseのインストール
ClickHouseを始めるためのオプションは4つあります:
- ClickHouse Cloud: ClickHouseの公式サービスで、ClickHouseの作成者によって構築、維持、サポートされています。
- クイックインストール: ClickHouseでのテストと開発のための簡単にダウンロードできるバイナリ。
- 本番環境デプロイメント: ClickHouseは、x86-64や最新のARM (ARMv8.2-A以降)、またはPowerPC64LE CPUアーキテクチャを備えた任意のLinux、FreeBSD、macOSで動作します。
- Dockerイメージ: Docker Hubの公式Dockerイメージを使用します。
ClickHouse Cloud
ClickHouseを最も早く簡単に始める方法は、ClickHouse Cloudで新しいサービスを作成することです。
クイックインストール
特定のリリースバージョンの本番インストールについては、下記のインストールオプションを参照してください。
Linux、macOS、FreeBSDで:
-
もしあなたが初めてでClickHouseの機能を見たい場合、最も簡単にClickHouseをローカルにダウンロードする方法は以下のコマンドを実行することです。このコマンドは、ClickHouseサーバー、
clickhouse-client
、clickhouse-local
、ClickHouse Keeper、およびその他のツールを実行するために使用できる単一のバイナリをオペレーティングシステム用にダウンロードします:注記Macユーザーへ: バイナリの開発者を確認できないというエラーが発生する場合、こちらをご参照ください。
-
次のコマンドを実行して、clickhouse-localを起動します:
clickhouse-local
は、ClickHouseの強力なSQLを使用してローカルおよびリモートファイルを処理することを可能にし、設定の必要はありません。テーブルデータは一時的な場所に保存されるため、clickhouse-local
を再起動すると以前に作成したテーブルは利用できなくなります。代替として、以下のコマンドでClickHouseサーバーを起動できます…
… そして新しいターミナルを開いて、
clickhouse-client
でサーバーに接続します:テーブルデータは現在のディレクトリに保存され、ClickHouseサーバーの再起動後も利用可能です。必要に応じて、
./clickhouse server
に追加のコマンドライン引数として-C config.xml
を指定し、設定ファイルにさらに構成を提供できます。利用可能なすべての設定は、こちらおよび設定ファイルテンプレートの例に文書化されています。SQLコマンドをClickHouseに送信する準備ができました!
クイックスタートでは、テーブルの作成とデータの挿入の手順を説明しています。
本番環境デプロイメント
ClickHouseの本番デプロイメントのために、以下のインストールオプションから選択してください。
DEBパッケージから
DebianまたはUbuntu用の公式にプリコンパイルされたdeb
パッケージを使用することをお勧めします。以下のコマンドを実行してパッケージをインストールします:
Debianリポジトリの設定
ClickHouseサーバーとクライアントのインストール
ClickHouseサーバーの起動
古いディストリビューションのdebパッケージインストール方法
必要に応じて、stable
をlts
に置き換えて、必要に応じて異なるリリースの種類を使用できます。
また、こちらからパッケージを手動でダウンロードしてインストールできます。
スタンドアロンのClickHouse Keeperをインストール
本番環境では、ClickHouse Keeperを専用ノードで実行することを強く推奨します。 テスト環境では、ClickHouse ServerとClickHouse Keeperを同じサーバーで実行することを決定した場合、ClickHouse KeeperはClickHouseサーバーに含まれているため、インストールする必要はありません。 このコマンドは、スタンドアロンのClickHouse Keeperサーバーのみで必要です。
ClickHouse Keeperを有効化して起動
パッケージ
clickhouse-common-static
— ClickHouseのコンパイルされたバイナリファイルをインストールします。clickhouse-server
—clickhouse-server
のシンボリックリンクを作成し、デフォルトのサーバー構成をインストールします。clickhouse-client
—clickhouse-client
のシンボリックリンクとその他のクライアント関連ツールを作成し、クライアント構成ファイルをインストールします。clickhouse-common-static-dbg
— デバッグ情報を含むClickHouseコンパイルされたバイナリファイルをインストールします。clickhouse-keeper
- 専用のClickHouse KeeperノードにClickHouse Keeperをインストールするために使用します。ClickHouse KeeperをClickHouseサーバーと同じサーバーで実行している場合、このパッケージをインストールする必要はありません。ClickHouse Keeper値をインストールし、デフォルトのClickHouse Keeper構成ファイルをインストールします。
特定のバージョンのClickHouseをインストールする必要がある場合は、同じバージョンのすべてのパッケージをインストールする必要があります:
sudo apt-get install clickhouse-server=21.8.5.7 clickhouse-client=21.8.5.7 clickhouse-common-static=21.8.5.7
RPMパッケージから
CentOS、RedHat、および他のすべてのrpmベースのLinuxディストリビューション向けに公式にプリコンパイルされたrpm
パッケージを使用することをお勧めします。
RPMリポジトリの設定
まず、公式リポジトリを追加する必要があります:
zypper
パッケージマネージャーを持つシステム(openSUSE、SLES)の場合:
後で、任意のyum install
はzypper install
に置き換えることができます。特定のバージョンを指定するには、パッケージ名の末尾に-$VERSION
を追加します。例: clickhouse-client-22.2.2.22
。
ClickHouseサーバーとクライアントのインストール
ClickHouseサーバーの起動
スタンドアロンのClickHouse Keeperをインストール
本番環境では、ClickHouse Keeperを専用ノードで実行することを強く推奨します。 テスト環境では、ClickHouse ServerとClickHouse Keeperを同じサーバーで実行することを決定した場合、ClickHouse KeeperはClickHouseサーバーに含まれているため、インストールする必要はありません。 このコマンドは、スタンドアロンのClickHouse Keeperサーバーのみで必要です。
ClickHouse Keeperを有効化して起動
必要に応じて、stable
をlts
に置き換えて、必要に応じて異なるリリースの種類を使用できます。
その後、以下のコマンドを実行してパッケージをインストールします:
また、こちらからパッケージを手動でダウンロードしてインストールできます。
Tgzアーカイブから
公式にプリコンパイルされたtgz
アーカイブを、deb
やrpm
パッケージのインストールが不可能なすべてのLinuxディストリビューション向けに使用することをお勧めします。
必要なバージョンは、リポジトリ https://packages.clickhouse.com/tgz/ からcurl
またはwget
でダウンロードできます。
その後、ダウンロードしたアーカイブを展開し、インストールスクリプトでインストールする必要があります。最新の安定版の例:
本番環境では、最新のstable
バージョンを使用することをお勧めします。その番号はGitHubページ https://github.com/ClickHouse/ClickHouse/tags で-stable
という接尾辞とともに見つけることができます。
Dockerイメージから
Docker内でClickHouseを実行するには、Docker Hubのガイドに従ってください。これらのイメージは、内部で公式のdeb
パッケージを使用しています。
非本番環境デプロイメント (高度な)
ソースからコンパイル
ClickHouseを手動でコンパイルするには、LinuxまたはmacOSの指示に従ってください。
パッケージをコンパイルしてインストールするか、パッケージをインストールせずにプログラムを使用できます。
データおよびメタデータフォルダーを手動で作成し、望ましいユーザーのためにchown
する必要があります。これらのパスはサーバー構成 (src/programs/server/config.xml) で変更できます。デフォルトでは次のようになります:
Gentooでは、emerge clickhouse
を使用してClickHouseをソースからインストールできます。
CI生成バイナリをインストール
ClickHouseの継続的インテグレーション (CI) インフラストラクチャは、ClickHouseリポジトリ内の各コミットに対して専門のビルドを生成します。例えば、sanitized ビルド、最適化されていない (Debug) ビルド、クロスコンパイルビルドなどです。このようなビルドは通常、開発中のみ有用ですが、特定の状況下でユーザーにとっても興味深いことがあります。
ClickHouseのCIは時間と共に進化しているため、CI生成ビルドをダウンロードするための正確な手順は異なる場合があります。 また、CIは古いビルドアーティファクトを削除する場合があり、それによりダウンロードできなくなることがあります。
例えば、ClickHouse v23.4のaarch64バイナリをダウンロードするには、以下の手順に従います:
- リリース v23.4 のGitHubプルリクエストを見つけます: ブランチ 23.4 のリリースプルリクエスト
- "Commits"をクリックし、インストールしたい特定のバージョン用に「バージョンを23.4.2.1に自動生成の更新と貢献者」を含むコミットをクリックします。
- CIチェックのリストを開くには、緑のチェック / 黄の点 / 赤のバツをクリックします。
- リスト内の「Builds」の横にある「Details」をクリックすると、こちらのページのようなページが開きます。
- コンパイラ = "clang-*-aarch64" の行を見つけます - 複数の行があります。
- これらのビルドのアーティファクトをダウンロードします。
macOSのみ: Homebrewでインストール
homebrewを使用してmacOSにClickHouseをインストールするには、ClickHouseのコミュニティHomebrewフォーミュラを参照してください。
Macユーザーへ: バイナリの開発者を確認できないというエラーが発生する場合、こちらをご参照ください。
サーバーの起動
デーモンとしてサーバーを起動するには、以下のコマンドを実行します:
ClickHouseを実行する他の方法もあります:
もしservice
コマンドがない場合は、次のように実行します:
systemctl
コマンドがある場合は、次のように実行します:
ログは/var/log/clickhouse-server/
ディレクトリで確認できます。
サーバーが起動しない場合は、構成ファイル/etc/clickhouse-server/config.xml
を確認してください。
また、コンソールからサーバーを手動で起動することもできます:
この場合、ログはコンソールに表示され、開発中には便利です。
構成ファイルが現在のディレクトリにある場合、--config-file
パラメーターを指定する必要はありません。デフォルトでは./config.xml
が使用されます。
ClickHouseはアクセス制限設定をサポートしています。これらはconfig.xml
と同じ場所にあるusers.xml
ファイルにあります。
デフォルトでは、default
ユーザーにはパスワードなしでどこからでもアクセスが許可されています。user/default/networks
を参照してください。
詳細は"構成ファイル"のセクションを参照してください。
サーバーを起動したら、コマンドラインクライアントを使用して接続できます:
デフォルトでは、パスワードなしでユーザーdefault
としてlocalhost:9000
に接続されます。--host
引数を使用してリモートサーバーに接続することもできます。
ターミナルはUTF-8エンコーディングを使用する必要があります。 詳細は"コマンドラインクライアント"のセクションを参照してください。
例:
おめでとうございます、システムは動作しています!
実験を続けるために、テストデータセットの1つをダウンロードするか、チュートリアルを進んでください。
セルフマネージドClickHouseの推奨事項
ClickHouseは、x86-64、ARM、またはPowerPC64LE CPUアーキテクチャを備えた任意のLinux、FreeBSD、またはmacOSで動作します。
ClickHouseは、データ処理のために利用可能なすべてのハードウェアリソースを使用します。
ClickHouseは、クロック周波数の低い多数のコアでより効率的に動作する傾向があります。
トリビアルでないクエリを実行するためには、最低4GBのRAMを推奨します。ClickHouseサーバーははるかに少ないRAMでも動作しますが、その場合、クエリは頻繁に中断されます。
必要なRAMの量は一般的に次の要因に依存します:
- クエリの複雑さ。
- クエリで処理されるデータの量。
必要なRAMの量を計算するには、GROUP BY、DISTINCT、JOINなど、使用する操作の一時データのサイズを推定できます。
メモリ消費を削減するために、ClickHouseは一時データを外部ストレージにスワップすることができます。詳細については、外部メモリでのGROUP BYを参照してください。
本番環境では、オペレーティングシステムのスワップファイルを無効にすることをお勧めします。
ClickHouseのバイナリは、インストールに最低2.5GBのディスクスペースを必要とします。
データ量に必要なストレージの量は、次の基準に基づいて別途計算できます。
-
データ量の推定。
データのサンプルを取得し、その平均サイズを取得できます。その後、その値を計画した行数に掛けます。
-
データ圧縮係数。
データ圧縮係数を見積もるには、データのサンプルをClickHouseにロードし、実際のデータサイズとテーブルのストレージサイズを比較します。例えば、クリックストリームデータは通常6〜10倍圧縮されます。
ストレージされる最終データボリュームを計算するには、推定データ量に圧縮係数を適用します。レプリカにデータを保存する予定がある場合は、推定量をレプリカの数で掛けます。
分散したClickHouseデプロイメント(クラスタリング)のために、少なくとも10Gクラスのネットワーク接続を推奨します。
ネットワーク帯域幅は、大量の中間データを持つ分散クエリを処理するために重要です。また、ネットワーク速度はレプリケーションプロセスにも影響を与えます。