安装 Linkedin 的 WhereHows 后凭证无效

Invalid credentials after installing Linkedin's WhereHows

根据 github 文档 (https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#getting-started) 安装 Linkedin 的 WhereHows 后,我发现我无法登录 wherehows 抱怨凭据的登录屏幕无效(使用某些 LDAP 用户)

有人知道这是怎么回事吗?

** Play 前端 (https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#frontend-setup) 的配置变量如下所示:

export WHZ_DB_USERNAME="wherehows"
export WHZ_DB_PASSWORD="wherehows"
export WHZ_DB_URL="jdbc:mysql://localhost/wherehows"

export WHZ_ES_DATASET_URL="localhost:9200/wherehows"
export WHZ_ES_METRIC_URL="localhost:9200/_nodes/stats"
export WHZ_ES_FLOW_URL="localhost:9200/wherehows/flows_jobs"

export YOUR_HDFS_BROWSER_LINK="http://node004.myco.local:8888/filebrowser/#"

export WHZ_LDAP_URL="ldap://co.myco.local:389"
export WHZ_LDAP_PRINCIPAL_DOMAIN="@co.local"
export WHZ_LDAP_SEARCH_BASE="ou=mapr access,dc=co,dc=local"

从这个 github post (https://github.com/linkedin/WhereHows/issues/874#issuecomment-346031871), it appears that wherehows looks for valid users in the database backend (see https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#database-setup) wherehows.users.

中得到提示

所以做一些像

> [me@mapr07 wherehows-frontend]$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 231
Server version: 5.6.40 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select * from wherehows.users;
Empty set (0.00 sec)

mysql> INSERT INTO wherehows.users 
    (name, email, username, password_digest, password_digest_type, authentication_type) 
    VALUES ('testuser', 'rvillanueva@ucera.org', 'testuser', SHA1('testuser'), 'SHA1', 'default');
Query OK, 1 row affected (0.02 sec)

mysql> exit

然后我们可以使用名称=testuser 和密码=testuser 登录wherehows 登录屏幕。

**虽然这确实让我有点困惑,如果唯一重要的事情似乎是用户在已设置的 sql 后端上的存在,那么 LDAP 究竟会出现在哪里作为安装的一部分(如果有人知道这个问题的答案,请告诉我)。

更新: 看来这只是一个已知的 解决方法 并且用户 应该 能够使用 LDAP (https://github.com/linkedin/WhereHows/issues/616#issuecomment-323164744),所以这个答案可能通过调查无法在登录屏幕上使用 LDAP 凭据的问题的根本原因来改进。