Hadoop運(yùn)維記錄系列(二十二)-創(chuàng)新互聯(lián)

今天下午寫(xiě)了一會(huì)代碼,然后幫同事解決了一個(gè)hbase相關(guān)的故障分析,定位了問(wèn)題根源,覺(jué)得比較有代表性,記錄一下。
先說(shuō)一下問(wèn)題的發(fā)生與背景。
這個(gè)故障其實(shí)是分為兩個(gè)故障的,第一個(gè)比較簡(jiǎn)單,第二個(gè)相對(duì)復(fù)雜一些。

創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的圖木舒克網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

同事寫(xiě)了一個(gè)HBase相關(guān)的測(cè)試代碼,使用Hbase原生Java API,編譯打包后分別放在兩臺(tái)測(cè)試服務(wù)器測(cè)試,一臺(tái)可以,另一臺(tái)不可以。

第一個(gè)故障是發(fā)生在兩臺(tái)測(cè)試服務(wù)器的:
A服務(wù)器是正常連通的服務(wù)器,裝了HBase,centos6
B服務(wù)器是無(wú)法連通的服務(wù)器,沒(méi)裝HBase,centos7
表象是在A服務(wù)器可以正常跑編譯的jar包,B服務(wù)器無(wú)法正常跑,卡在連接Zookeeper獲取table list的部分就不動(dòng)了。
看到這知道了吧,其實(shí)跟服務(wù)器裝沒(méi)裝HBase一點(diǎn)關(guān)系都沒(méi)有。
首先懷疑是防火墻,先關(guān)掉B服務(wù)器的firewalld,沒(méi)起作用,然后用netstat看了一下,發(fā)現(xiàn)A服務(wù)器連接Hbase走的是tcp,而B(niǎo)服務(wù)器是centos7,連接hbase走的是tcp6,而hbase集群是centos6,沒(méi)有ipv6,禁用B服務(wù)器的tcp6,然后仍然沒(méi)起作用。
netstat查看HBase ZK服務(wù)器,跟B服務(wù)器也建立連接了,也ESTABLISHED了,就是不返回?cái)?shù)據(jù)。
之后,唉,在經(jīng)過(guò)35次超時(shí)以后,報(bào)錯(cuò)日志出來(lái)了,是B服務(wù)器里缺少一條A主機(jī)名IP的映射的關(guān)系,而同事寫(xiě)的代碼里又要連接B主機(jī)里那個(gè)并不存在的A主機(jī),于是就卡在了查詢(xún)主機(jī)名的過(guò)程中,將A主機(jī)加到/etc/hosts里面,故障解決。

然后第二個(gè)故障的判斷是比較有意思的,仍然是這個(gè)程序,我們有兩個(gè)集群,機(jī)房分別在無(wú)錫和杭州。該代碼需要從杭州機(jī)房請(qǐng)求無(wú)錫機(jī)房的HBase集群取數(shù)據(jù),然后跟第一個(gè)故障的表象一模一樣,毫無(wú)區(qū)別,都是無(wú)法通過(guò)zookeeper獲取table list,但是整個(gè)操作系統(tǒng)環(huán)境肯定是沒(méi)問(wèn)題。
雖然表象一樣,但是原因相差十萬(wàn)八千里。注明一下:無(wú)錫的×××網(wǎng)段是10開(kāi)頭的A類(lèi)地址,杭州是172開(kāi)頭的B類(lèi)地址,需要跑數(shù)據(jù)的杭州服務(wù)器和無(wú)錫的HBase之間由運(yùn)維同事做了×××鏈接。
然后我們動(dòng)用了jstack,strace各種工具都看不出問(wèn)題。
jstack提示卡在listTable的線程上,strace卡在FUTEX_WAIT上,看不出來(lái),然后超出35次超時(shí)以后的報(bào)錯(cuò)也看不出啥問(wèn)題。HBase的listtable方法只連接單臺(tái)zk服務(wù)器,所以也沒(méi)有映射全部HBase主機(jī)名到hosts的必要。
看了一眼netstat,發(fā)現(xiàn)杭州機(jī)房172發(fā)送了請(qǐng)求杭州機(jī)房10網(wǎng)段zk 2181端口的請(qǐng)求,記得是停在了SYN_SEND上,半天也沒(méi)有ESTABLISHED,然后馬上又看了一下無(wú)錫HBase的netstat,發(fā)現(xiàn)根本沒(méi)有連接建立,立即大徹大悟。
跟同事分析了一下,應(yīng)該是×××的隧道連接是單向路由或者以NAT方式連接的,我推測(cè)應(yīng)該是無(wú)錫10網(wǎng)段的×××可能是NAT,是可以通過(guò)×××連接杭州172網(wǎng)段的,而杭州172網(wǎng)段無(wú)法連接無(wú)錫10網(wǎng)段,于是讓同事在兩邊分別做了ping測(cè)試,結(jié)果和我預(yù)想的一樣,杭州無(wú)法ping通無(wú)錫,而無(wú)錫可以ping通杭州。
因?yàn)樽觥痢痢恋倪\(yùn)維同事不在,打電話問(wèn)了一下,確實(shí)×××是單向路由,至此問(wèn)題就算解決了,等著運(yùn)維同事回來(lái)加路由表應(yīng)該就好了。
兩個(gè)問(wèn)題的排查解決差不多一個(gè)多小時(shí)吧,沒(méi)寫(xiě)完kerberos的principal/keytab管理頁(yè)面就快下班了。這是另外一個(gè)集群的故事了。
說(shuō)明40歲的老程序員還是有點(diǎn)作用的,還是能快速解決點(diǎn)問(wèn)題,還是有活下去的價(jià)值的。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:Hadoop運(yùn)維記錄系列(二十二)-創(chuàng)新互聯(lián)
網(wǎng)站地址:http://muchs.cn/article6/ddheig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站內(nèi)鏈外貿(mào)建站、虛擬主機(jī)、網(wǎng)站策劃、網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)