命令行工具
总览
除了 InLong Dashboard,你可以通过命令行工具来查看管理 InLong 的相关资源。
命令行工具可以在 InLong 的 bin 目录运行。
用法:
$ bin/inlongctl [options] [command] [command options]
命令:
listdescribecreateupdatedeletelog
同时也可以使用
--help或者-h获取上述命令的帮助,例如:
$ bin/inlongctl list -h
配置
前往 inlong-manager 目录,修改 conf/application.properties 文件的以下配置即可。
server.host=127.0.0.1
server.port=8080
default.admin.user=admin
default.admin.password=inlong
List
list 用于展示相关资源的核心信息,并以表格的方式展示。
命令:
groupstreamsourcesinkclustercluster-tagcluster-nodeuser
group
$ bin/inlongctl list group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id,支持模糊查询 | |
-s, --status | inlong group status ,可选值有:CREATE,REJECTED,INITIALIZING,OPERATING,STARTED,FAILED,STOPPED,FINISHED,DELETED | |
-n, --num | 最多显示条数 | 10 | 
group status 说明
| group status | 描述 | 
|---|---|
CREATE | 待提交、待审批状态 | 
REJECTED | 审批被驳回 | 
INITIALIZING | 配置中 | 
OPERATING | 删除中、停止中以及重启中 | 
STARTED | 配置成功以及重启成功 | 
FAILED | 配置失败 | 
STOPPED | 暂停 | 
FINISHED | 停止 | 
DELETED | 已删除 | 
stream
$ bin/inlongctl list stream
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id,该 inlong stream 所在的 inlong group | 
* 表示为必需参数
source
$ bin/inlongctl list source
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id | |
-t, --type | stream source type,可选值有:AUTO_PUSH, TUBEMQ, PULSAR, KAFKA, FILE, MYSQL_SQL,MYSQL_BINLOG, POSTGRESQL, ORACLE, SQLSERVER, MONGODB, REDIS | 
stream source type 说明
| stream source type | 描述 | 
|---|---|
AUTO_PUSH | 自主推送 | 
TUBEMQ | TubeMQ | 
PULSAR | Pulsar | 
KAFKA | Kafka | 
FILE | 文件 | 
MYSQL_SQL | SQL | 
MYSQL_BINLOG | Binlog | 
POSTGRESQL | PostgreSQL | 
ORACLE | Oracle | 
SQLSERVER | SQL server | 
MONGODB | MongoDB | 
REDIS | Redis | 
sink
$ bin/inlongctl list sink
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id,该 stream sink 所在的 inlong stream | 
cluster-tag
$ bin/inlongctl list cluster-tag
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
--tag | cluster tag,集群标签,支持模糊查询 | 
cluster
$ bin/inlongctl list cluster
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
--tag | cluster tag | |
--type | cluster type,可选值有:AGENT, TUBEMQ, PULSAR, DATAPROXY, KAFKA | 
cluster type 说明
| cluster type | 描述 | 
|---|---|
AGENT | Agent | 
TUBEMQ | TubeMQ | 
PULSAR | Pulsar | 
DATAPROXY | DataProxy | 
KAFKA | Kafka | 
cluster-node
$ bin/inlongctl list cluster-node
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
--tag * | cluster tag | |
--type | cluster type,可选值有:AGENT, TUBEMQ, PULSAR, DATAPROXY, KAFKA | 
user
$ bin/inlongctl list user
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-u, --username | username,支持模糊查询 | |
--type | user type,可选值有:ADMIN, OPERATOR | 
user type 说明
| user type | 描述 | 
|---|---|
ADMIN | 管理员 | 
OPERATOR | 普通用户 | 
Describe
describe 用于展示相关资源的详细信息,直接以 Json 格式展示。
命令:
groupstreamsourcesinkclustercluster-tagcluster-nodeuser
group
$ bin/inlongctl describe group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id,支持模糊查询 | |
-s, --status | inlong group status ,可选值有:CREATE,REJECTED,INITIALIZING,OPERATING,STARTED,FAILED,STOPPED,FINISHED,DELETED | |
-n, --num | 最多显示条数 | 10 | 
group status 说明
| group status | 描述 | 
|---|---|
CREATE | 待提交、待审批状态 | 
REJECTED | 审批被驳回 | 
INITIALIZING | 配置中 | 
OPERATING | 删除中、停止中以及重启中 | 
STARTED | 配置成功以及重启成功 | 
FAILED | 配置失败 | 
STOPPED | 暂停 | 
FINISHED | 停止 | 
DELETED | 已删除 | 
stream
$ bin/inlongctl describe stream
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id,该 inlong stream 所在的 inlong group | 
source
$ bin/inlongctl describe source
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id | |
-t, --type | stream source type,可选值有:AUTO_PUSH, TUBEMQ, PULSAR, KAFKA, FILE, MYSQL_SQL,MYSQL_BINLOG, POSTGRESQL, ORACLE, SQLSERVER, MONGODB, REDIS | 
stream source type 说明
| stream source type | 描述 | 
|---|---|
AUTO_PUSH | 自主推送 | 
TUBEMQ | TubeMQ | 
PULSAR | Pulsar | 
KAFKA | Kafka | 
FILE | 文件 | 
MYSQL_SQL | SQL | 
MYSQL_BINLOG | Binlog | 
POSTGRESQL | PostgreSQL | 
ORACLE | Oracle | 
SQLSERVER | SQL server | 
MONGODB | MongoDB | 
REDIS | Redis | 
sink
$ bin/inlongctl describe sink
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id,该 stream sink 所在的 inlong stream | 
cluster-tag
$ bin/inlongctl describe cluster-tag
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster tag id | 
cluster
$ bin/inlongctl describe cluster
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster id | 
cluster-node
$ bin/inlongctl describe cluster-node
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster node id | 
user
$ bin/inlongctl describe user
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | user id | 
Create
create 用于创建相关资源,目前通过使用 json 文件的方式创建
命令:
groupclustercluster-tagcluster-nodeuser
group
$ bin/inlongctl create group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
json:
{
    "groupInfo": {
        "inlongGroupId": "test_group_ctl",
        "inlongClusterTag": "default_cluster",
        "mqType": "PULSAR"
    },
    "streamInfo": {
        "inlongStreamId": "test_stream_ctl",
        "fieldList": [
            {
                "fieldName": "name",
                "fieldType": "string"
            }
        ],
        "sourceList": [
            {
                "sourceType": "FILE",
                "sourceName": "test_source_ctl",
                "agentIp": "127.0.0.1",
                "pattern": "/data/test.txt"
            }
        ],
        "sinkList": [
            {
                "sinkType": "CLICKHOUSE",
                "sinkName": "test_sink_ctl",
                "dataNodeName": "test_clickhouse",
                "dbName": "db_test",
                "tableName": "table_test",
                "flushInterval": 1,
                "flushRecord": 1000,
                "retryTimes": 3,
                "engine": "Log",
                "isDistributed": 1,
                "sinkFieldList": [
                    {
                        "sourceFieldName": "name",
                        "sourceFieldType": "string",
                        "fieldName": "name",
                        "fieldType": "string"
                    }
                ]
            }
        ]
    }
}
- 这是一个 
file→pulsar→clickhouse流向的示例,如果需要其它流向,只需要替换相应source、sink部分 
Source:
- File
 - PostgreSQL
 - MySQL
 - SQLServer
 - MongoDB
 - Redis
 - Oracle
 - MQTT
 
{ 
    "sourceType": "FILE",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "pattern": "/data/test.txt"
}
{ 
    "sourceType": "MYSQL_BINLOG",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "user": "username",
    "password": "password",
    "hostname": "127.0.0.1",
    "port": 3306,
    "tableWhiteList": "db_test.table_test",
    "serverTimezone": "UTC",
    "intervalMs": "1000",
    "historyFilename": "/data/inlong-agent/.history",
    "allMigration": false
}
{ 
    "sourceType": "MONGODB",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "hosts": "127.0.0.1:27017",
    "username": "username",
    "password": "password",
    "database": "database_test",
    "collection": "collection_test",
    "primaryKey": "_id"
}
{ 
    "sourceType": "SQLSERVER",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "username": "username",
    "password": "password",
    "hostname": "127.0.0.1",
    "port": 1433,
    "database": "database_test",
    "schemaName": "schema_test",
    "tableName": "table_test",
    "serverTimezone": "UTC",
    "allMigration": false,
    "primaryKey": "id"
}
{ 
    "sourceType": "REDIS",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "host": "127.0.0.1",
    "port": 6379,
    "username": "username",
    "password": "password",
    "database": 0,
    "redisMode": "cluster",
    "timeout": 1000,
    "soTimeout": 1000
}
{ 
    "sourceType": "POSTGRESQL",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "username": "username",
    "password": "password",
    "hostname": "127.0.0.1",
    "port": 5432,
    "database": "database_test",
    "schema": "public",
    "decodingPluginName": "pgoutput",
    "tableNameList": [
        "table_test"
    ],
    "primaryKey": "id"
}
{ 
    "sourceType": "ORACLE",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "hostname": "127.0.0.1",
    "port": 1521,
    "username": "username",
    "password": "password",
    "database": "database_test",
    "schemaName": "schema_test",
    "tableName": "table_test",
    "scanStartupMode": "initial",
    "allMigration": false
}
{ 
    "sourceType": "MQTT",
    "sourceName": "test_source_ctl",
    "agentIp": "127.0.0.1",
    "serverURI": "tcp://127.0.0.1:1883",
    "username": "username",
    "password": "password",
    "topic": "topic_test",
    "qos": 1,
    "clientId": "client_test",
    "mqttVersion": "4"
}
Sink:
- Clickhouse
 - Hive
 - Elasticsearch
 - Kafka
 - MySQL
 - Oracle
 - PostgreSQL
 - SQLServer
 - Iceberg
 
{
    "sinkType": "CLICKHOUSE",
    "sinkName": "test_sink_ctl",
    "dataNodeName": "test_clickhouse",
    "dbName": "db_test",
    "tableName": "table_test",
    "flushInterval": 1,
    "flushRecord": 1000,
    "retryTimes": 3,
    "engine": "Log",
    "isDistributed": 1,
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "HIVE",
    "sinkName": "test_sink_ctl",
    "dataNodeName": "hive_test",
    "dbName": "db_test",
    "tableName": "table_test",
    "enableCreateResource": 1,
    "dataEncoding": "UTF-8",
    "fileFormat": "TextFile",
    "dataSeparator": "124",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "ELASTICSEARCH",
    "sinkName": "test_sink_ctl",
    "dataNodeName": "test_es",
    "indexName": "index_test",
    "documentType": "doc_test",
    "flushRecord": 1000,
    "primaryKey": "_id",
    "esVersion": 5,
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "KAFKA",
    "sinkName": "test_sink_ctl",
    "bootstrapServers": "127.0.0.1:9092",
    "topicName": "topic_test",
    "partitionNum": 3,
    "serializationType": "JSON",
    "autoOffsetReset": "earliest",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "MYSQL",
    "sinkName": "test_sink_ctl",
    "dataNodeName": "test_mysql",
    "databaseName": "database_test",
    "tableName": "table_test",
    "primaryKey": "id",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "ORACLE",
    "sinkName": "test_sink_ctl",
    "jdbcUrl": "jdbc:oracle:thin://127.0.0.1:1521/db_name",
    "username": "username",
    "password": "password",
    "tableName": "test_table",
    "primaryKey": "id",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "POSTGRESQL",
    "sinkName": "test_sink_ctl",
    "jdbcUrl": "jdbc:postgresql://127.0.0.1:5432/db_name",
    "username": "username",
    "password": "password",
    "dbName": "db_test",
    "tableName": "table_test",
    "primaryKey": "id",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{ 
    "sinkType": "SQLSERVER",
    "sinkName": "test_sink_ctl",
    "jdbcUrl": "jdbc:sqlserver://127.0.0.1:1433;database=db_test",
    "tableName": "table_test",
    "schemaName": "schema_test",
    "username": "username",
    "password": "password",
    "serverTimezone": "UTC",
    "allMigration": false,
    "primaryKey": "id",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
{
    "sinkType": "ICEBERG",
    "sinkName": "test_sink_ctl",
    "dataNodeName": "test_iceberg",
    "dbName": "db_test",
    "tableName": "table_test",
    "fileFormat": "Parquet",
    "primaryKey": "id",
    "enableCreateResource": 1,
    "sinkFieldList": []
}
cluster
$ bin/inlongctl create cluster
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
json 示例:
{
  "name": "test_cluster",
  "url": "127.0.0.1:8080",
  "clusterTags": "test_cluster_tag",
  "extTag": null,
  "description": null,
  "inCharges": "admin",
  "type": "PULSAR",
  "adminUrl": "http://127.0.0.1:8080",
  "tenant": "public"
}
cluster-tag
$ bin/inlongctl create cluster-tag
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
json 示例:
{
  "clusterTag": "test_cluster_tag",
  "inCharges": "ctl",
  "extParams": null,
  "description": null
}
cluster-node
$ bin/inlongctl create cluster-node
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
json 示例:
{
  "parentId": 1,
  "type": "AGENT",
  "ip": "127.0.0.1",
  "port": 8008,
  "extParams": null,
  "description": "null"
}
parentId 为该节点对应 cluster 的 id,可通过
list cluster或describe cluster查看
user
$ bin/inlongctl create user
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-u, --username | 用户名称 | |
-p, --password | 用户密码 | |
-t, --type | 用户类型 | |
-d, --day | 有效期 | 
Update
update 用于修改相关资源,目前通过使用 json 文件的方式修改
命令:
clustercluster-tagcluster-nodeuser
update所需的 json 文件可以在describe得到的 json 上进行需要的修改即可。
cluster
$ bin/inlongctl update cluster
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
cluster-tag
$ bin/inlongctl update cluster-tag
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
cluster-node
$ bin/inlongctl update cluster-node
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-f, --file | json 文件名称 | 
user
$ bin/inlongctl update user
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-u, --username | 用户名称 | |
-p, --password | 新密码 | |
-d, --day | 新有效期 | 
Suspend
suspend 用于暂停 inlong 任务
命令:
group
group
$ bin/inlongctl suspend group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id | 
Restart
restart 用于重启 inlong 任务
命令:
group
group
$ bin/inlongctl restart group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id | 
Delete
delete 用于删除相关资源。
命令:
groupstreamsourcesinkclustercluster-tagcluster-nodeuser
group
$ bin/inlongctl delete group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id,支持模糊查询 | |
-s, --status | inlong group status ,可选值有:CREATE,REJECTED,INITIALIZING,OPERATING,STARTED,FAILED,STOPPED,FINISHED,DELETED | |
-n, --num | 最多显示条数 | 10 | 
group status 说明
| group status | 描述 | 
|---|---|
CREATE | 待提交、待审批状态 | 
REJECTED | 审批被驳回 | 
INITIALIZING | 配置中 | 
OPERATING | 删除中、停止中以及重启中 | 
STARTED | 配置成功以及重启成功 | 
FAILED | 配置失败 | 
STOPPED | 暂停 | 
FINISHED | 停止 | 
DELETED | 已删除 | 
stream
$ bin/inlongctl delete stream
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id,该 inlong stream 所在的 inlong group | 
source
$ bin/inlongctl delete source
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id | |
-t, --type | stream source type,可选值有:AUTO_PUSH, TUBEMQ, PULSAR, KAFKA, FILE, MYSQL_SQL,MYSQL_BINLOG, POSTGRESQL, ORACLE, SQLSERVER, MONGODB, REDIS | 
stream source type 说明
| stream source type | 描述 | 
|---|---|
AUTO_PUSH | 自主推送 | 
TUBEMQ | TubeMQ | 
PULSAR | Pulsar | 
KAFKA | Kafka | 
FILE | 文件 | 
MYSQL_SQL | SQL | 
MYSQL_BINLOG | Binlog | 
POSTGRESQL | PostgreSQL | 
ORACLE | Oracle | 
SQLSERVER | SQL server | 
MONGODB | MongoDB | 
REDIS | Redis | 
sink
$ bin/inlongctl delete sink
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group * | inlong group id | |
-s, --stream * | inlong stream id,该 stream sink 所在的 inlong stream | 
cluster-tag
$ bin/inlongctl delete cluster-tag
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster tag id | 
cluster
$ bin/inlongctl delete cluster
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster id | 
cluster-node
$ bin/inlongctl delete cluster-node
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | cluster node id | 
user
$ bin/inlongctl delete user
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-id, --id * | user id | 
Log
创建任务流程之后,可以使用 log 命令查看任务各阶段的执行日志
命令:
group
group
$ bin/inlongctl log group
选项:
| 参数 | 描述 | 默认值 | 
|---|---|---|
-g, --group | inlong group id,不支持模糊查询 |