【问题标题】:How to configure Apache Drill options as env variable?如何将 Apache Drill 选项配置为环境变量?
【发布时间】:2019-10-04 10:05:24
【问题描述】:

我想通过启动 Drillbit 在系统级别将drill.exec.hashjoin.fallback.enabled 设置为true

我可以在会话期间设置它,例如 alter session setdrill.exec.hashjoin.fallback.enabled=TRUE;,我也知道 drill-override.conf 文件。但是,如何通过将环境变量传递给我的容器来设置它,例如:

    drill:
        image: drill/apache-drill
        restart: always
        environment:
            # - DRILL_EXEC_HASHJOIN_FALLBACK_ENABLED=TRUE
            # - DRILLBIT_JAVA_OPTS="-Ddrill.exec.hashjoin.fallback.enabled=true"
            - DRILLBIT_JAVA_OPTS="-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true"
        tty: true
        volumes:
            - orlando:/orlando
        ports:
            - "8047:8047"
            - "31010:31010"

【问题讨论】:

    标签: java configuration environment-variables apache-drill


    【解决方案1】:

    您能否澄清一下,Drill 是以嵌入式还是分布式模式启动的?

    对于分布式模式,DRILLBIT_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true 应该按预期工作,但对于嵌入式,这个变量不被考虑,应该使用DRILL_JAVA_OPTS 变量:

    - DRILL_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true
    

    更多变量描述请参考https://github.com/apache/drill/blob/master/distribution/src/resources/runbit#L36

    【讨论】:

    • 我正在使用嵌入式模式并获取:Error: Could not find or load main class "-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true"
    • 变量中的双引号存在问题 - 它们作为变量值的一部分传递。它可以在没有引号的情况下工作:- DRILL_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true 或在引用变量名时:- "DRILL_JAVA_OPTS=-Ddrill.exec.options.drill.exec.hashjoin.fallback.enabled=true" 我已经更新了答案以反映它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-17
    • 1970-01-01
    • 2022-06-11
    • 1970-01-01
    相关资源
    最近更新 更多