Configuration
System Properties
Property Name | Default | Meaning |
moonbox.port.maxReties |
16 |
端口绑定失败重试次数
|
moonbox.worker.timeout |
5m |
worker失联多久时间将worker标记为DEAD
|
Service Properties
Property Name | Default | Meaning |
moonbox.deploy.rest.enable |
true |
是否启动rest server
|
moonbox.deploy.rest.port |
9090 |
rest server服务端口
|
moonbox.deploy.rest.request-timeout |
60s |
rest server请求超时时间
|
moonbox.deploy.rest.idle-timeout |
60s |
rest server空闲超时时间
|
moonbox.deploy.rest.client.idle-timeout |
60s |
rest client空闲超时时间
|
moonbox.deploy.tcp.enable |
true |
是否启动tcp server
|
moonbox.deploy.tcp.port |
10010 |
tcp server服务端口
|
Rpc Properties
Property Name | Default | Meaning |
moonbox.rpc.implementation |
akka |
moonbox rpc 通信方式,目前仅支持akka
|
moonbox.rpc.akka.loglevel |
ERROR |
akka 日志级别
|
moonbox.rpc.akka.actor.provider |
akka.cluster.ClusterActorRefProvider |
参阅akka 官方文档
|
moonbox.rpc.akka.actor.debug.autoreceive |
off |
参阅akka 官方文档
|
moonbox.rpc.akka.actor.remote.transport |
akka.remote.netty.NettyRemoteTransport |
参阅akka 官方文档
|
moonbox.rpc.akka.actor.remote.log-remote-lifecycle-events |
off |
参阅akka 官方文档
|
moonbox.rpc.akka.actor.cluster.auto-down-unreachable-after |
60s |
参阅akka 官方文档
|
moonbox.rpc.akka.cluster.failure-detector.acceptable-heartbeat-pause |
10s |
参阅akka 官方文档
|
moonbox.rpc.akka.cluster.retry-unsuccessful-join-after |
3s |
参阅akka 官方文档
|
moonbox.rpc.akka.extensions.0 |
akka.cluster.client.ClusterClientReceptionist |
参阅akka 官方文档
|
Recovery Properties
Property Name | Default | Meaning |
moonbox.deploy.recovery.implementation |
NONE |
持久化方式,目前支持NONE、zookeeper
|
moonbox.deploy.recovery.zookeeper.url |
localhost:2181 |
zookeeper集群连接地址,多个使用逗号分隔
|
moonbox.deploy.recovery.zookeeper.dir |
/moonbox |
持久化数据存储目录
|
moonbox.deploy.recovery.zookeeper.retry.times |
3 |
连接zookeeper重试次数
|
moonbox.deploy.recovery.zookeeper.retry.wait |
1s |
连接zookeeper重试等待时间
|
Catalog Properties
Catalog目前仅支持关系型数据库,支持mysql、oracle、sqlserver、db2、postgres。配置项如下面所示。
Property Name | Default | Meaning |
moonbox.deploy.catalog.implementation |
无 |
catalog元数据存储方式
|
moonbox.deploy.catalog.url |
无 |
数据库连接地址, 需要加上?createDatabaseIfNotExist=true参数
|
moonbox.deploy.catalog.user |
无 |
建立数据库连接使用的用户名
|
moonbox.deploy.catalog.password |
无 |
建立数据库连接使用的密码
|
moonbox.deploy.catalog.driver |
无 |
建立数据库连接使用的驱动类名
|
moonbox.deploy.catalog.await-timeout |
20s |
建立数据库连接超时时间
|
如需修改为其他数据库请根据实际情况进行修改,并将对应的jdbc驱动jar包拷贝到每台机器$MOONBOX_HOME/libs目录,以下给出mysql示例。
Property Name | Example | Meaning |
moonbox.deploy.catalog.implementation |
mysql |
catalog元数据存储方式为MySQL
|
moonbox.deploy.catalog.url |
jdbc:mysql://host:port/moonbox?createDatabaseIfNotExist=true" |
数据库连接地址
|
moonbox.deploy.catalog.user |
user |
建立数据库连接使用的用户名
|
moonbox.deploy.catalog.password |
password |
建立数据库连接使用的密码
|
moonbox.deploy.catalog.driver |
com.mysql.jdbc.Driver |
建立数据库连接使用的驱动类
|
Timer Properties
Moonbox内部集成了quartz提供定时任务服务,如需使用定时任务功能,请将moonbox.deploy.timer.enable设置为true。
Property Name | Default | Meaning |
moonbox.deploy.timer.enable |
false |
是否开启定时任务功能
|
moonbox.deploy.timer.org.quartz.scheduler.instanceName |
TimedEventScheduler |
quartz实例名字,参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.threadPool.threadCount |
3 |
quartz线程池线程个数,参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.scheduler.skipUpdateCheck |
true |
参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.jobStore.misfireThreshold |
3000 |
参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.jobStore.class |
org.quartz.simpl.RAMJobStore |
quartz job存储方式,参阅quartz官方文档
|
默认配置quartz Job没有进行持久化,如需要配置quartz job进行持久化,请参考以下配置将quartz job持久化到mysql,更多用法请参考quartz官方文档。
需要注意的是,我们需要先手动在mysql中创建一些用于保存quartz元数据的库和表。例如我们先创建一个名为moonbox_quartz的数据库,然后使用mysql客户端运行位于$MOONBOX_HOME/bin目录下的quartz_tables_mysql.sql文件中的sql,在刚才创建的库中创建出所有表。
Property Name | Example | Meaning |
moonbox.deploy.timer.enable |
true |
是否开启定时任务功能
|
moonbox.deploy.timer.org.quartz.scheduler.instanceName |
TimedEventScheduler |
quartz实例名字,参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.threadPool.threadCount |
3 |
quartz线程池线程个数,参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.scheduler.skipUpdateCheck |
true |
参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.jobStore.misfireThreshold |
3000 |
参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.jobStore.class |
org.quartz.impl.jdbcjobstore.JobStoreTX |
quartz job存储方式,参阅quartz官方文档
|
moonbox.deploy.timer.org.quartz.jobStore.driverDelegateClass |
org.quartz.impl.jdbcjobstore.StdJDBCDelegate |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.jobStore.useProperties |
false |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.jobStore.tablePrefix |
QRTZ_ |
表名前缀,需要与创建表的sql语句保持一致,参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.jobStore.dataSource |
quartzDataSource |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.dataSource.quartzDataSource.driver |
com.mysql.jdbc.Driver |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.dataSource.quartzDataSource.URL |
jdbc:mysql://host:port/moonbox_quartz |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.dataSource.quartzDataSource.user |
user |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.dataSource.quartzDataSource.password |
password |
参阅quartz官方文档 |
moonbox.deploy.timer.org.quartz.dataSource.quartzDataSource.maxConnections |
10 |
参阅quartz官方文档 |
Mixcal Common Properties
Property Name | Default | Meaning |
moonbox.mixcal.implementation |
spark |
混算引擎方式,目前仅支持spark
|
moonbox.mixcal.pushdown.enable |
true |
是否开启下推功能
|
moonbox.mixcal.column.permission.enable |
false |
是否开启列级别权限控制
|
moonbox.mixcal.spark.sql.cbo.enable |
true |
是否开启spark sql cost base optimize,参阅spark 官方文档
|
moonbox.mixcal.spark.sql.constraintPropagation.enabled |
false |
参阅spark 官方文档
|
moonbox.mixcal.local |
[{}] |
值为数组, 元素类型为object。数组元素个数代表每个Worker节点启动多少个Spark Local的常驻作业。{}对象中可设置Spark相关参数
|
moonbox.mixcal.cluster |
无 |
同上值为数组, 元素类型为object。数组元素个数代表每个Worker节点启动多少个Spark Yarn的常驻作业。{}对象中可设置Spark相关参数
|
更多关于spark的配置请参阅spark官方文档。