藍的成長記——追逐DBA(14): 難忘的“雲”端,起步的hadoop部署,dbahadoop
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究著作權法律責任。
深藍的blog:http://blog.csdn.net/huangyanlong/article/details/44050117
【簡介】
個人在oracle路上的成長記錄,其中以藍自喻,分享成長中的情感、眼界與技術的變化與成長。敏感資訊均以其它形式去掉,不會泄露任何企業機密,純為技術分享。
創作靈感源於對自己的自省和記錄。若能對剛剛起步的庫友起到些許的協助或共鳴,欣慰不已。
歡迎拍磚,如有關技術細節表述有錯誤之處,請您留言或郵件(hyldba@163.com)指明,不勝感激。
【前言】
這是一部個人記錄的成長雜記,既然步入到oracle的這片藍海,免不了一路的奔波與不斷的考驗。藉由此雜記與庫友們分享藍的成長曆程。
不知何時起對藍有了一種說不出來的癡迷,癡迷其廣博,癡迷其深邃,癡迷於近在咫尺卻又遙不可及。
而又說不清從何時起,注視於oracle的紅色耀眼,照亮出眼前的一道光,未知與迷惑在自己的腳下開始初露些許人生的充實與青春的回饋。
在追逐於DBA夢想的道路上步步前行。
篇章一:忘不掉的地平線,雲端初探
沒有目標的人走到哪裡都感覺是在流浪,反之,確立目標,漂泊中亦會感受到靠近夢想的充實。
——深藍
2014年追憶於淄博
安靜怡然,按計而施,
平台改造,雲端的初探,
簡單的問題,經驗的代價。
初來淄博,便被這裡的寧祥所折服,沒有庸碌的人群,沒有嘈雜的爭吵,有著一份慢節奏的生活態度與泰然處之的生活原則。
這次的任務還算比較簡單,是把WAS應用服務遷移到雲平台上的一台伺服器中。根據之前的實施經驗,還算順利。但是對於“雲”這個概念,我是完全不瞭解。就在完成了本職工作的同時,與另外一家開發公司的開發人員交流過程中,讓我第一次接觸到了hadoop的有關知識。雖說有點迷茫,有點忙亂,聽起來的雲,有那麼點懸乎~~真像描述的那樣,輕飄飄,似乎難以觸及。
迷糊歸迷糊,但還是有了些收穫,知道了幾個名詞,瞭解了什麼是“雲戰略部署”。
說到“雲”,它所實現的目標,有了第一次的認識,簡要總結如下四點:
1、共用資源,集中分散的硬體資源,提高軟體資源使用率、硬體資源使用率;
2、共用資料,資料集中儲存,提高資訊共用、統計分析、資料深度挖掘能力;
3、共用服務,計算超大資料、超強計算、超大儲存能力;
4、共用應用,雲端式平台開發升級應用系統。
接下來是另一個任務,濟南的遷移任務。帶著尚留餘溫的“雲”思緒,踏上了前往濟南的大巴。
濟南的任務,依舊是向雲平台遷移。但這次並沒有更多的瞭解到“雲”,留下了些許的遺憾,作為一個純純的看客,匆匆而去。
篇章二:有幸觸碰分布式,學習hadoop實施
擁抱大資料,擁抱分散式資料庫。
——深藍
在年輕的IT行業裡,oracle出現在這個時代裡,因為時代賦予了其使命。未來圍繞資料發展的技術或許會翻天覆地,正如我們眼前的hadoop,我們可能無法預見。但在這一切來臨之前,我們要儘快跟上這波“大資料”的助推劑。未來的資料形態必然遵循曆史的發展脈絡,發展始於理論,但最終必然落地於實用性。另一方面,相信對於技術開發而言,終究有一天會被完善而又高效的技術所“大一統”,那個時候,想必也正是IT領域真正進入到鼎盛期的標誌。而伴隨其中資料庫技術,相信也會由硝煙瀰漫的技術紛爭歸於平靜,呈現給我們一種清晰、明確、高效的後台資料架構。
對於未來,我們無從把握,只能立足於現在,厚積薄發。
由於公司系統針對hadoop的開發改造,比較幸運的,第一次接觸到了hadoop。接下來就簡單捋順下搭建思路,對於犯下的錯誤做一個簡單總結。
具體的部署細節,這裡暫時不做列舉,只列出搭建的大致思路,希望可以對hadoop的部署有一個初步的認識:
1、安裝CentOS 6.4作業系統(64bit);2、配置網路,遠端連線作業系統3、安裝JDK4、修改主機名稱並配置host檔案(多節點IP解析)5、關閉防火牆6、關閉SElinux7、配置JAVA_HOME8、配置yum源9、添加雲使用者10、安裝雲管理主控台11、通過管理主控台安裝nameNode節點(主節點)12、通過管理主控台安裝dataNode節點(分布式多節點)
看看這樣的流程下來,能否感覺到,好像“雲”並不是那樣神秘和難以捉摸。但在這一路安裝流程下,還是犯了幾個低級的錯誤,做個簡單總結:
第一道坎:HTTP服務
錯誤認識的yum配置
在部署hadoop時需要配置yum源來完成後續的安裝。對於熟悉linux的老鳥來說,yum源配置是非常簡單的。但我這次犯得錯誤來自於對於yum配置理解不全面。在以往,使用yum是安裝oracle時配置yum工具安裝需要的包。使用的是“file:///cdrom1”這種以file作為開頭的路徑檔案。這樣當然簡單,只需要把光碟片掛載到cdrom1目錄下即可。而這次從研發那裡拿來的repo源檔案中使用到的是“http://...”這種路徑。這個其實也不難,需要搭建一個http伺服器,然後在hosts解析檔案中映射http伺服器的IP地址即可。
這裡使用apache搭建http伺服器,網站上下載如下檔案:
一路點擊下一步,到達如下配置介面,進行本機配置。
安裝結束時,會彈出cmd錯誤提示框,按esc退出即可,彈出錯誤是因為http伺服器預設連接埠80被電腦其它裝置所佔用的原因。安裝完成後在設定檔修改連接埠號碼即可。
如,安裝完成後無法啟動apache服務。
找到設定檔,用編輯器開啟,如:
將連接埠號碼由80改為8080,如:
修改後,再次啟動apache服務即可,如:
瀏覽器中輸入http伺服器位址,出現即為安裝成功(這裡驗證本機伺服器所以輸入localhost即可,遠程時輸入IP地址),如:
這時,只需要把預設路徑下的檔案替換為yum源所指向的檔案即可。
例如這樣:
試著訪問一下就可以看到效果,如:
以上是在win7下操作,建議使用win2008進行配置http伺服器,並且配置使其使用80連接埠。
配置http伺服器後,就可以在yum源中配置諸如“http://”格式的路徑地址了,例如:
baseurl = http://archive.cloudera.com/cloudera-hadoop/search/redhat/6/x86_64/search/1.1.0/,其中需要把archive.cloudera.com添加到hosts檔案中,如下:
<span style="font-size:14px;"># vi /etc/hosts192.168.56.1 archive.cloudera.com</span>
第二道坎: cloudera管理主控台安裝錯誤——http路徑不正確
這是在配置完yum源後,執行安裝cloudera控制台的bin檔案時,報錯如下:
根據提示,查看報錯日誌,如下:
[root@master opt]# cat /var/log/cloudera-manager-installer/3.install-cloudera-manager-server.log
Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfileSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package cloudera-manager-server.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed--> Processing Dependency: cloudera-manager-daemons = 4.8.0 for package: cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64--> Running transaction check---> Package cloudera-manager-daemons.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================ Package Arch Version Repository Size================================================================================Installing: cloudera-manager-server x86_64 4.8.0-1.cm480.p0.50.el6 cloudera-manager 7.7 kInstalling for dependencies: cloudera-manager-daemons x86_64 4.8.0-1.cm480.p0.50.el6 cloudera-manager 147 MTransaction Summary================================================================================Install 2 Package(s)Total download size: 147 MInstalled size: 201 MDownloading Packages:http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=cloudera-manager clean metadataTrying other mirror.http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=cloudera-manager clean metadataTrying other mirror.Error Downloading Packages: cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64: failure: RPMS/x86_64/cloudera-manager-daemons-4.8.0-1.cm480.p0.50.el6.x86_64.rpm from cloudera-manager: [Errno 256] No more mirrors to try. cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64: failure: RPMS/x86_64/cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm from cloudera-manager: [Errno 256] No more mirrors to try.
解決:
(1)、最後將問題鎖定在目錄上,如下:
http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/x86_64/ cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm
(2)、到http伺服器查看發現路徑,如下:
http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4.8.0/RPMS/ cloudera-manager-server-4.8.0-1.cm480.p0.50.el6.x86_64.rpm
對比(1)、(2)可以發現,在http伺服器中缺少了第二個x86_64目錄,於是到http伺服器中添加x86_64目錄。
再次執行,不再報此錯誤。
補充:
對於http伺服器中,在添加目錄時,如果某訪問目錄中存在引導的“索引檔案(html目錄檔案)”,如,需要將其刪除,否則將無法建立新的目錄。
補充完畢。
第三道坎:cloudera管理主控台安裝錯誤——缺少postgresql包
當解決了路徑問題後,再次執行安裝cloudera的bin檔案時,又一次報錯了,如下:
提示查看記錄檔,於是再一次查看設定檔,如下:
[root@master opt]# cat /var/log/cloudera-manager-installer/4.install-cloudera-manager-server-db.log
Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfileSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package cloudera-manager-server-db.x86_64 0:4.8.0-1.cm480.p0.50.el6 will be installed--> Processing Dependency: postgresql-server >= 8.0 for package: cloudera-manager-server-db-4.8.0-1.cm480.p0.50.el6.x86_64--> Finished Dependency ResolutionError: Package: cloudera-manager-server-db-4.8.0-1.cm480.p0.50.el6.x86_64 (cloudera-manager) Requires: postgresql-server >= 8.0You could try using --skip-broken to work around the problemYou could try running: rpm -Va --nofiles –nodigest
解決:
查看日誌發現,提示安裝需要postgresql-server在8.0以上版本,於是使用yum方式(postgresql-server包存在依賴關係,需要使用yum安裝)進行安裝。如下操作:
[root@master yum.repos.d]# yum install -y postgresql-server*
Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfileSetting up Install ProcessResolving Dependencies--> Running transaction check---> Package postgresql-server.x86_64 0:8.4.13-1.el6_3 will be installed--> Finished Dependency ResolutionDependencies Resolved================================================================================================================ Package Arch Version Repository Size================================================================================================================Installing: postgresql-server x86_64 8.4.13-1.el6_3 debug 3.4 MTransaction Summary================================================================================================================Install 1 Package(s)Total download size: 3.4 MInstalled size: 14 MDownloading Packages:Running rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning TransactionWarning: RPMDB altered outside of yum. Installing : postgresql-server-8.4.13-1.el6_3.x86_64 1/1 Verifying : postgresql-server-8.4.13-1.el6_3.x86_64 1/1 Installed: postgresql-server.x86_64 0:8.4.13-1.el6_3 Complete!
至此,經過了三次周折後,終於管理主控台順利安裝完成。
接下來完成配置(步驟略),最後完成hadoop配置後,進入到了管理介面,如所示:
對於hadoop的學習,這是一個起步,面對紅火的“資料庫”領域,看來除了oracle,也應該補充些新興的技術了。
系列連結:
藍的成長記——追逐DBA(1):奔波於路上,挺進山東
藍的成長記——追逐DBA(2):安裝!安裝!久違的記憶,引起我對DBA的重新認知
藍的成長記——追逐DBA(3):古董上操作,資料匯入匯出成了問題
藍的成長記——追逐DBA(4):追憶少年情愁,再探oracle安裝(Linux下10g、11g)
藍的成長記——追逐DBA(5):不談技術談業務,惱人的應用系統
藍的成長記——追逐DBA(6): 做事與做人:小技術,大為人
藍的成長記——追逐DBA(7):基礎命令,地基之石
藍的成長記——追逐DBA(8):重拾SP報告,回憶oracle的STATSPACK實驗
藍的成長記— —追逐DBA(9):國慶漸去,追逐DBA,新規劃,新啟程
藍的成長記——追逐DBA(10):飛刀防身,熟絡而非專長:擺弄中介軟體Websphere
藍的成長記——追逐DBA(11):回家後的安逸,暈暈乎乎醒了過來
藍的成長記——追逐DBA(12):七天七收穫的SQL
藍的成長記——追逐DBA(13):協調硬體廠商,六個故事:所見所感的“伺服器、儲存、交換器......”
原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究著作權法律責任。
深藍的blog:http://blog.csdn.net/huangyanlong/article/details/44050117