KubeSphere の新世代クラウドネイティブ データ ウェアハウス、Databend を発表

KubeSphere の新世代クラウドネイティブ データ ウェアハウス、Databend を発表

導入

Databend は、クラウド オブジェクト ストレージに完全に特化した次世代のクラウド ネイティブ データ ウェアハウスです。大規模な分析ニーズを満たすために、弾力性と効率性を考慮して設計されています。 Databend も Apache-2.0 プロトコルに準拠したオープン ソース ソフトウェアです。クラウド サービス (https://app.databend.com/) にアクセスするだけでなく、ユーザーはワークロードのニーズを満たすために Databend プロダクション クラスターを自分で展開することもできます。

Databend の一般的な使用例は次のとおりです。

  • リアルタイム分析プラットフォーム、ログの高速クエリと視覚化。
  • クラウド データ ウェアハウス、履歴注文データの多次元分析およびレポート生成。
  • さまざまなソースや形式のデータを一様に管理および処理するハイブリッド クラウド アーキテクチャ。
  • コストとパフォーマンスに敏感な OLAP シナリオでは、ストレージとコンピューティング リソースが動的に調整されます。

KubeSphere は、Kubernetes 上に構築されたアプリケーション中心のマルチテナント コンテナ プラットフォームです。フルスタックの IT 自動化運用および保守機能を提供し、複数のノード上のコンテナ化されたアプリケーションを管理し、高可用性、弾力的なスケーリング、サービス検出、負荷分散などの機能を提供します。

KubeSphere を使用して Databend をデプロイおよび管理すると、次の利点があります。

  • Helm Charts を使用して Databend クラスターをデプロイし、アプリケーション管理、デプロイ プロセス、およびパラメーター設定を簡素化します。
  • Kubernetes の機能を活用して、Databend クラスターの自動リカバリ、水平拡張、負荷分散などを実現します。
  • MinIO、Prometheus、Grafana など、Kubernetes 上の他のサービスやアプリケーションと簡単に統合して対話できます。

この記事では、KubeSphere を使用して Databend 高可用性クラスターを作成および展開し、基盤となるストレージ サービスとして QingStor を使用する方法を紹介します。

オブジェクトストレージの構成

オブジェクト ストレージは、データをファイルやブロックではなくオブジェクトとして管理およびアクセスするストレージ モデルです。オブジェクト ストレージの利点には、スケーラビリティ、低コスト、高可用性などがあります。

Databend はオブジェクト ストレージ用に根本から設計されており、複雑さとコストを削減しながら柔軟性と効率性を高めます。 Databend は、AWS S3、Azure Blob、Google Cloud Storage、HDFS、Alibaba Cloud OSS、Tencent Cloud COS など、複数のオブジェクト ストレージ サービスをサポートしています。ビジネスのニーズや好みに応じて、適切なサービスを選択してデータを保存できます。

ここでは、QingStor を例に、S3 互換オブジェクト ストレージ構成の事前準備について説明します。

バケットを作成する

オブジェクト ストレージ サービス (QingStor) は、無制限の容量を持つオンライン ファイル ストレージおよびアクセス プラットフォームを提供します。各ユーザーは複数のストレージスペース (バケット) を作成できます。コンソールまたは QingStor API を介して、任意のタイプのファイルをストレージ スペース (バケット) にアップロードできます。ストレージスペース(バケット)はアクセス制御をサポートしており、指定したユーザーまたはすべてのユーザーに独自のストレージスペース(バケット)を公開することができます。

QingCloud コンソールにログインし、オブジェクト ストレージ サービスを選択して、検証用の新しいバケットを作成します。

注意する必要があるのは、バケットの名前 <bucket> と、それが配置されているアベイラビリティーゾーン <region> です。

ここでは s3 互換サービスが使用されているため、最終的に接続される endpoint_url は s3.<bucket>.<region>.qingstor.com になります。

APIキーを作成する

API キー (アクセス キー) を使用すると、API コマンドを送信して QingCloud サービスにアクセスできます。 API キー ID は、すべてのリクエストにパラメータとして含める必要があります。 API キーの秘密キーは、API リクエスト文字列の署名を生成する役割を果たします。秘密鍵は適切に保管する必要があり、公開してはなりません。デフォルトでは、すべての IP アドレスがこのキーを使用して API を呼び出すことができます。 IP ホワイトリストを設定すると、ホワイトリスト範囲内の IP アドレスのみがこのキーを使用できるようになります。

右上のメニューをクリックし、「API キー」を選択して、API アクセス用の新しいキーを作成します。

ダウンロードしたファイル内の qy_access_key_id​ は access_key_id​ に対応し、 qy_secret_access_key​ は secret_access_key に対応します。

KubeSphere環境を準備する

KubeSphere[1] (https://kubesphere.io) は、Kubernetes 上に構築されたオープンソースのコンテナ プラットフォームであり、フルスタックの IT 自動化操作を提供し、企業の DevOps ワークフローを簡素化します。 KubeSphereは国内外で数万社に導入されています。さらに、KubeSphere には非常にオープンなエコシステムもあります。 OpenPitrix をベースにした KubeSphere は、アプリケーション ライフサイクル管理のための Helm ベースのアプリケーション ストアをユーザーに提供します。 KubeSphere App Store を使用すると、ISV、開発者、ユーザーはワンストップ サービスで数回クリックするだけで、アプリケーションをアップロード、テスト、インストール、公開できます。 Databend は現在、KubeSphere アプリ ストアで入手できます。

KubeSphere環境構築

オールインワンモードの展開テスト環境

公式ドキュメント[2]を参照してください。

Azure 上のマシンを見つける:

 Ubuntu 18.04.6 LTS ( GNU / Linux 5.4.0 - 1089 - azure x86_64 )ようこそ

*ドキュメント: https://help.ubuntu.com
*管理: https://landscape.canonical.com
*サポート: https://ubuntu.com/advantage

2022年96日火曜日02:09:16 UTC時点システム情報

システム負荷: 0.15プロセス: 376
/の使用状況: 28.89 GB の4.8 %ログインしているユーザー: 0
メモリ使用量: 0 % eth0 の IP アドレス: 10.0 .0 .4
スワップ使用量: 0 %

オールインワンモードで展開:

これを root として実行する必要があることに注意してください。

 apt インストール socat conntrack containerd
systemctlデーモン-reload
systemctl enable --now コンテナ化
curl -sfL https://get-kk.kubesphere.io |バージョン= v3.0.2 sh-
chmod + x kk
./kkクラスターを作成--with-kubernetes v1.22.12 --with-kubesphere v3.3.1
+----------+----------+----------+----------+----------+----------+----------+----------+----------+--------+--------+-----------+------------+-------------+-----------+----------+
|名前| sudo実行しますカールオープンSSL ebtables |ソキャットipset |翻訳接続トラック|クロニードッカーコンテナ| nfs クライアント| ceph クライアント| glusterfs クライアント|時間|
+----------+----------+----------+----------+----------+----------+----------+----------+----------+--------+--------+-----------+------------+-------------+-----------+----------+
| ks |はいはいはいはいはい| |はいはい| 1.5 .9 - 0 ubuntu3 .1 | | | | UTC 02:53:56 |
+----------+----------+----------+----------+----------+----------+----------+----------+----------+--------+--------+-----------+------------+-------------+-----------+----------+

依存関係が不足しているというメッセージが表示された場合は、必要に応じて sudo apt install <name> を実行してインストールできます。ここでは最初の 2 つだけがインストールされます。


Kubernetes バージョン ≥ 1.18

ソカット

必須

接続トラック

必須

ebtables

オプションだが推奨

ipset

オプションだが推奨

ipvsadm

オプションだが推奨

KubeSphere コントロール パネルにアクセスします。

ログイン情報を表示するには、次のコマンドを実行します。

インストール結果を収集しています...
#################################################
### KubeSphere へようこそ! ###
#################################################

コンソール: http : // 10.0.0.4:30880
アカウント: admin
パスワード: P@88w0rd

注記:
1.コンソールログインしたら
サービスコンポーネントの状態を監視する
「クラスター管理」サービス
準備が整いましたすべてのコンポーネントが揃うまでお待ちください。
稼働中です。
2.ログイン後、デフォルトのパスワードを変更してください。

#################################################
https://kubesphere.io 2022-09-06 15:41:44
#################################################

ポート 30880 にアクセスし、ユーザー名とパスワードでログインすると、KubeSphere にアクセスできます。 KubeSphere やその他のサービスへのアクセスを確実にするために、実際の状況に応じて、クラウド プラットフォーム コントロール パネルで対応するポートの受信ルールと送信ルールを追加します。

KubeSphere Cloudはデモ環境を構築します

軽量クラスター サービスを作成します。

https://kubesphere.cloud[3]に登録してログインすると、軽量なクラスターサービスを簡単に作成できます。

デフォルト構成の無料バージョンのクラスターを作成して試してみることができます。個人ユーザーは月に10時間まで無料でご利用いただけます。

KubeSphere コントロール パネルにアクセスします。

クリックして KubeSphere に入り、一時アカウントとパスワードを使用してログインします。

プラグインの有効化

ログイン後のインターフェースは以下のようになります。

アプリケーションストアを使用する必要がある場合は、KubeSphereのドキュメント「インストール後にアプリケーションストアを有効にする」[4]を参照して有効にすることができます。

有効にすると、アプリストアで Databend を検索して見つけることができます。結果は下の図のようになります。

エンタープライズスペースとプロジェクト管理

「プラットフォーム管理」をクリックして「アクセス制御」ページに入り、「エンタープライズ スペース」を選択して「作成」をクリックし、「名前」列に使用する名前 (databend など) を入力します。

サイドバーでプロジェクトを選択し、「作成」をクリックして、それぞれ databend-meta と databend-query のプロジェクトを作成します。作成後の効果は以下のようになります。

Databend をデプロイする

アプリケーションテンプレートの読み込み

Databend はすでにアプリストアで入手可能ですが、バージョンは比較的古いです (v0.8.122-nightly)。新しいPR[5] (v1.0.3-nightly)はマージされるまで利用できません。したがって、Databend によって公式に管理されている helm-charts をアプリケーション テンプレートとして追加することをお勧めします。

Databend は Helm Charts を公式に提供しており、KubeSphere も Helm Charts アプリケーション テンプレートの使用をサポートしています。

アプリケーション テンプレートは、ユーザーがアプリケーションをアップロード、配信、管理するための手段です。一般的に、アプリケーションの機能と外部環境との通信方法に応じて、1つ以上のKubernetesワークロード(デプロイメント[6]、ステートフルレプリカセット[7]、デーモンセット[8]など)とサービス[9]で構成される場合があります。アプリケーションテンプレートとしてアップロードされたアプリケーションはHelm[10]パッケージに基づいて構築されます。 Helm Charts は、KubeSphere のパブリック リポジトリに配信することも、プライベート アプリケーション リポジトリにインポートしてアプリケーション テンプレートを提供することもできます。 https://kubesphere.io/zh/docs/v3.3/workspace-administration/upload-helm-based-application/[11]

エンタープライズスペースサイドバーでアプリケーション管理を選択し、アプリケーションリポジトリをクリックして、Databendによって公式に管理されているHelmチャート[12]を追加します。

ステータスが「成功」に変わったら、テンプレートに基づいて新しい Databend アプリケーションをインストールして展開できます。

Databend 展開モデル

Databendの公式ドキュメント「デプロイメントモードの理解」[13]を参照してください。

典型的な Databend クラスター アーキテクチャを下図に示します。複数のメタ ノードとクエリ ノードを個別に展開する必要があります。

Databend をクラスター モードでデプロイする場合は、まずメタ ノードを起動し、次に他のメタ ノードを設定して起動し、最初のメタ ノードに参加してクラスターを形成する必要があります。すべてのメタノードが正常に起動したら、クエリノードを 1 つずつ起動します。各クエリ ノードは起動後にメタ ノードに自動的に登録され、クラスターを形成します。

メタ高可用性クラスタの展開

databend-meta​ プロジェクトを選択します。サイドバーの「アプリケーションのロード」をクリックし、「アプリケーション」を選択します。 [作成] をクリックし、[アプリ テンプレートから] を選択します。ドロップダウン バーで以前に追加した Databend を選択すると、効果は次のようになります。

databend-meta を選択し、「インストール」をクリックして、アプリケーション名とバージョンを設定します。より良い体験のために、常に最新バージョンを使用することをお勧めします。

サンプル設定を使用して、databend-meta ノードのレプリカを 3 つ作成し、クラスターを形成します。実稼働環境では、高可用性クラスターのレプリカを少なくとも 3 つ使用することをお勧めします。設定については、Databend の公式ドキュメントを参照してください。

ブートストラップ: true
レプリカ数: 3
持続性:
サイズ: 5Gi # ホストマシンのリソースが限られているため、これはデモンストレーション用です
サービスモニター:
有効: true

クエリ クラスタの展開

メタノードのすべてのレプリカの準備ができたら、クエリ クラスターのデプロイを開始できます。

クエリ ノードの展開前の手順は、メタ ノードの場合と同様です。 databend-query プロジェクトに入り、前の手順に従って databend-query アプリケーション テンプレートを選択して作成します。

注意が必要な構成の部分は次のとおりです。

  • databend-meta 接続: ここでのアドレスは、以前にデプロイされた Meta クラスターの関連情報によって異なります。
  • 保存方法: この例では QingStor に接続し、S3 互換プロトコルを使用するため、endpoint_url に特に注意する必要があります。
  • 組み込みユーザーの作成: ローカルホスト以外の状況でのアクセスを容易にするために、databend という名前の組み込みユーザーとパスワード databend を作成します。

ここで単一コピーのクエリ クラスターが開始され、実際の状況でのワークロード規模に応じて柔軟に調整できます。

レプリカ数: 1
設定:
クエリ:
クラスタID :デフォルト
# 組み込みユーザーを追加
ユーザー:
-名前:データベンド
# 利用可能なタイプ: sha256_password double_sha1_password no_password jwt
認証タイプ: double_sha1_password
# echo - n "データ終了" |翻訳:カット- d ' ' - f1 | xxd - r - p | sha1sum
認証文字列: 3081 f32caef285c232d066033c89a78d88a6d8a5
メタ:
# リモートメタサービスを使用するようにエンドポイントを設定する
# 以前にデプロイされたメタサービス、名前空間ノード依存する
エンドポイント:
- "databend-meta-0.databend-meta.databend-meta.svc:9191"
- "databend-meta-1.databend-meta.databend-meta.svc:9191"
- "databend-meta-2.databend-meta.databend-meta.svc:9191"
ストレージ
# s3 oss
タイプ: s3
s3 :
バケット: "<バケット>"
エンドポイント URL : "https://s3.<region>.qingstor.com" # qingstor の場合
access_key_id : "<キー>"
secret_access_key : "<シークレット>"
# [推奨]監視サービスを有効にする
サービスモニター:
有効: true
# [推奨]クラスタ外からのアクセスを有効にする
サービス
タイプ:ロードバランサー

KubeSphere モニタリング

KubeSphere 観測ワークロード

ステータスが「実行中」に変わるまで待ちます。この時点で、KubeSphere を使用してワークロードを簡単に監視できます。

リソースステータス

  • データベンドメタ

  • データベンドクエリ

モニター

  • データベンドメタ

  • データベンドクエリ

アクセシビリティテスト

ノードステータス検出

オールインワン モードで展開すると、コンテナ グループの IP アドレスを使用してノードのステータスを簡単にテストできます。

 psiace@ks : ~ $ curl 10.233 .107 .113 : 8080 / v1 /ヘルス
{ "ステータス" : "合格" }

KubeSphere Cloud デプロイメントを使用する場合、KubeSphere Cloud コントロール パネルでネットワークを選択してアクセス ルールを作成できます。

ここでは、ポート 8080 (管理 API) と 8000 (クエリ HTTP ハンドラー) を例として挙げます。

作成後の結果を下の図に示します。

同様に、curl を使用してノードのステータスを確認することもできます。

 psiace@ks : ~ $ curl https : // admin - gfkyzxaz .c .kubesphere .cloud : 30443 / v1 / health
{ "ステータス" : "合格" }

クエリを実行する

bendsql は、Databend をスムーズかつ効率的に使用できる非常に便利なコマンド ライン インターフェイス ツールです。 bendsql は、コンピューティング クラスターを管理し、SQL クエリを実行するために Databend Cloud に接続することもサポートしています。

BendSQLをインストールする

 $ github .com / databendcloud / bendsql / cmd / bendsql@latest をインストールします

データベンド クラスターに接続する (KubeSphere Cloud を例に挙げる)

 $ bendsql 接続-Hクエリ-gfkyzxaz .c .kubesphere .cloud -P 30443 -u databend -p databend --ssl
ホスト上のDatabend に接続しました: query - gfkyzxaz .c .kubesphere .cloud
バージョン: DatabendQuery v0.9.57 -ナイトリー- df858a1 ( rust - 1.68.0 -ナイトリー- 2023-03-01 T01 : 23 : 11.56066902Z )

クエリを実行してみてください

 $ bendsqlクエリ
ドライバー databend ( DatabendQuery v0.9.57 - nightly - df858a1 ( rust - 1.68.0 - nightly - 2023-03-01 T01 : 23 : 11.56066902Z ) )接続しました
ヘルプを表示するには「help」と入力してください。

dd : databend@query - gfkyzxaz / default => SELECTavg ( number ) FROMnumbers ( 1000 ) ;
+-------------+
|平均(数値) |
+-------------+
| 499.5 |
+-------------+
( 1)

要約する

この記事では、バックエンド ストレージ サービスとして QingStor を使用して、KubeSphere で Databend 高可用性クラスターを作成および展開する方法を紹介します。最後に、bendsql を使用して、クラスターに接続し、クエリを実行する方法を示します。

参考リンク

[1]KubeSphere: https://github.com/kubesphere/kubesphere

[2] 公式ドキュメント: https://kubesphere.io/en/docs/v3.3/quick-start/all-in-one-on-linux/

[3]https://kubesphere.cloud: https://kubesphere.cloud/

[4] KubeSphere ドキュメント - インストール後に App Store を有効にする: https://kubesphere.io/en/docs/v3.3/pluggable-components/app-store/#%E5%9C%A8%E5%AE%89%E8%A3%85%E5%90%8E%E5%90%AF%E7%94%A8%E5%BA%94%E7%94%A8%E5%95%86%E5%BA%97

[5]PR: https://github.com/kubesphere/helm-charts/pull/288

[6] デプロイメント: https://kubesphere.io/zh/docs/v3.3/project-user-guide/application-workloads/deployments/

[7] ステートフルレプリカセット: https://kubesphere.io/zh/docs/v3.3/project-user-guide/application-workloads/statefulsets/

[8]デーモンセット: https://kubesphere.io/zh/docs/v3.3/project-user-guide/application-workloads/daemonsets/

[9]サービス: https://kubesphere.io/zh/docs/v3.3/project-user-guide/application-workloads/services/

[10]ヘルム: https://helm.sh/

[11]https://kubesphere.io/zh/docs/v3.3/workspace-administration/upload-helm-based-application/: https://kubesphere.io/zh/docs/v3.3/workspace-administration/upload-helm-based-application/

[12]Helmチャート: https://charts.databend.rs/

[13] https://databend.rs/doc/deploy/ Understanding-deployment-modes

<<:  ユン氏による公開自己批判が話題に:私たちは信頼できない、ネットユーザー:わかっています!

>>:  Amazon Web Services、量子コンピューティングハードウェアの開発を支援するオープンソースソフトウェアPalaceをリリース

推薦する

zji: 香港の高防御サーバー 38% 割引、50G 防御、2*e5-2630L/32g メモリ/2*1T SSD/10M 帯域幅 (cn2+BGP)

zji 香港葵湾の(独立した物理マシン)高防御サーバーモデルは 38% 割引を提供しています。デュア...

Django-crontabはDjangoのスケジュールされたタスクを実装します

1. はじめにレポートを作成するために、Aizhan から毎日 Baidu トラフィックと競合他社の...

ウェブサイトの外部リンクを構築するのは難しい作業です

SEO について少しでも知っている人なら、SEO の簡潔な要約「コンテンツは王様、外部リンクは女王」...

#おすすめ# abelohost: 苦情防止VPS(著作権を無視)、無制限のトラフィック、大容量ハードディスク

本当に苦情に強い VPS を見つけるのは簡単ではありません。苦情に強いと主張する (著作権を無視する...

Baidu がコンテンツページをインデックスできない主な 4 つの要因の簡単な分析

今日では、ウェブサイトの主なトラフィックがさまざまなロングテールキーワードの集合から発生することを、...

ウェブサイトの最適化に適切な方法を使用していますか?

こんな気持ちになったことはありませんか?ウェブサイトを最適化するとき、多くの場合、多くの時間と経験を...

hostyun 香港 vps はどうですか?メガコンピュータルームの「香港EPYCシリーズ」VPSの簡単なレビュー

Hostyunは昨日、香港EPYCシリーズVPSの販売を正式に開始しました。母鶏は10Gbpsの帯域...

WeChatでグループを見つけて参加するための6つのチャネルと10の実用的な方法

私はWeChatファンの成長分野を専門としています。最近、多くの友人から、より多くのターゲット顧客の...

APP チャネルプロモーション: チャネル評価を効率的に行うには?

チャネル獲得担当者は、独自のチャネル データから誤ったトラフィックを排除し、高品質のトラフィックを識...

desivps: 米国/オランダ/インドのデータセンター、VPS は年間 6 回 IP を無料で変更できます (最低 20 ドル/年)

desivps からの最新のプロモーション メール: ロサンゼルス、オランダ、インドの KVM シリ...

新規サイトの「三度参入」現象をどう分析するか

昨日、私は医療ウェブサイトの最適化における成功体験を共有しました。医療最適化に不慣れな友人たちの間で...

#サーバー: 100TB - メモリ/ハードディスク容量が無料で3倍に拡張されますが、価格は変わりません

老舗UK2傘下のハイエンドサーバーブランド100tb.comでは、今週限定でサーバープロモーションを...

日々の話題:WeChatグループに新世代の「出会いツール」が登場か?モモの旗?

A5 Webmaster Network(www.admin5.com)は5月7日、テンセントチーム...