一、閑言
最近看到大神說,堅持寫博客對于技術(shù)上有一定的提升把兔,正好本人最近準備要學習大數(shù)據(jù)技術(shù),于是興致沖沖的跑道簡書上注冊了一個博客賬號瓮顽,也不知道自己能堅持多長時間县好。本人博客只記錄自己的學習過程,如果有小伙伴看到我的博客不小心被誤導了暖混,你來打我呀B乒薄!
本篇記錄在搭建Hadoop環(huán)境及安裝Hadoop的詳細過程拣播,如果對小伙伴們有一些幫助晾咪,本人實在是榮幸之至。話不多說贮配,開始正題谍倦!
二、搭建準備
我的環(huán)境是VMware Workstation10泪勒、CentOs6.8昼蛀、jdk1.8以及Hadoop2.6.1宴猾。
CentOs6.8的安裝還有VMTools的安裝以及jdk1.8安裝這里就不再贅述,如有問題自行百度叼旋,直接從安裝完成linux系統(tǒng)后開始說起鳍置。
1.設置共享文件夾
設置共享文件夾時虛擬機要處于關(guān)機狀態(tài)。
在VMware Workstation10的菜單上點擊虛擬機--設置--選項送淆,如圖所示:
點擊共享文件夾税产,右邊勾選總是啟用,下面點擊添加偷崩,選擇一個本機的文件夾作文共享文件夾辟拷,最后點擊確定。
2.修改主機名稱
打開虛擬機阐斜,進入終端衫冻,輸入命令:hostname 查看當前主機名:
因為我們要建立三臺虛擬機,為了方便管理谒出,讓主機名稱和IP地址有對應關(guān)系隅俘,我們把主機名改為hadoop100、hadoop101笤喳、hadoop102为居。
輸入vim /etc/sysconfig/network? 并點擊回車,編輯配置文件杀狡,將HOSTNAME的值改為hadoop100蒙畴,保存退出。注意:主機名稱不要有下劃線
接下來在終端輸入vim?/etc/hosts呜象,修改主機映射文件膳凝,添加以下內(nèi)容:
192.168.229.100 hadoop100
192.168.229.101 hadoop101
192.168.229.102 hadoop102
上述ip地址在你的主機上查看:打開網(wǎng)絡和共享中心--更改適配器設置,找到VMware Network Adapter VMnet8恭陡,如圖:
右鍵這個圖標蹬音,屬性--網(wǎng)絡,找到internet協(xié)議版本4休玩,雙擊打開:
我這里是192.168.229.1著淆,所以我上面的hosts文件里填的ip前面都是192.168.229,最后一位隨便填哥捕,只要不IP沖突就行牧抽。
修改完是這個樣子的:
修改之后保存退出,下面我們要關(guān)閉防火墻遥赚,以免后面我們啟動集群失敗扬舒,終端輸入:chkconfig iptables off
重啟虛擬機,然后在終端輸入hostname查看主機名已經(jīng)修改成功凫佛。
檢查防火墻狀態(tài)讲坎,終端輸入:service iptables status
如果看到iptables孕惜,就是防火墻關(guān)掉了
修改window7的主機映射文件(hosts文件)
?????? (1)進入C:\Windows\System32\drivers\etc路徑
?????? (2)打開hosts文件并添加如下內(nèi)容
? ? ? ? ? ? ? ? 192.168.229.100 hadoop100
? ? ????????????192.168.229.101 hadoop101
????????????????192.168.229.102 hadoop102
3.修改虛擬機ip地址
前面寫在hosts文件里的東西就是我們各個虛擬機的ip,現(xiàn)在我要把我的IP改為192.168.229.100晨炕。開搞I阑!
終端輸入:vim /etc/sysconfig/network-scripts/ifcfg-eth0瓮栗,編輯這個配置文件削罩,修改成以下配置:
下面三行原來沒有的話就加上,ip费奸、網(wǎng)關(guān)弥激、DNS地址要改成你自己的,保存退出愿阐。
終端輸入:service network restart? 重啟網(wǎng)卡微服,如果出現(xiàn)圖10錯誤,重啟虛擬機
終端輸入:ifconfig 查看ip
可以看到缨历,修改成功了以蕴。
此時這個虛擬機一定累了,讓他歇一會辛孵,終端輸入:sync 同步內(nèi)存中數(shù)據(jù)到文件丛肮,接著終端輸入poweroff 關(guān)機。
三觉吭、克隆虛擬機
1.克隆
大數(shù)據(jù)就是分布式的數(shù)據(jù)挖掘腾供,既然是分布式的,我們就克隆咱們之前配置好的虛擬機來模擬多個服務器鲜滩。
虛擬機關(guān)機狀態(tài)下,點擊虛擬機--管理--克陆谥怠:出現(xiàn)如下界面徙硅,點擊下一步
我們需要從當前狀態(tài)克隆,點擊下一步
選中創(chuàng)建完整克隆搞疗,點擊下一步
輸入虛擬機名稱嗓蘑,選擇虛擬機位置,點擊完成
正在克隆匿乃,等待桩皿。。幢炸。泄隔。塘砸。照捡。
克隆完之后,別著急開機,看看新克隆的虛擬機的共享文件夾是否啟用傅寡,然后再克隆一個虛擬機,重復以上克隆步驟旺入,虛擬機名稱hadoop102场躯。
修改hadoop101和hadoop102的主機名,分別改成hadoop101和hadoop102(詳見上文湾揽,修改主機名稱)
2.修改克隆的虛擬機的網(wǎng)卡配置
:終端輸入:vim /etc/udev/rules.d/70-persistent-net.rules? 編輯網(wǎng)卡配置信息
打開我們發(fā)現(xiàn)多了一個網(wǎng)卡信息瓤逼,將上面那行刪掉,下面那行需要復制那個MAC地址库物,后面要用到抛姑,把末尾的eth1改成eth0,保存并退出艳狐。
終端輸入:vim /etc/sysconfig/network-scripts/ifcfg-eth0
將上面復制的MAC替換到相應位置定硝,下面ip改成hadoop101對應的,然后重啟網(wǎng)卡:service network restart毫目,如果報錯重啟虛擬機蔬啡,在終端輸入ifconfig看IP是否正確。
重復以上步驟镀虐,把hadoop102也像這樣配置箱蟆。
四、?SecureCRT連接三臺虛擬機
Linux一般作為服務器使用刮便,而服務器一般放在機房空猜,你不可能在機房操作你的Linux服務器。這時我們就需要遠程登錄到Linux服務器來管理維護系統(tǒng)恨旱。
Linux系統(tǒng)中是通過SSH服務實現(xiàn)的遠程登錄功能辈毯,默認ssh服務端口號為 22。Window系統(tǒng)上 Linux 遠程登錄客戶端有SecureCRT, Putty, SSH SecureShell,XShell等搜贤,這里我們用SecureCRT谆沃。
SecureCRT的安裝和使用本人在這里就不再說了,可以點擊下方鏈接仪芒,學習SecureCRT的使用
SecureCRT使用(轉(zhuǎn)自xingyiGao)
這樣就連接好了唁影。
五、建立機器間的互信關(guān)系
在主節(jié)點中掂名,也就是hadoop100据沈,輸入ssh-keygen,然后一路按回車饺蔑;
再次輸入ssh-keygen锌介,這次回車要慢點,遇到讓你輸入yes/no的時候一律輸入yes
然后膀钠,每個機器上都這樣做掏湾,輸入兩遍ssh-keygen裹虫。
再然后,回到我們的主節(jié)點融击,終端輸入命令:cd ~/.ssh/
這個目錄下的id_rsa是私鑰筑公,id_rsa.pub是公鑰,我們要對id_rsa.pub這個公鑰文件的內(nèi)容拷貝給authorized_keys這個文件尊浪,如果沒有請自行創(chuàng)建匣屡。
輸入命令:cat id_rsa.pub查看公鑰,把三個子節(jié)點的公鑰全部復制到authorized_keys文件中去拇涤。
然后下一步操作就是把主節(jié)點上的authorized_keys分別復制給hadoop101和hadoop102這兩個節(jié)點上捣作。輸入:scp -rp?authorized_keys 192.168.229.101:~/.ssh/
再輸入:scp -rp?authorized_keys 192.168.229.102:~/.ssh/
第一次傳輸會要求你確認和輸入傳入機器的密碼。在兩個子節(jié)點輸入:cat authorized_keys?來查看文件是否傳到兩個子節(jié)點中鹅士。
好了券躁,現(xiàn)在你的三臺機器可以互相登錄且不需要密碼了。
我們來驗證一下掉盅,在主節(jié)點輸入:ssh 192.168.229.101? 也拜,退出exit,回車
在主節(jié)點輸入:ssh 192.168.229.102 趾痘,退出exit慢哈,回車
六、開始安裝Hadoop
呼呼永票,寫了這么久卵贱,終于到重頭戲了。
回到主節(jié)點侣集,來到我們的共享文件夾:cd /mnt/hdfs/VMShare/? 復制hadoop-2.6.1.tar.gz文件到/usr/local/src 下键俱,然后解壓。tar -xzvf hadoop-2.6.1.tar.gz
然后在hadoop-2.6.1這個目錄下創(chuàng)建一個tmp目錄,用來存放之后的一些臨時文件肚吏,
命令:mkdir tmp
來到hadoop-2.6.1/etc/hadoop/文件夾下方妖,修改hadoop文件夾里面的hadoop-env.sh
命令:vim hadoop-env.sh
紅框里面的代碼本來是有注釋的,把他打開罚攀,或者換成你自己的java絕對路徑
修改yarn-env.sh文件:vim yarn-env.sh
紅框里的代碼取消注釋,并把javahome填進去雌澄。
編輯slaves文件斋泄,將兩個子節(jié)點填進去:vim slaves
然后修改core-site.xml這個文件:vim?core-site.xml? 講一下配置粘貼進去:
修改hdfs-site.xml文件,將以下配置添加:
然后在hadoop根目錄下有一個文件mapred-site.xml.template模版镐牺,你需要將其拷貝一份并且改名為mapred-site.xml炫掐。
命令行輸入:cp mapred-site.xml.template mapred-site.xml
然后修改mapred-site.xml這個文件:vim mapred-site.xml
修改yarn-site.xml文件:vim yarn-site.xml
然后把這個hadoop-2.6.1文件夾分發(fā)到子節(jié)點上:
命令:scp -rp hadoop-2.6.1 192.168.229.101:/usr/local/src/
命令:scp -rp hadoop-2.6.1 192.168.229.102:/usr/local/src/
看看兩個子節(jié)點上/usr/local/src/下有沒有hadoop-2.6.1文件夾。
寫到這里發(fā)現(xiàn)沒有配置hadoop的環(huán)境變量睬涧,于是苦逼的配置了三次募胃,在/etc/profile文件中添加下圖紅框里的東西
傳輸成功之后旗唁,我們回到主節(jié)點,準備啟動hadoop
痹束,在啟動之前检疫,一定要先格式化hadoop下的bin目錄,而且三個虛擬機都要執(zhí)行祷嘶。
命令:hadoop namenode -formate
執(zhí)行完格式化屎媳,打開主節(jié)點,輸入命令:./sbin/start-all.sh
查看是否啟動成功论巍,輸入命令:jps
如果 SecondaryNameNode 沒有啟動烛谊,請運行 sbin/stop-dfs.sh 關(guān)閉進程,然后再次嘗試啟動嘗試嘉汰,如果NameNode沒有啟動丹禀,那就是配置不成功,請仔細檢查以上步驟鞋怀。
同樣的双泪,我們查看各個子節(jié)點是否啟動成功,切換到主節(jié)點不用再次啟動hadoop了接箫,直接輸入jps查看狀態(tài)攒读。
至此,hadoop就安裝完畢了辛友。如果以后在使用的時候遇到什么問題我會持續(xù)更新薄扁。