はじめに
どうも、shouです!
私は普段DataStax Cassandraに関する業務に携わっており、そこで得られた知見を共有しようかと思います.
Cassandraって何?どんなものなの?扱うにはどのような勉強をしたらいいの?と思ったそこのあなた.これらについて書いたブログがあるのでぜひ読んでみてください↓↓
Cassandra Developer Associate Certification の資格取った!
紹介内容
今回は、直近で検証用のDSEクラスターを作成する機会があったので、ついでに手順化して私自身の備忘としても残しておこうと思い、ブログにしようと思います。
目指す環境は以下です。
- GCP compute engine VM計5台
- DataStax Cassandra Analytics 3ノードクラスター
- DataStax OpsCenter 2台の冗長構成
以上を目指して、シリーズで書いていこうかと思います。
- GCPでのVM構成編(本記事)
- OpsCenter構築編
- Cassandraインストール編
1発目の記事は、GCPでのVM構成編です。
対象
Cassandraに必要なマシンスペックについて知りたい方
やること
GCPでVM作成
ファイアウォール設定
VM接続
VM作成
まず必須ではないですがgcloud CLIを自分のマシンにインストールします.
今回の記事ではたびたびgcloudコマンドを使用します.普通に便利です.
gcloud CLI をインストールする | Google Cloud CLI のドキュメント
VMのマシン構成を決めるにあたって考慮したソースは以下です。
DSEノードの必要最小要件
OpsCenterの必要最小要件
Installing DSE OpsCenter 6.8 from the RPM package :: DataStax Enterprise 6.8 Documentation
今回作成予定なのは、検証用環境なので低めのスペックで作成したいと思います.
よって以下となります.
- DSEノード:n2-standard-4
- 論理コア数2、メモリ16GB
e2シリーズやn2-standard-2を使用して構築してみましたが、稼働はするものの、通常稼働やsparkの検証をするには厳しいパフォーマンスだったので、n2-standard-4を使用することにしました.
- 論理コア数2、メモリ16GB
- OpsCenterノード:e2-standard-2
- 論理コア数2、メモリ8GB
作成手順
- まずは、GCP Compute Engineのconsoleにアクセス
- 画面上部のインスタンスを作成を押下
- 新しいVMを押下
- DSEノードの作成.設定は以下の通り
- リージョン:asia-northeast1 (東京)
- マシン構成:n2-standard-4
- ブートディスク:Red Hat Enterprise Linux 8
- 詳細オプション > ネットワーク タグ:任意のタグ名
- 画面下部の同等のコードを押下し、画面右側の
gcloud compute instances create <instance name>
のコマンドが表示されたら、Cloud Shellで実行を押下しコマンドを実行.
gcloud compute instances create <instance name>
の<instance name>
をノード番号などが分かる名前にしてDSEノード必要台数分gcloudコマンドを実行してください.- DSEノード作成コマンドの
--machine-type
をe2-standard-2で指定してOpsCenterノードを2台作成してください. - gcloudコマンドの例は以下です.
プロジェクト名、サービスアカウント名などを補完することで使用できます.
gcloud compute instances create dsenode1 \
--project=[project] \
--zone=asia-northeast1-b \
--machine-type=n2-standard-4 \
--network-interface=network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=default \
--maintenance-policy=MIGRATE \
--provisioning-model=STANDARD \
--service-account=[service account] \
--scopes=https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring.write,https://www.googleapis.com/auth/servicecontrol,https://www.googleapis.com/auth/service.management.readonly,https://www.googleapis.com/auth/trace.append \
--tags=network,http-server,https-server \
--create-disk=auto-delete=yes,boot=yes,device-name=dsenode1,image=projects/rhel-cloud/global/images/rhel-8-v20231010,mode=rw,size=20,type=projects/[project]/zones/asia-northeast1-b/diskTypes/pd-balanced \
--no-shielded-secure-boot \
--shielded-vtpm \
--shielded-integrity-monitoring \
--labels=goog-ec-src=vm_add-gcloud \
--reservation-affinity=any
GCP Compute Engineのconsoleに作成したVMが表示されていればVM作成完了
ファイアウォール設定
- ファイアウォール ポリシーのコンソールにアクセス
- 画面上部ファイアウォールルールの作成を押下
- 一致したときのアクションで”許可”を選択
- ターゲットタグ欄にVMに設定したネットワークタグを指定
- VM作成コマンドの
--tags=network
の部分で確認できます
- VM作成コマンドの
- プロトコルとポートで指定したプロトコルとポートを選択
- DSEのVM:TCP 22で設定
- OpsCenterのVM:TCP 22,8888で設定
- gcloudコマンドとしては以下
gcloud compute --project=[project] firewall-rules create network --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22,tcp:8888 --target-tags=network
接続
あとはお好みのコンソールにて以下コマンドでconfigファイル書いてもらってSSH繋いで作業しましょう。
gcloud auth login
gcloud projects list
gcloud config set project [PROJECT_ID]
# 以降このコマンドで~/.ssh/configに接続先の設定を書いてくれます.
gcloud compute config-ssh
# ssh
ssh dse-instance-num
おわりに
いかがだったでしょうか?
今回はDSEクラスターを構築する上で必要なマシンのスペックについてと、GCPでのVMの準備手順を紹介してみました.執筆時にも意識したのですが、gcloudコマンドを取っておくともし環境が壊れて使えなくなったときにもう一度作りたい!ってなった場合に取っておくと便利です.
次回はOpsCenter構築編となります.それでは.