大數據集羣,Linux-NAT環境搭建
一、虛擬機Linux安裝
-
準備好所需資料
-
安裝虛擬機
下一步後選擇最大磁盤大小爲10G(夠用),然後將虛擬磁盤存儲爲單個文件(爲了方便拷貝)
繼續下一步,然後點擊完成。(CentOs自帶python 夠用)
二、環境準備NAT配置
1、
其中,網絡橋接模式是指我們的虛擬機和我們的主機在網絡中,這種配置雖然簡單,但不適合用於做實驗,因爲每個人的網絡環境不一樣,有的人在公司,有的人在學校,許多場景中的IP地址是分配給你的,一旦使用橋接模式,則申請一個新的IP,會導致機構內部IP地址的錯亂,發生許多不必要的網絡衝突問題。
因此,建議使用NAT模式,它相當於在window主機的網絡環境裏面,構建一個獨立的局域網絡環境。
2、NAT模式,配置方法如下:
點擊編輯菜單,裏面有一個虛擬網絡編輯器。
移除原有的VMNAT8網絡,然後添加一個新的VMNAT8網絡。
然後在VM信息裏面,選擇NAT模式,見下圖
然後再次點擊兩臺小電腦,將網絡連接改成橋接模式,再改成NAT模式,以此來初始化NAT網絡。
3、去Terminal內配置IP
使用到的Linux命令有:
補充
{
以CentOS爲例,進入VI編輯完成後,按ESC鍵,進入Command命令模式。輸入:wq,保存並且退出編輯器,如果不需要保存,請輸入:q!。(注意,需要冒號)
vi的其他保存/退出命令:
:w 保存;
:w filename 另存爲filename;
:wq! 保存並強制退出;
:wq! filename 注:以filename爲文件名保存後強制退出;
:q! 強制退出;
:x 保存並退出(僅當文件有變化時保存)
}
NAT網絡配置命令:
cd /etc/sysconfig/network-scripts/
su //password:輸入你的linux密碼即可
ls
vim ifcfg-eth0
然後根據你的nat網絡,設置IP、網關、掩碼、DNS(使用聯通的DNS)
保存網絡配置之後,ESC->:wq ->保存退出
繼續輸入Linux命令(用於重啓網絡):
su
password
/etc/init.d/network restart
命令輸入結果如下圖:
到此爲止,IP地址已經設置好了,我們用curl www.baidu.com 測試一下能否聯網,可以
然後再ping一下百度這個地址,看能否Ping的通(使用ctrl+c可以停止ping)
此時NAT網絡已經設置好了,而且和本機cmd ,ipconfig中的網絡不是一個網段
實際工作中使用終端的方式進行工作:通常使用sercureCRT連接已經配置好的工作環境
通過sercureCRT建立新se
如果有亂碼的現象,在crt進行設置,設置終端的環境,改成linux,
三、hadoop集羣搭建(服務器網絡配置篇)
1 拷貝兩個CentOS鏡像,用於搭建2\3號服務器
2 將兩臺虛擬機改名後,用虛擬機打開復制的兩個Linux系統
3 用虛擬機將三臺Linux同時打開運行(當出現虛擬機移動時,點擊我已移動)
4 給三臺機器分別命名(master slave1 slave2)
5 由於此時三臺電腦的IP相同,因此需要重新配置slave2 和 slave1的ip
相關配置命令:
cd /etc/sysconfig/network-scripts/
ls
su
password:
vim ifcfg-eth0
修改ip配置如下圖:
然後重啓網絡服務
/etc/init.d/network restart
此時,還是上不了網,因爲我們在賦值linux系統的時候,勢必會將原有系統網卡的屬性也複製過來。因此需要將slave1的網卡先卸載掉,步驟如下:
重新添加網卡後,網卡號不同了,此時可以上網了,同樣的方法,我們配置slave2.
6配置好系統後,重新設置secureCRT,
至此爲止,三臺linux服務器已經全部配置完成,nat網絡也已經配置完成,
四、hadoop集羣搭建(Linux java環境安裝篇)
1 由於安裝hadoop集羣需要java環境,而centos本身不帶java,因此我們在保證硬軟件統一的情況下(給master多分配內存,給slave多分配磁盤)
2、下載linux java jdk
將這個文件拷貝到三臺設備上,通過共享vimware共享目錄的方式。
啓用後添加要共享的文件夾。
然後利用terminal終端,進入cd /mnt/hgfs/
ls
補充{可能會出現共享文件夾不顯示的問題
解決方案1:https://blog.csdn.net/kelvindream/article/details/53503148
解決方案2:https://blog.csdn.net/jiangjundriver/article/details/70245140
具體是哪一個方案,都試一下,總有一個有用
}
2講這兩個資源從共享文件夾拷貝到系統當中
3 進入拷貝好資源你的文件夾src(cd … 用於文件夾後退)
進入後 輸入
ll //查看執行權限
然後直接運行jdk
./jdk-6u45-linux-x64.bin
至此,JAVA已經安裝完成了,然後我們需要配置一下環境變量。
4 配置java環境變量
①打開根目錄src
vim ~/.bashrc
:wq 退出,然後如下圖找出jdk的安裝路徑
安裝路徑下有一個bin,bin目錄下有一個java,直接運行這個java
此時,這個java就可以拿來用了,但是爲了讓系統能夠自動找到這個Bin文件,我們需要把這個bin目錄,加到環境變量中去
②在裏面輸入下面的語句
首先,賦值bin目錄的路徑,然後進入到vim ~/.bashrc中,按照如下輸入並保存(:wq)
保存退出後,可以不再java目錄下,直接使用java語句
至此,java環境變量就配置好了
然後對slave1 和 slave2同樣配置java環境
首先,如下圖,遠程複製資源
至此,兩臺slave都複製完成了,然後取CRT的slave1這臺機器上
哦,不對,要用root角色,su一下
slave2使用同樣的步驟
至此,Slave1和slave2這兩臺機器都應經把java安裝好了
然後使用vim ~/.bashrc同時修改環境變量
先賦值master中的bashrc文件已修改的內容
至此,所有的及其已經安裝完成了linux環境了,接下來呢,我們來正式安裝hadoop集羣
五、hadoop集羣搭建(Linux SSH無密碼互連)
1、解壓hadoop壓縮包,並修改其中相關的文件配置
進入解壓後的had文件,在其中新建一個tep文件夾,用於存放hadoop集羣運行過程中產生的目錄文件。
進入後將localhost改爲master
同樣的方法,修改slaves文件
繼續修改 core-site.xml文件
接下來配置,mapred-site.xml
再修改hdfs-site.xml文件,配置數據在dfs中存儲的副本數
接下來配置hadoop-env.sh
至此,我們已經修改了6個文件
2 繼續進行本機網絡配置
vim /etc/hosts 文件
這樣配置該文件的目的是,以後如果想要配置master文件的話,就可以通過ip名稱的映射,通過master直接訪問主機了。
這是我們雖然配置了,但是還沒有生效,因此我們需要使用下面的語句,讓其生效起來
但是,上圖中的生效只是臨時生效,因此需要 修改
vim /etc/sysconfig/network
至此,我們又修改了2個文件
3 接下來,把下圖的文件夾分別拷貝給slave1和slave2
4 然後修改slave1和slave2上的
vim /etc/hosts
再修改slave1和slave2上的vim /etc/sysconfig/network
通過修改network文件,讓二者HOSTNAME永久生效,而不是hostname master臨時生效
4 爲了防止以後網絡連接出現問題,因此要關閉防火牆
還有另外的原因也可能導致網絡連接問題,且問題難排查
因此也要設置一下
setenforce 0
permissive說明已經關閉成功了
5 下面設置如何遠程連接節點時不需要輸入密碼
輸入三次回車即可,
然後進入隱藏目錄.ssh這個目錄下
將master和slave1和slave2該目錄下的id_rsa.pub(公鑰文件)中的內容(公鑰)拷貝給master中的authorized_key(這個文件是自己創建的,創建txt的linux語法爲:touch authorized.keys)
具體解釋:https://www.oschina.net/question/3177374_2271087?sort=time
完成之後,將authorized.txt這個文件拷貝到slave1和slave2當中去。
小插曲:文件名字輸錯了
sudo mv auchorized_keys.txt authorized_keys.txt
使用上述命令修改即可
也可參考https://jingyan.baidu.com/article/d2b1d102d14f7d5c7e37d418.html
至此爲止,三臺機器中都有對方的ssh公鑰了,因此他們互相之間連接都不需要密碼了
如下圖:關係建立起來了
六、hadoop集羣搭建(master中啓動hadoop集羣)
1、
第一次啓動hadoop是,需要namenode格式化一下
命令如下:
./hadoop namenode -format
2 格式化之後直接啓動
./start-all.sh
3 輸入jps測試
然後我們去slave1和 slave2中測試一下
均啓動成功
4 驗證這個hdfs(分佈式文件系統)是否可用
用一個hadoop命令驗證
./hadoop fs -ls /
執行成功
再測試一個(看文件可否上傳到hdfs中)
./hadoop fs -put /etc/passwd /
再試一下,新建的文件能不能讀
至此!!!!!hadoop環境終於搭建好了