dremio dac 模块简单说明一

dremio dac 模块在官方的定义中是dremio 分析中心的意思,代码上包含了,backend,common,daemon, ui

模块的功能

  • backend
    dremio 的server 部分,在构建打包之后会包含ui 部分的组件(前端),基于jersey 开发的web server ioc 部分利用了
    guice,属于一个比较重量的东西,dremio 入口模块都是在此处进行配置以及初始化的,学习此模块有助于了解内部的
    机制
  • common
    目前来说主要是一些注解处理供其他模块使用没有太多复杂的地方
  • daemon
    此模块属于dremio cli 能力的一部分,比如admin 管理部分就需要使用此功能(dremio 升级需要使用upgrade 命令),同时dremio 的启动也是
    利用了此功能,同时也会使用backend 模块的能力
    参考daemon admin cli 命令
 
bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin">/dev/null; pwd`
 
export DREMIO_ENV_SCRIPT="dremio-env"
. "$bin"/dremio-config
 
if [ -n "$CLIENT_GC_OPTS" ]; then
  CLIENT_GC_OPTS=${CLIENT_GC_OPTS/"-Xloggc:<FILE-PATH>"/"-Xloggc:${loggc}"}
  CLIENT_GC_OPTS=${CLIENT_GC_OPTS/"-Xlog:gc:<FILE-PATH>"/"-Xloggc:${loggc}"}
  DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS ${CLIENT_GC_OPTS}"
fi
 
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS -Xmx${DREMIO_MAX_HEAP_MEMORY_SIZE_MB:-4096}m"
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS $DREMIO_JAVA_CLIENT_EXTRA_OPTS $DREMIO_JAVA_EXTRA_OPTS"
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS $DREMIO_GC_OPTS"
 
if [ -z "$DREMIO_ADMIN_LOG_DIR" ]; then
  if [ -w "$DREMIO_LOG_DIR" ]; then
    DREMIO_ADMIN_LOG_DIR="$DREMIO_LOG_DIR"
  else
    DREMIO_ADMIN_LOG_DIR="$HOME/.dremio/"
  fi
fi
 
Command="$1"
DateTime=$(date '+%Y-%m-%d_%H:%M:%S')
LOG_PARAM="-Ddremio.admin.log.path=${DREMIO_ADMIN_LOG_DIR}/admin_${Command}_${DateTime}.log"
 
if [ -n "$DREMIO_ADMIN_LOG_VERBOSITY" ]; then
      LOG_PARAM="$LOG_PARAM -Ddremio.admin.log.verbosity=${DREMIO_ADMIN_LOG_VERBOSITY}"
fi
# cli 入口命令
exec "$JAVA" $DREMIO_JAVA_OPTS $LOG_PARAM -Dlogback.configurationFile=logback-admin.xml -cp $DREMIO_CLASSPATH \
  com.dremio.dac.cmd.AdminCommandRunner $@
  • ui 部分
    主要包含了ui 以及ui-lib ,ui 才是dremio 的前端部分,ui-lib 是一些公共组件方便ui 部分使用

说明

大致了解dac 模块的项目组成有助于我们深入学习dremio,同时也可以更好的扩展运行dremio (尤其是backend 模块部分),cli 部分基于了
jcommander 进行开发,后边会详细介绍下daemon 模块的运行以及源码

参考资料

dac/daemon/src/main/java/com/dremio/dac/daemon/DremioDaemon.java
https://github.com/dremio/dremio-oss
https://jcommander.org/
https://github.com/cbeust/jcommander

posted on 2023-01-17 19:30  荣锋亮  阅读(65)  评论(0编辑  收藏  举报

导航