Greptime 命令行工具
greptime 命令行工具可以启动、停止、或传递配置项给 GreptimeDB。
安装命令行工具
Greptime 命令行工具与 GreptimeDB 二进制文件捆绑在一起。
在安装 GreptimeDB之后,
你可以在 GreptimeDB 的当前目录中执行 ./greptime 命令。
为了方便起见,如果你希望使用 greptime 而不是 ./greptime 来运行命令,
可以将命令行工具的二进制文件移动到系统的 bin 目录,或者将二进制文件的路径添加到 PATH 环境变量中。
选项
help 命令列出了 greptime 所有可用的命令和选项。
$ greptime help
Usage: greptime [OPTIONS] <COMMAND>
Commands:
datanode Start datanode service
frontend Start frontend service
metasrv Start metasrv service
standalone Run greptimedb as a standalone service
cli Execute the cli tools for greptimedb
help Print this message or the help of the given subcommand(s)
Options:
--log-dir <LOG_DIR>
--log-level <LOG_LEVEL>
-h, --help Print help
-V, --version Print version
--log-dir=[dir]specify logs directory,/tmp/greptimedb/logsby default.--log-level=[info | debug | error | warn | trace]specify the log level,infoby default.
全局选项
-h/--help: 打印命令行帮助信息-V/--version: 打印 GreptimeDB 版本信息--log-dir <LOG_DIR>: 指定日志路径--log-level <LOG_LEVEL>: 指定日志级别,如info、debug等。
datanode 子命令选项
通过执行下列命令来获取 datanode 子命令的帮助菜单:
greptime datanode start --help
-c/--config-file: 指定 datanode 启动的配置文件--data-home: 数据库存储 home 目录--env-prefix <ENV_PREFIX>: 配置的环境变量前缀,默认为GREPTIMEDB_DATANODE;--http-addr <HTTP_ADDR>: HTTP 服务地址--http-timeout <HTTP_TIMEOUT>: HTTP 超时设置,单位秒--metasrv-addrs <METASRV_ADDR>: Metasrv 服务器列表,用逗号或者空格隔开--node-id <NODE_ID>: 节点 ID--rpc-addr <RPC_ADDR>: gRPC 服务地址--rpc-hostname <RPC_HOSTNAME>: 节点 hostname--wal-dir <WAL_DIR>: WAL 日志目录;
所有的地址类选项都是 ip:port 形式的字符串。
metasrv 子命令选项
通过执行下列命令来获取 metasrv 子命令的帮助菜单:
greptime metasrv start --help
-c/--config-file: 指定metasrv启动配置文件--enable-region-failover: 是否启动 region 自动容灾,默认为false不启用。--env-prefix <ENV_PREFIX>: 配置的环境变量前缀,默认为GREPTIMEDB_METASRV;--bind-addr <BIND_ADDR>:服务监听地址,默认为127.0.0.1:3002.--http-addr <HTTP_ADDR>: HTTP 服务器地址--http-timeout <HTTP_TIMEOUT>: HTTP 超时设置,单位秒--selector <SELECTOR>: 参考 selector 类型;--server-addr <SERVER_ADDR>: 提供给 frontend 和 datanode 的外部通讯服务器地址--store-addrs <STORE_ADDR>: 逗号或空格分隔的键值存储服务器(默认为 etcd)地址,用于存储元数据;--use-memory-store: 是否使用内存存储替代 etcd,仅用于测试
frontend 子命令选项
通过执行下列命令来获取 frontend 子命令的帮助菜单:
greptime frontend start --help
-c/--config-file: 指定frontend启动配置文件--disable-dashboard: 是否禁用 dashboard,默认为false。--env-prefix <ENV_PREFIX>: 配置的环境变量前缀,默认为GREPTIMEDB_FRONTEND;--rpc-addr <RPC_ADDR>: gRPC 服务地址--http-addr <HTTP_ADDR>: HTTP 服务器地址--http-timeout <HTTP_TIMEOUT>: HTTP 超时设置,单位秒--influxdb-enable: 是否启用influxdbHTTP 接口,默认为 true。--metasrv-addrs <METASRV_ADDR>: Metasrv 地址列表,用逗号或者空格隔开--mysql-addr <MYSQL_ADDR>: MySQL 服务地址--postgres-addr <POSTGRES_ADDR>: Postgres 服务地址--tls-cert-path <TLS_CERT_PATH>: TLS 公钥文件地址--tls-key-path <TLS_KEY_PATH>: TLS 私钥文件地址--tls-mode <TLS_MODE>: TLS 模式--user-provider <USER_PROVIDER>: 参考 鉴权;
Flownode 子命令选项
通过执行下列命令来获取 flownode 子命令的帮助菜单:
greptime flownode start --help
--node-id <NODE_ID>: Flownode的ID--rpc-addr <RPC_ADDR>: gRPC服务器的绑定地址--rpc-hostname <RPC_HOSTNAME>: gRPC服务器的主机名--metasrv-addrs <METASRV_ADDRS>...: Metasrv地址列表-c, --config-file <CONFIG_FILE>: Flownode的配置文件--env-prefix <ENV_PREFIX>: 环境变量的前缀,默认为GREPTIMEDB_FLOWNODE
standalone 子命令选项
通过执行下列命令来获取 standalone 子命令的帮助菜单:
greptime standalone start --help
-c/--config-file: 指定standalone启动配置文件--env-prefix <ENV_PREFIX>: 配置的环境变量前缀,默认为GREPTIMEDB_STANDALONE;--http-addr <HTTP_ADDR>: HTTP 服务器地址--influxdb-enable: 是否启用influxdbHTTP 接口,默认为 true。--mysql-addr <MYSQL_ADDR>: MySQL 服务地址--postgres-addr <POSTGRES_ADDR>: Postgres 服务地址--rpc-addr <RPC_ADDR>: gRPC 服务地址
配置示例
启动服务时使用相关配置
使用自定义配置以 standalone 模式启动 GreptimeDB:
greptime --log-dir=/tmp/greptimedb/logs --log-level=info standalone start -c config/standalone.example.toml
standalone.example.toml 配置文件来自 [GreptimeDB](https://github.com/GreptimeTeam/greptimedb/) 仓库的 config 目录。您可以在那里找到更多示例配置文件。使用 -c 选项可以指定配置文件,有关更多信息,更多信息请查看配置。
为了以分布式模式启动 GreptimeDB,您需要分别启动每个组件。以下命令显示了如何使用自定义配置或命令行参数启动每个组件:
使用自定义配置启动 metasrv:
greptime metasrv start -c config/metasrv.example.toml
使用自定义配置启动 datanode:
greptime datanode start -c config/datanode.example.toml
使用命令行参数启动 datanode,指定 gRPC 服务地址、MySQL 服务地址、metasrv 地址和该 datanode 的 ID:
greptime datanode start --rpc-addr=0.0.0.0:4001 --mysql-addr=0.0.0.0:4002 --metasrv-addrs=0.0.0.0:3002 --node-id=1
使用自定义配置启动 frontend:
greptime frontend start -c config/frontend.example.toml
使用命令行参数启动 frontend,指定 metasrv 的地址:
greptime frontend start --metasrv-addrs=0.0.0.0:3002
使用自定义配置启动 flownode
greptime flownode start -c config/flownode.example.toml
使用命令行参数启动 flownode,指定 metasrv 和 frontend 的地址:
greptime flownode start --node-id=0 --rpc-addr=127.0.0.1:6800 --metasrv-addrs=127.0.0.1:3002;
升级 GreptimeDB 版本
请参考具体的升级步骤