ソースコードからローカル起動
チュートリアル動画
重要
デプロイ中に環境セットアップやタスクの動作エラーなどが発生した場合は、qData データプラットフォーム公式のトラブルシューティング動画集を確認することをおすすめします。
この動画シリーズでは、よくある問題の調査方法を説明し、タスク失敗、タスクの追加や実行ができない、タスクインスタンスがないなどの典型的な場面を扱い、すばやく原因を特定して解決できるようにします。
この文書では、ソースコード方式で qData をローカル起動する方法を説明します。以下の手順に従って環境を準備し、サービスを設定してアプリケーションを起動してください。
1. 前提条件
1.1. Docker と Docker Compose をインストール
qData をインストールする前に、デバイスが次の最小要件を満たしていることを確認してください。Docker 関連コンポーネントは Linux サーバーまたは仮想マシンにインストールすることをおすすめします。
- CPU: >= 4 cores
- メモリ (RAM): >= 8 GiB
⚠️ 注意: Docker と Docker Compose が正しくインストールされ、ターミナルで正常に実行できることを確認してください。
2. バージョン要件
| コンポーネント | バージョン要件 |
|---|---|
| JDK | 1.8 |
| Maven | 3.6+ |
| yarn | v1.22.22+ |
| Node.js | 18.0+ |
| Docker | 19.03 or later |
| Docker Compose | 1.28 or later |
3. qData リポジトリをクローン
git clone https://gitee.com/qiantongtech/qData.git4. Docker Compose でミドルウェアを起動
qData バックエンドは次のミドルウェアに依存します。
- データベース: DM8 / MySQL, PostgreSQL
- キャッシュとメッセージキュー: Redis, RabbitMQ
- ファイルとストレージ: MongoDB, Hadoop, kkFileView
- スケジューリング: DolphinScheduler
Docker Compose でミドルウェアを起動します。
# Docker Compose デプロイ文書のローカルソースコードモード
docker-compose --profile local up -d👉 Docker Compose デプロイ文書 を参照してください。
5. バックエンドを起動
5.1. 環境準備
- JDK = 1.8
- Maven >= 3.6
5.2. IDEA でプロジェクトを起動
IntelliJ IDEA でプロジェクトを開きます。
5.3. プロジェクトをビルド
mvn clean -DskipTests=true install5.4. 必要な設定
以下の設定項目はすべて application-dev.yml ファイルで変更する必要があります。
5.4.1. qdata-server 設定
qdata-server/src/main/resources/application-dev.ymlを編集し、qData サービスの Redis 接続情報を変更します。
spring:
redis:
host: IP
port: PORT
database: 0
password: PASSWORDqdata-server/src/main/resources/application-dev.ymlを編集し、RabbitMQ 接続情報を変更します。
spring:
rabbitmq:
host: IP
port: PORT
username: ACCOUNT
password: PASSWORDqdata-server/src/main/resources/application-dev.ymlを編集し、データベース接続情報を変更します。
# プライマリデータソースの選択
datasource:
type: mysql # mysql or dm8。選択したタイプを入力し、下の対応設定を変更します。
# MySQL 設定
mysql:
# JDBC ドライバークラス名
driver-class-name: com.mysql.cj.jdbc.Driver
# プライマリデータベース JDBC 接続 URL
url: jdbc:mysql://IP:PORT/qdata?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# プライマリデータベースのユーザー名
username: ACCOUNT
# プライマリデータベースのパスワード
password: PASSWORD
# DM 設定
dm8:
# JDBC ドライバークラス名
driver-class-name: dm.jdbc.driver.DmDriver
# プライマリデータベース JDBC 接続 URL
url: jdbc:dm://IP:PORT/QDATA?STU&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&schema=QDATA&serverTimezone=Asia/Shanghai
# プライマリデータベースのユーザー名
username: ACCOUNT
# プライマリデータベースのパスワード
password: PASSWORDqdata-server/src/main/resources/application-dev.ymlを編集し、スケジューラー関連設定を変更します。
# スケジューラー関連設定
ds:
# スケジューラー API プレフィックス
base_url: http://IP:12345/dolphinscheduler
# データ品質サービスコンポーネントの HTTP コールバックアドレス
quality_url: http://127.0.0.1:8083/quality/qualityTaskExecutor/runExecuteTask
# データ品質タスク用の DolphinScheduler プロジェクトコード
http_quality_projectCode: 134799536571008
# スケジューラートークン。必要に応じて変更できます。
token: b07f0e57c4818043a57ba05a28da291a
# Spark 関連設定
spark:
# Spark master アドレス
master_url: spark://spark:7077
# DolphinScheduler 内の JAR パス
main_jar: file:/dolphinscheduler/default/resources/spark-jar/qdata-etl-3.8.8.jar
# JAR メインエントリクラス
main_class: tech.qiantong.qdata.spark.etl.EtlApplication
# HDFS 関連設定
hdfs:
# NameNode RPC アドレス。HDFS へのクライアント接続入口です。
url: hdfs://namenode:8020
# 最新のデータソース情報の取得とタスク実行に使用するスケジューラー Redis 設定
redis:
host: redis
port: 6379
database: 0
password: PASSWORDqdata-server/src/main/resources/application-dev.ymlを編集し、データ品質サービス設定を変更します。
path:
# データ品質サービスのプレフィックス
quality_url: http://127.0.0.1:8083/quality/qualityTaskExecutor5.4.2. qdata-quality 設定
qdata-quality/src/main/resources/application-dev.ymlを編集し、RabbitMQ 接続情報を変更します。
spring:
rabbitmq:
host: IP
port: PORT
username: ACCOUNT
password: PASSWORDqdata-quality/src/main/resources/application-dev.ymlを編集し、MongoDB 接続情報を変更します。
spring:
data:
mongodb:
# 接続アドレス
uri: mongodb://ACCOUNT:PASSWORD@IP:PORT/data?authSource=admin
field-naming-strategy: org.springframework.data.mapping.model.SnakeCaseFieldNamingStrategy
print: true
slowQuery: true
slowTime: 1000qdata-quality/src/main/resources/application-dev.ymlを編集し、データベース接続情報を変更します。
# プライマリデータソースの選択
datasource:
type: mysql # mysql or dm8。選択したタイプを入力し、下の対応設定を変更します。
# MySQL 設定
mysql:
# JDBC ドライバークラス名
driver-class-name: com.mysql.cj.jdbc.Driver
# プライマリデータベース JDBC 接続 URL
url: jdbc:mysql://IP:PORT/qdata?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# プライマリデータベースのユーザー名
username: ACCOUNT
# プライマリデータベースのパスワード
password: PASSWORD
# DM 設定
dm8:
# JDBC ドライバークラス名
driver-class-name: dm.jdbc.driver.DmDriver
# プライマリデータベース JDBC 接続 URL
url: jdbc:dm://IP:PORT/QDATA?STU&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&schema=QDATA&serverTimezone=Asia/Shanghai
# プライマリデータベースのユーザー名
username: ACCOUNT
# プライマリデータベースのパスワード
password: PASSWORDqdata-quality/src/main/resources/application-dev.ymlを編集し、RabbitMQ 接続情報を変更します。
spring:
rabbitmq:
host: IP
port: PORT
username: ACCOUNT
password: PASSWORD5.4.3. qdata-server サービスを起動
qdata-server/src/main/java/tech/qiantong/qdata/server/QDataApplication.java を実行します。
5.4.4. qdata-quality サービスを起動
qdata-quality/src/main/java/tech/qiantong/qdata/quality/QualityApplication.java を実行します。
6. フロントエンドを起動
6.1. 環境準備
- Node.js >= 18.0
- yarn >= v1.22.22
6.2. フロントエンドサービスを起動
# フロントエンドディレクトリに移動
cd qdata-ui
# 依存関係をインストール
yarn install
# 起動
yarn run dev6.3. admin パスワードをリセット
# 次の SQL をデータベースで実行
UPDATE SYSTEM_USER
SET PASSWORD='$2a$10$3dzj0nGSmlNjPw4iuZNHse5.lxrNzumTCQ8aEaV7nNEtn2pXmmimW'
WHERE USER_ID=1;6.4. qData にアクセス
ブラウザーで http://localhost:81 を開きます。
デフォルトのアカウント/パスワード: admin/qData123
ログインページが正しく表示され、ログインに成功し、メニューとページが正常に表示されれば、環境構築は完了です。
