在 Linkedin 的 WhereHows 中获取实体时发生错误

An error occurred getting entities in Linkedin's WhereHows

按照 github 文档 (https://github.com/linkedin/WhereHows/blob/master/wherehows-docs/getting-started.md#getting-started) 安装 Linkedin 的 WhereHows、登录网络 UI 并导航到“数据集”选项卡后,它会抱怨

An error occurred getting entities

SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data

在网络浏览器中查看开发者控制台,可以看到错误输出

SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data[Learn More]  vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
    tryCatcher http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
    invokeCallback http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65437:15
    publish http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65422:9
    Queue</Queue.prototype.invoke http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27963:17
    Queue</Queue.prototype.flush http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27848:25
    DeferredActionQueues</DeferredActionQueues.prototype.flush http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28035:25
    Backburner</Backburner.prototype.end http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28169:26
    Backburner/this._boundAutorunEnd http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28131:17
Unhandled promise rejection SyntaxError: JSON.parse: unexpected character at line 3 column 1 of the JSON data
Stack trace:
tryCatcher@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65255:14
invokeCallback@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65437:15
publish@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:65422:9
Queue</Queue.prototype.invoke@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27963:17
Queue</Queue.prototype.flush@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:27848:25
DeferredActionQueues</DeferredActionQueues.prototype.flush@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28035:25
Backburner</Backburner.prototype.end@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28169:26
Backburner/this._boundAutorunEnd@http://localhost:9001/assets/assets/vendor-01c52695e9f268de5628f7bec75d6bb1.js:28131:17

有谁知道这个错误意味着什么以及在哪里可以进一步调查(第一次使用 wherehows 并且给定的输出本身对我没有经验的自己没有太大帮助)?

** 注意我的 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" (honestly don't know if this is correct (don't use elasticsearch much))
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 问题似乎描述了类似的近期问题(2018 年 5 月 1 日左右)(https://github.com/linkedin/WhereHows/issues/1131#issuecomment-385882867)。回复是中文的,但是用 google 翻译成:

The latest code has a dao method did not write SQL, throw an exception directly, may be the author has not finished, you can try to use the 1.0.0 this tag, I tried this is no problem

因此检查带有标记 v1.0.0

的提交
git checkout tags/v1.0.0

添加重做安装中需要重做的部分(例如添加 extralibs、设置前端配置变量、启动前端和后端),我发现错误消息不再出现。