Hue支持Hdp3.0 Oozie

1诸老、問題描述

當(dāng)在HDP中配置了Oozie的SSO后隆夯,會發(fā)現(xiàn)在Hue中提交oozie workflow失敗異常。在解決問題的過程中别伏,共出現(xiàn)了兩個異常蹄衷。第二個異常是在解決第一個異常的基礎(chǔ)上出現(xiàn)的。

2厘肮、異常一

2.1異常信息

[13/Sep/2018 18:50:15 +0800] editor2 ERROR Error submitting coordinator
Traceback (most recent call last):
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/views/editor2.py", line 700, in _submit_coordinator
wf_dir = Submission(request.user, wf, request.fs, request.jt, mapping, local_tz=coordinator.data['properties']['timezone']).deploy()
File "/home/hue/hue-4.2.0/desktop/libs/liboozie/src/liboozie/submission2.py", line 194, in deploy
self._update_properties(jt_address) # Needed for coordinator deploying workflows with credentials
File "/home/hue/hue-4.2.0/desktop/libs/liboozie/src/liboozie/submission2.py", line 351, in _update_properties
credentials.fetch(self.api)
File "/home/hue/hue-4.2.0/desktop/libs/liboozie/src/liboozie/credentials.py", line 40, in fetch
configuration = oozie_api.get_configuration()
File "/home/hue/hue-4.2.0/desktop/libs/liboozie/src/liboozie/oozie_api.py", line 319, in get_configuration
resp = self._root.get('admin/configuration', params)
File "/home/hue/hue-4.2.0/desktop/core/src/desktop/lib/rest/resource.py", line 122, in get
return self.invoke("GET", relpath, params, headers=headers, allow_redirects=True, clear_cookies=clear_cookies)
File "/home/hue/hue-4.2.0/desktop/core/src/desktop/lib/rest/resource.py", line 78, in invoke
log_response=log_response)
File "/home/hue/hue-4.2.0/desktop/core/src/desktop/lib/rest/resource.py", line 97, in _invoke
clear_cookies=clear_cookies)
File "/home/hue/hue-4.2.0/desktop/core/src/desktop/lib/rest/http_client.py", line 211, in execute
raise self._exc_class(ex)
RestException: ("bad handshake: Error([('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')],)",)

2.2解決方法

由于是報Hue證書問題愧口,故在Hue的hue.ini配置文件中增加ssl_cacerts屬性。


image.png

3类茂、異常二

3.1異常信息

[18/Sep/2018 09:35:40 +0800] middleware INFO Processing exception: 'str' object has no attribute 'get': Traceback (most recent call last):
File "/home/hue/hue-4.2.0/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/core/handlers/base.py", line 112, in get_response
response = wrapped_callback(request, *callback_args, *callback_kwargs)
File "/home/hue/hue-4.2.0/build/env/lib/python2.7/site-packages/Django-1.6.10-py2.7.egg/django/db/transaction.py", line 371, in inner
return func(
args, **kwargs)
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/decorators.py", line 113, in decorate
return view_func(request, *args, **kwargs)
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/decorators.py", line 75, in decorate
return view_func(request, *args, **kwargs)
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/views/editor2.py", line 367, in submit_workflow
return _submit_workflow_helper(request, workflow, submit_action=reverse('oozie:editor_submit_workflow', kwargs={'doc_id': workflow.id}))
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/views/editor2.py", line 426, in _submit_workflow_helper
'is_oozie_mail_enabled': _is_oozie_mail_enabled(request.user),
File "/home/hue/hue-4.2.0/apps/oozie/src/oozie/views/editor2.py", line 435, in _is_oozie_mail_enabled
return oozie_conf.get('oozie.email.smtp.host') != 'localhost'
AttributeError: 'str' object has no attribute 'get'

3.2問題定位

在不加SSO的情況下耍属,hue并不會出現(xiàn)該異常。通過在出現(xiàn)異常代碼行前新加輸出oozie_conf的打印日志巩检,發(fā)現(xiàn)輸出的是登錄頁面厚骗。由于是Hue的后端調(diào)用oozie的Rest API,所以并不需要輸出登錄頁面兢哭,解決此問題大致有了一個固定方向就是禁止執(zhí)行SSO流程领舰。

根據(jù)查看官方文檔,發(fā)現(xiàn)SSO使用的類org.apache.hadoop.security.authentication.server.JWTRedirectAuthenticationHandler大致實(shí)現(xiàn)方式為如下圖標(biāo)紅所示。


image.png

因此查看了AltKerberosAuthenticationHandler.java中關(guān)鍵方法是根據(jù)請求中是否帶有User-Agent頭來判斷是否是瀏覽器訪問冲秽。


image.png

通過抓包請求舍咖,確實(shí)也發(fā)現(xiàn)hue的請求傳遞了User-Agent請求頭。


image.png

3.3解決方法

在hue-4.2.0/desktop/core/src/desktop/lib/rest/http_client.py中锉桑,通過增加如下標(biāo)紅代碼行移除User-Agent請求頭排霉。


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市民轴,隨后出現(xiàn)的幾起案子攻柠,更是在濱河造成了極大的恐慌,老刑警劉巖杉武,帶你破解...
    沈念sama閱讀 218,122評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辙诞,死亡現(xiàn)場離奇詭異,居然都是意外死亡轻抱,警方通過查閱死者的電腦和手機(jī)飞涂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祈搜,“玉大人较店,你說我怎么就攤上這事∪菅啵” “怎么了梁呈?”我有些...
    開封第一講書人閱讀 164,491評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蘸秘。 經(jīng)常有香客問我官卡,道長,這世上最難降的妖魔是什么醋虏? 我笑而不...
    開封第一講書人閱讀 58,636評論 1 293
  • 正文 為了忘掉前任寻咒,我火速辦了婚禮,結(jié)果婚禮上颈嚼,老公的妹妹穿的比我還像新娘毛秘。我一直安慰自己,他們只是感情好阻课,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評論 6 392
  • 文/花漫 我一把揭開白布叫挟。 她就那樣靜靜地躺著,像睡著了一般限煞。 火紅的嫁衣襯著肌膚如雪抹恳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,541評論 1 305
  • 那天署驻,我揣著相機(jī)與錄音奋献,去河邊找鬼绊序。 笑死,一個胖子當(dāng)著我的面吹牛秽荞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播抚官,決...
    沈念sama閱讀 40,292評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼扬跋,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了凌节?” 一聲冷哼從身側(cè)響起钦听,我...
    開封第一講書人閱讀 39,211評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎倍奢,沒想到半個月后朴上,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡卒煞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評論 3 336
  • 正文 我和宋清朗相戀三年痪宰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片畔裕。...
    茶點(diǎn)故事閱讀 39,965評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡衣撬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出扮饶,到底是詐尸還是另有隱情具练,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評論 5 347
  • 正文 年R本政府宣布甜无,位于F島的核電站扛点,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏岂丘。R本人自食惡果不足惜陵究,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望元潘。 院中可真熱鬧畔乙,春花似錦、人聲如沸翩概。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,894評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钥庇。三九已至牍鞠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間评姨,已是汗流浹背难述。 一陣腳步聲響...
    開封第一講書人閱讀 33,012評論 1 269
  • 我被黑心中介騙來泰國打工萤晴, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胁后。 一個月前我還...
    沈念sama閱讀 48,126評論 3 370
  • 正文 我出身青樓店读,卻偏偏與公主長得像,于是被迫代替她去往敵國和親攀芯。 傳聞我的和親對象是個殘疾皇子屯断,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評論 2 355