impala shell在为ldap用户调用时挂起

lbsnaicq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(507)

我已经使用命令行在centos 6.5上安装了一个带有impala和sentry(cdh 5.2)的集群,并且还设置了openldap(没有tls)。两者都独立运行,没有任何问题。
为了为openldap配置hadoop集群,我为所有hadoop服务创建了必需的ldap组,并在core-site.xml和impala config文件中创建了必需的条目,列出了文档中提到的ldap uri等。
当我使用“impala shell-l-u test1”为ldap用户调用impala shell时,test1是一个有效的openldap用户,它要求输入我提供的密码。问题是,一旦这样做-它只是挂起。impala shell完全没有响应,impala日志和ldap日志都没有响应任何活动。我还尝试在端口389(ldap运行的地方)捕获tcpdump,但似乎没有来自impala的通信,因为根本没有交换数据包。相反,对于普通centos用户,在没有“-l”指令的情况下调用时,它可以完美地工作。下面是impala配置文件:


**IMPALA_CATALOG_SERVICE_HOST=master.server.com

IMPALA_STATE_STORE_HOST=master.server.com
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala
IMPALA_CATALOG_ARGS="  -log_dir=${IMPALA_LOG_DIR} -        sentry_config=/etc/hive/conf/sentry-site.xml  "**
IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}"
IMPALA_SERVER_ARGS="
    -server_name = master.server.com \
    -sentry_config=/etc/hive/conf/sentry-site.xml \
    -authorization_policy_provider_class = org.apache.sentry.provider.file.LocalGroupResourceAuthorizationProvider \
    -authorization_policy_file = /user/hive/warehouse/impala-policy.ini \
    -ldap_uri=ldap://slave.server.com:389 \
    --enable_ldap_auth=true \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}"
ENABLE_CORE_DUMPS=false

# LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib

# MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar

# IMPALA_BIN=/usr/lib/impala/sbin

# IMPALA_HOME=/usr/lib/impala

# HIVE_HOME=/usr/lib/hive

# HBASE_HOME=/usr/lib/hbase

# IMPALA_CONF_DIR=/etc/impala/conf

# HADOOP_CONF_DIR=/etc/impala/conf

# HIVE_CONF_DIR=/etc/impala/conf

# HBASE_CONF_DIR=/etc/impala/conf

如果你有过这样的经历,请帮我解决这个问题。提前谢谢。

f0ofjuux

f0ofjuux1#

我找到了根本原因。原因是impala守护程序没有从impala配置文件(通常位于/etc/default/impala)获取ldap详细信息。我不知道是什么解决了它,但只是重新安装 Impala 使它拿起的细节要求。完成后,下一个挑战是按照impala期望的方式设置openldap组,即dn应该包含uid而不是cn和rest,使用ldap\u listdn参数,提供在ldap日志中注册的完整dn。这是一个非常愚蠢的问题,它让我详细地学习了openldap。

相关问题