Impala官网翻译13-修改Impala的启动选项

修改Impala的启动选项

通过Impala守护进程的配置选项,您可以选择在单一主机上运行的服务使用哪些主机和端口,指定日志记录的目录,控制资源使用和安全性,并指定Impala软件的其他方面。

 

通过命令行配置 Impala 启动选项

Impala 服务器、stattore 和目录服务使用默认文件 /etc/default/impala 中提供的值启动。

这个文件包括Impala使用的许多资源的信息。该文件中包含的大多数默认值在大多数情况下应该是有效的。例如,通常情况下,你不会改变CLASSPATH变量的定义,但你总是会设置statetore服务器使用的地址。您可能会修改的一些内容包括

 

IMPALA_STATE_STORE_HOST=127.0.0.1
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala
IMPALA_CATALOG_SERVICE_HOST=...
IMPALA_STATE_STORE_HOST=...

export IMPALA_STATE_STORE_ARGS=${IMPALA_STATE_STORE_ARGS:- \
    -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}}
IMPALA_SERVER_ARGS=" \
-log_dir=${IMPALA_LOG_DIR} \
-catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
-state_store_port=${IMPALA_STATE_STORE_PORT} \
-state_store_host=${IMPALA_STATE_STORE_HOST} \
-be_port=${IMPALA_BACKEND_PORT}"
export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-false}

要使用备用值,请编辑默认值文件,然后重启所有与 Impala 相关的服务,使更改生效。使用以下命令重新启动Impala服务器。

 

$ sudo service impala-server restart
Stopping Impala Server:                                    [  OK  ]
Starting Impala Server:                                    [  OK  ]

 

使用以下命令重新启动 Impala StateStore。

 

$ sudo service impala-state-store restart
Stopping Impala State Store Server:                        [  OK  ]
Starting Impala State Store Server:                        [  OK  ]

使用以下命令重新启动 Impala 目录服务。

 

$ sudo service impala-catalog restart
Stopping Impala Catalog Server:                            [  OK  ]
Starting Impala Catalog Server:                            [  OK  ]

一些需要更改的常见设置包括:

 

  • StateStore地址。在可行的情况下,将stesttored放在一个不运行impalad守护进程的独立主机上。在这个推荐的配置中,impalad 守护进程不能使用环回地址来引用 statestored 服务器。如果stesttored存放在IP地址为192.168.0.27的机器上,请更改。
    IMPALA_STATE_STORE_HOST=127.0.0.1

    改为:

    IMPALA_STATE_STORE_HOST=192.168.0.27
  • 目录服务器地址(包括主机名和端口号)。更新 IMPALA_CATALOG_SERVICE_HOST 变量的值。在可行的情况下,将目录服务器运行在与状态存储相同的主机上。在这个推荐的配置中, impalad 守护进程不能使用环回地址来引用目录服务器。如果目录服务的主机的 IP 地址是 192.168.0.27,则添加以下一行:
    IMPALA_CATALOG_SERVICE_HOST=192.168.0.27:26000

    目前,/etc/default/impala 缺省文件没有定义IMPALA_CATALOG_ARGS环境变量,但如果你添加了一个环境变量,服务启动/关闭脚本就会识别它。在/etc/default/impala中添加这个变量的定义,并添加选项--catalog_service_host=hostname。如果端口与默认的26000不同,也可以添加选项--catalog_service_port=port。

  • 内存限制。你可以限制Impala可用的内存量。例如,要允许Impala使用不超过70%的系统内存,请更改:
    export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \
        -log_dir=${IMPALA_LOG_DIR} \
        -state_store_port=${IMPALA_STATE_STORE_PORT} \
        -state_store_host=${IMPALA_STATE_STORE_HOST} \
        -be_port=${IMPALA_BACKEND_PORT}}

    改为:

    export IMPALA_SERVER_ARGS=${IMPALA_SERVER_ARGS:- \
        -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT} \
        -state_store_host=${IMPALA_STATE_STORE_HOST} \
        -be_port=${IMPALA_BACKEND_PORT} -mem_limit=70%}

    可以使用绝对值来指定内存限制,如500m或2G,也可以使用物理内存的百分比来指定,如60%。

    注意:超过指定内存限制的查询会被中止。百分比限制是基于机器的物理内存,不考虑cgroups。

  • 核心转储启用。要启用核心转储,请更改。
    export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-false}

    改为:

    export ENABLE_CORE_DUMPS=${ENABLE_COREDUMPS:-true}

    注意:
    核心转储文件的位置可能会根据您的操作系统配置而有所不同。
    其他安全设置可能会阻止Impala写入核心转储,即使启用该选项。

  • 授权。指定 --server_name 选项作为 IMPALA_SERVER_ARGS 和 IMPALA_CATALOG_ARGS 设置的一部分,以启用 Impala 核心对授权的支持。详情请参见启用 Sentry 授权后启动 Impala。
  • 对成功或被阻止的 Impala 查询进行审计,这是安全性的另一个方面。为每个 Impala 节点指定 --audit_event_log_dir=directory_path 选项以及 --max_audit_event_log_file_size=number_of_queries 和 --abort_on_failed_audit_event 选项作为 IMPALA_SERVER_ARGS 设置的一部分,以启用和自定义审计。详情请参见审核Impala操作。
  • Impala Web UI 的密码保护,默认情况下,它在 25000 端口监听。此功能涉及将部分或全部 --webserver_password_file、 --webserver_authentication_domain 和 --webserver_certificate_file 选项添加到 IMPALA_SERVER_ARGS 和 IMPALA_STATE_STORE_ARGS 设置中。详情请参见Impala的安全指南。
  • 另一个可以添加到IMPALA_SERVER_ARGS的设置是一个以逗号分隔的查询选项和值列表:
    ‑‑default_query_options='option=value,option=value,...'
    

     

    这些选项控制了这个impalad实例所执行的查询行为。你在这里指定的选项值覆盖了Impala查询选项的默认值,如impala-shell中的SET语句所示。

  • 在故障排除过程中,相应的支持渠道可能会指导你更改其他值,特别是对impala_server_args的值,以解决问题或收集调试信息。

注意:

impalad 守护进程的这些启动选项与 impala-shell 命令的命令行选项不同。关于 impala-shell 的选项,请参见 impala-shell 配置选项。

 

检查 Impala 配置选项的值

你可以通过Impala web界面检查所有这些设置的当前运行时值,默认情况下,impalad daemon可在http://impala_hostname:25000/varz,stattored daemon可在http://impala_hostname:25010/varz,catalogd daemon可在http://impala_hostname:25020/varz。

 

catalogd守护程序的启动选项

catalogd守护进程实现了Impala Catalog服务,当Impala创建表、插入数据或执行其他类型的DDL和DML操作时,该服务会向所有Impala节点广播元数据变化。

使用--load_catalog_in_background选项来控制何时加载表的元数据。

  • 如果设置为false,当表的元数据第一次被引用时就会被加载。这意味着特定查询的第一次运行可能会比后续运行慢。从Impala 2.2开始,--load_catalog_in_background的默认值为false。
  • 如果设置为true,即使没有查询需要元数据,目录服务也会尝试加载表的元数据。因此,当运行第一个需要元数据的查询时,元数据可能已经被加载。
    • 然而,出于以下原因,我们建议不要将该选项设置为true。
    • 后台加载会干扰特定查询的元数据加载。这可能会在启动时或在元数据失效后发生,持续时间取决于元数据的数量,并可能导致看似随机的长运行查询,难以诊断。
    • Impala 可能会加载可能从未使用过的表的元数据,可能会增加目录大小,从而增加目录服务和 Impala Daemon 的内存使用量。
posted @ 2021-02-05 13:46  田野与天  阅读(483)  评论(0编辑  收藏  举报