SenseLink
SenseLink GE Enterprise Pro V2.3.1 日本語
SenseLink GE Enterprise Pro V2.3.1 日本語
  • イントロダクション
  • SenseLink GE Enterprise Proインストールマニュアル
    • 改定履歴
    • 概要
    • 規則
    • 環境の準備
    • すべてのホストの初期設定
    • Diamond プラットフォームのデプロイ
    • SenseLink アプリケーションのデプロイ
    • 付録1:今後の使用に備えたインストーラパッケージのバックアップ
    • 付録2:インストールされたコンポーネントとサービス
    • 付録3:インストールに関する問題のトラブルシューティング
    • 付録4:運用時のトラブルシューティング
  • SenseLink GE Enterprise Proアップグレードマニュアル
    • 改定履歴
    • アップグレードマニュアル
  • Mercuryインストールマニュアル
    • 改訂履歴
    • 概要
    • 前提条件
    • マシンの準備
    • デプロイアカウントの準備
    • インストール前の準備
    • デプロイメント設定ファイルの作成
    • Diamond プラットフォームのデプロイ
    • Mercury サービス層のデプロイ
    • インストール問題のトラブルシューティング
    • 付録1:インストールパッケージの作成
    • 付録2:Diamond Yaml ジェネレータのローカル実行
    • 付録3: Mercuryライセンスの更新
  • SenseLink GE Enterprise Proデータバックアップ・リストアマニュアル
    • 改訂履歴
    • Alibaba Cloud の Mysql のバックアップとリストア
    • Alibaba Cloud の Redis のバックアップとリストア
    • Alibaba Cloud の MongoDB のバックアップとリストア
    • Mercuryのバックアップとリストア
  • Mercury スケールアウト マニュアル
  • Mercury APIマニュアル - Beta
  • SenseLink GE Enterprise Pro ユーザーマニュアル
    • 改訂履歴
    • 1 製品概要
    • 2 ライセンスのアクティベーションと更新
    • 3 ログインとログアウト
    • 4 ダッシュボード
    • 5 デバイス管理
    • 6 登録者管理
    • 7 登録者グループ管理
    • 8 ルール管理
    • 9 イベント管理
    • 10 勤怠管理
    • 11 システム管理
    • 12 アップデート管理
    • 13 エラーメッセージ
    • 付録 A アカウントの権限明細
  • SenseLink GE Enterprise Pro APIマニュアル
    • 改訂履歴
    • 1 製品概要と利用方法
    • 2 APIリファレンス
      • 2.1 システムのAPI
      • 2.2 デバイスの API
      • 2.3 デバイスアラートの API
      • 2.4 登録者の API
      • 2.5 登録者グループの API
      • 2.6 QRコードの API
      • 2.7 アクセスルールAPI
      • 2.8 レコードの API
      • 2.9 認証用顔写真の API
      • 2.10 部署の API
      • 2.11 イベントサブスクリプション API
    • 3 Push通知
  • SenseLink GE Enterprise Pro ToolKitマニュアル
    • 改訂履歴
    • 1 製品概要
    • 2 事前準備
    • 3 従業員管理
    • 4 デバイスアップデート管理
GitBook提供
このページ内
  • SenseLink アップグレードを実行します。
  • SenseLinkの構成要素
  • インストール時の問題のトラブルシューティング
  • SenseLink RDS サービスデータをクリーンアップする方法
  • PV or PVCを削除できません
  • SenseLink: ポート番号の問題で、Apiv2 ポードはCrashLoopBackOff時の対応

役に立ちましたか?

PDFとしてエクスポート
  1. SenseLink GE Enterprise Proアップグレードマニュアル

アップグレードマニュアル

SenseLink アップグレードを実行します。

サーバーホストのローカルファイルにkeyring dataが格納されている場合、keyring_filepluginが必要です。keyring_filepluginがアクティブであることを確認するには、SHOW PLUGINSステートメントを使用するか、INFORMATION_SCHEMA.PLUGINSテーブルをクエリします。例えば:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS  
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'keyring%';
+--------------+---------------+
| PLUGIN_NAME  | PLUGIN_STATUS |
+--------------+---------------+
| keyring_file | ACTIVE        |
+--------------+---------------+

下記のコマンドを実行して、SenseLinkをアップグレードします。

############# run separately ############
##### Please ensure use ubuntu user. #####
# make sure install_package_path is install package path.
# use tmux for upgrade, version is like 1.10 or 2.*

tmux
./upgrade_senselink.sh ${k8sKubeConfig_path} ${sshKeyFile_path} ${version} |& tee -a
 upgrade_senselink.log

SenseLinkの構成要素

Kubernetes環境で、全てのSenseLinkの構成要素はネームスペースsenselinkの下にデプロイされました。つまり、kubectlを使って、SenseLinkのリソースを操作する時にパラメータ-n senselink が必要です。

SenseLinkポート

kubectl -n senselink get podsコマンドでsenselinkネームスペースで動いているSenseLinkのホストを取得した結果は下記の通りです。

Type

NAME

Instances

STATUS

pod

apiv2-X

X=number of link nodes

Running

pod

emq

1

Running

pod

feature-X

X=number of link nodes

Running

pod

fs-X

X=1

Running

pod

infra2-X

X=number of link nodes

Running

pod

mmo-init-job

0

Completed

pod

openapi-X

X=number of link nodes

Running

pod

opq

1

Running

pod

schedule2

1

Running

pod

slinkpush

1

Running

pod

sntp

1

Running

pod

sync-X

X=number of link nodes

Running

pod

web-X

X=number of link nodes

Running

pod

tk-X

1

Running

pod

event-X

X=number of link nodes

Running

pod

nebula

X=1

Running

pod

zookeeper

1

Running

pod

websocket

1

Running

SenseLinkサービス

kubectl -n senselink get servicesコマンドでsenselinkネームスペースで動いているSenseLinkのサービスを取得した結果は下記の通りです。

NAME

TYPE

EXTERNAL-IP

PORT(S)

apiv2

ClusterIP

none

8080/TCP, 8081/TCP, 20860/TCP

emq

ClusterIP

none

8083/TCP, 8084/TCP, 8883/TCP, 1883/TCP, 18083/TCP, 18084/TCP

feature

ClusterIP

none

50052/TCP

fs

ClusterIP

none

20080/TCP

infra2

ClusterIP

none

50009/TCP, 50010/TCP

mongo

ExternalName

dds-xxxxxxxx.mongodb.japan.rds.aliyuncs.com

none

mysql

ExternalName

rm-xxxxxxxx.mysql.japan.rds.aliyuncs.com

none

openapi

ClusterIP

none

8099/TCP

opq

ClusterIP

none

9001/TCP

redis

ExternalName

r-xxxxxxxx.redis.japan.rds.aliyuncs.com

none

schedule2

ClusterIP

none

8091/TCP

slinkpush

ClusterIP

none

50055/TCP

sntp

ClusterIP

none

10080/TCP, 50080/TCP

sync

ClusterIP

none

1010/TCP, 50051/TCP

web

NodePort

none

80:80/TCP

websocket

ClusterIP

none

9000/TCP, 9099/TCP

zookeeper

ClusterIP

none

2181/TCP, 2888/TCP, 3888/TCP

tk

ClusterIP

none

8091/TCP, 50011/TCP, 20880/TCP

nebula

ClusterIP

none

55555/TCP, 20861/TCP

event

ClusterIP

none

8089/TCP, 20870/TCP

インストール時の問題のトラブルシューティング

SenseLink RDS サービスデータをクリーンアップする方法

PV or PVCを削除できません

sk patch pvc infra-claim-infra-1 -p '{"metadata":{"finalizers":null}}'

SenseLink: ポート番号の問題で、Apiv2 ポードはCrashLoopBackOff時の対応

Apiv2 Pod Crash 問題

SenseLinkをデプロイしたら、apiv2 ポートは CrashLoopBackOff 状態となってしまいます。

$ kubectl -n senselink get pod

NAME                         READY     STATUS             RESTARTS   AGE
apiv2-0                      0/1       CrashLoopBackOff   37         172m
apiv2-1                      0/1       CrashLoopBackOff   37         172m
apiv2-2                      0/1       CrashLoopBackOff   36         172m
emq-5c5b6fbbf9-wmxw9         1/1       Running            0          3h9m
feature-0                    1/1       Running            0          3h9m
feature-1                    1/1       Running            0          3h8m
feature-2                    1/1       Running            0          3h8m
mmo-init-job-nbm59           0/1       Completed          0          3h10m
...

ポートログを確認したら、下記のログが見つかりました。Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'

$ kubectl -n senselink logs apiv2-0
...
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'InfraService': Unsatisfied dependency expressed through field 'port'; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "tcp://10.108.12.226:50009"
...

Apiv2 Pod Crashの原因

infra-serviceの一部のキャッシュがapiv2の正常な実行に影響を与えたと推測されています。 SenseLinkのコンポーネントには実行中の依存関係があります。これが、コンポーネントが順番に段階的に展開される理由です。そして、infra-serviceはapiv2の後に配備されました。したがって、この問題は通常は発生しません。

Apiv2 Pod Crash問題の対応

k8s statefulset infra-service と apiv2を削除します。その後、順番にapiv2 と infra-serviceをデプロイします。

# delete infra-service fs-service and apiv2 pods
$ kubectl delete -f /data/senselink/multi-done/service/infra-service.yaml
service "infra" deleted
$ kubectl delete -f /data/senselink/multi-done/service/fs-service.yaml
service "fs" deleted
$ kubectl delete -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps "apiv2" deleted

# re-deploy apiv2 pods
$ kubectl apply -f /data/senselink/multi-done/statefulset/apiv2-statefulset.yaml
statefulset.apps/apiv2 created
# chech all apiv2 pods are running
$ kubectl -n senselink get pods
NAME                         READY     STATUS      RESTARTS   AGE
apiv2-0                      1/1       Running     0          4m15s
apiv2-1                      1/1       Running     0          4m5s
apiv2-2                      1/1       Running     0          3m59s
...

# redeploy infra-service
$ kubectl apply -f /data/senselink/multi-done/service/infra-service.yaml
service/infra created

# redeploy fs-service
$ kubectl apply -f /data/senselink/multi-done/service/fs-service.yaml
service/fs created
前へ改定履歴次へMercuryインストールマニュアル

最終更新 4 年前

役に立ちましたか?