(一)大數據集羣,Linux->NAT->hadoop集羣環境搭建

大數據集羣,Linux-NAT環境搭建

一、虛擬機Linux安裝

  1. 準備好所需資料
    CentOS(linux系統安裝文件)
    VMware虛擬機安裝包

  2. 安裝虛擬機
    在這裏插入圖片描述
    在這裏插入圖片描述下一步後選擇最大磁盤大小爲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環境終於搭建好了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章