最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)ZookeeperConnectionException異常的分析

本篇文章為大家展示了如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)Zookeeper ConnectionException異常的分析,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、成都做網(wǎng)站、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)建站是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出右江免費(fèi)做網(wǎng)站回饋大家。

環(huán)境:

CDH 6.3.0

已開啟Kerberos

Java 版本: 1.8.0_181


癥狀表現(xiàn):

在普通用戶edwuser下,在一臺(tái)CDH客戶端節(jié)點(diǎn)機(jī)器上,執(zhí)行以下sqoop import命令,將MySQL數(shù)據(jù)導(dǎo)入HBASE中:

sqoop import \--connectjdbc:mysql://db01:3306/test?characterEncoding=UTF-8 \--username root \--password mysql \--table cust_info \--hbase-tabletest:cust_info \--column-family cf \--hbase-create-table\--hbase-row-key id \-m 1

執(zhí)行報(bào)錯(cuò)。卡在了連接Zookeeper這部分,連接被拒絕,拋出ConnectionException異常。

如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)Zookeeper ConnectionException異常的分析


 

分析步驟:

通過日志可以看到Zookeeper連接的地址是127.0.0.1,而非集群上的Zookeeper地址,導(dǎo)致執(zhí)行失敗。

首先懷疑的是CDH相關(guān)角色客戶端配置信息未正常下發(fā),在CM界面對(duì)該客戶端節(jié)點(diǎn)機(jī)器添加了Sqoop Gateway角色,重新下發(fā)配置;重試之后依然報(bào)同樣的錯(cuò)誤。

在CDH客戶端節(jié)點(diǎn)服務(wù)器上,瀏覽/etc/hbase/conf.cloudera.hbase,以及/opt/cloudera/parcels/CDH-6.3.0-1.cdh7.3.0.p0.1279813/etc/zookeeper/conf.dist/等可能存放Zookeeper配置文件的目錄。

查看之后發(fā)現(xiàn)所有配置文件都是已經(jīng)正確下發(fā)了的,這說明和集群客戶端配置部署沒有關(guān)系。


此時(shí)只能換個(gè)思路前進(jìn),既然配置都正常,那么會(huì)不會(huì)是普通用戶的問題呢?來試試特權(quán)用戶?

切換到root用戶,執(zhí)行命令,發(fā)現(xiàn)可以成功導(dǎo)入,Zookeeper連接地址被正確的讀取?。?!

如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)Zookeeper ConnectionException異常的分析

既然客戶端配置下發(fā)是正常的,那么原因要么就是因?yàn)闄?quán)限不足(平時(shí)普通用戶通常報(bào)錯(cuò)的最大可能性),要么這是配置文件讀的不對(duì)(比如用戶讀取的zookeeper配置文件在被定位到了非CDH的配置目錄)。有了思路,開始進(jìn)行下一步的驗(yàn)證。


要驗(yàn)證到底是不是普通用戶的問題?很簡(jiǎn)單,再弄一個(gè)普通用戶試試就好!

接下來,在另外一臺(tái)CDH客戶端節(jié)點(diǎn)機(jī)器上,使用普通用戶登陸,執(zhí)行同樣的Sqoop命令,發(fā)現(xiàn)也能夠成功導(dǎo)入?。。?/p>

對(duì)比兩臺(tái)客戶端節(jié)點(diǎn)機(jī)器上,edwuser用戶的環(huán)境變量(分別執(zhí)行printenv獲得這些環(huán)境變量):

如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)Zookeeper ConnectionException異常的分析

(用戶的環(huán)境變量對(duì)比,左側(cè)為有問題的機(jī)器 ,右側(cè)為正常的機(jī)器)

發(fā)現(xiàn)出問題的那臺(tái)機(jī)器上,edwuser用戶明確定義了一些看起來命名像是hadoop級(jí)別的環(huán)境變量到.bashprofile文件,比如....HIVE_HOME變量???

通過搜索關(guān)鍵字HIVE_HOME,在一篇關(guān)于SQOOP的文章中,發(fā)現(xiàn)了這樣的描述:

# Licensedto the Apache Software Foundation (ASF) under one or more# contributor license agreements.  Seethe NOTICE file distributed with# this work for additional information regarding copyright ownership.# The ASF licenses this file to You under the Apache License, Version2.0# (the "License"); you may not use this file except in compliancewith# the License.  You may obtain a copy of theLicense at##     http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS"BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express orimplied.# See the License for the specific language governing permissions and# limitations under the License.# includedin all the hadoop scripts with source command# should not be executable directly# also should not be passed any arguments, since we need original $*# SetHadoop-specific environment variables here.#Set pathto where bin/hadoop is available#hadoop的環(huán)境信息必須export HADOOP_COMM/hadoop#Set pathto where hadoop-*-core.jar is available#hadoop的mr存放目錄的配置信息必須export HADOOP_MAPRED_HOME=/root/hadoop/tmp/mapred#set thepath to where bin/hbase is available#hbase的配置信息非必須export HBASE_HOME=/root/hbase#Set thepath to where bin/hive is available#hive的配置信息非必須export HIVE_HOME=/root/hive#Set thepath for where zookeper config dir is#export ZOOCFGDIR=

如果是社區(qū)版的Sqoop,是可以配置這些環(huán)境變量的。但是CDH的配置文件都統(tǒng)一由CM管理和下發(fā),并不需要手工去設(shè)置到環(huán)境變量中。用戶級(jí)環(huán)境變量出現(xiàn)這些配置,反而覆蓋了CM下發(fā)的客戶端配置。

由于出問題的機(jī)器上,設(shè)置的用戶環(huán)境變量是HIVE_HOME=/opt/cloudera/parcels/CDH/ ,熟悉parcels目錄結(jié)構(gòu)的同學(xué)都知道,/opt/cloudera/parcels/CDH/這個(gè)目錄的直接層次下,是不存在任何配置文件的,只有繼續(xù)往下好幾級(jí)的子目錄中才會(huì)有配置文件。

所以sqoop執(zhí)行時(shí),會(huì)按照用戶環(huán)境變量HIVE_HOME的設(shè)置,到/opt/cloudera/parcels/CDH/目錄,試圖讀取配置文件,但沒有讀取到任何配置文件。所以Sqoop只能直接使用Zookeeper Server的默認(rèn)值127.0.0.1。而客戶端機(jī)器上當(dāng)然不會(huì)存在Zookeeper Server,自然出現(xiàn)會(huì)拒絕連接拋出異常的問題。


解決方法:

由于當(dāng)時(shí)不知道機(jī)器上這個(gè)用戶環(huán)境變量HIVE_HOME,到底是誰(shuí)出于什么目的設(shè)置的。就沒去直接動(dòng)用戶環(huán)境變量文件。

先運(yùn)行:

unset HIVE_HOME

來臨時(shí)屏蔽HIVE_HOME這個(gè)環(huán)境變量,再執(zhí)行sqoop import命令,導(dǎo)入成功。

上述內(nèi)容就是如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)Zookeeper ConnectionException異常的分析,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前文章:如何實(shí)現(xiàn)Sqoop導(dǎo)入報(bào)ZookeeperConnectionException異常的分析
分享URL:http://fisionsoft.com.cn/article/jdjhij.html