官术网_书友最值得收藏!

  • 大數據基礎與應用
  • 趙國生 王健 宋一兵主編
  • 2167字
  • 2021-12-15 16:00:26

2.5 Hadoop環境搭建

Hadoop架構有很多的組件,在2.6節中會有介紹,本節主要針對Hadoop的搭建進行簡單描述,主要使用Linux命令進行搭建。

以下打開文件用的Linux命令是gedit,如果出現打開文件是只讀、無法修改的情況,請將gedit命令改為vim命令即可。vim編輯器的使用方法和一般的編輯器方法不同,在這里不做過多介紹。如果不想使用vim,可以在代碼前加sudo。

2.5.1 JDK安裝和測試

1)檢查是否安裝JDK。切換為root用戶,使用命令“java-version”查看是否已經安裝了java JDK。若存在其他JDK,先進行卸載。可以通過在命令終端執行命令java-version進行檢測。如果發現有存在版本,則需要執行命令rpm-qa/grepjdk和rpm-qa/grep gcj。然后根據查找到的軟件,通過執行yum-y remove進行卸載。結果如圖2-35所示。

圖2-35 查看是否安裝JDK

2)在Home下創建文件夾resourses,結果如圖2-36所示。

3)將JDK的資源復制到resourses中,如圖2-37所示。

圖2-36 創建文件夾

圖2-37 將JDK的資源復制到resourses中

4)復制文件到/usr/java下。

5)解壓。

①使用Linux命令解壓,輸入命令:

結果如圖2-38所示。

圖2-38 字符界面解壓

②如果是圖形界面的話,選擇提取即可,如圖2-39所示。

圖2-39 圖形界面解壓

6)配置環境變量。輸入代碼:

在文件尾部添加代碼:

/usr/java/jdk1.7.0_67是解壓縮之后自動創建的文件夾,可根據實際安裝位置進行更改。

輸入以下代碼,使修改生效:

該過程不會返回任何信息。

再次執行“java-version”測試,結果如圖2-40所示。

圖2-40 “java-version”測試

2.5.2 Hadoop安裝和配置

在開始安裝之前,先設置主機名,切換用戶root,如圖2-41所示。

圖2-41 切換用戶root

打開文件。

輸入以下代碼,其中master是主機名。

使文件生效。

關閉終端,重新打開終端,結果如圖2-42所示。

圖2-42 重新打開終端后結果

重啟虛擬機后,名字沒有變成master,所以還要在hostname文件中修改,將內容改為master,即主機名。

其他虛擬機的主機名也從默認的localhost更改為對應的slave0和slave1。現在開始進行Hadoop安裝和配置。

(1)解壓hadoop壓縮包

將Hadoop的安裝包放到Home下的resources中,如圖2-43所示。

圖2-43 將Hadoop的安裝包放到Home下的resources中

進入resources,解壓安裝包,結果如圖2-44所示。

圖2-44 解壓安裝包

解壓之后會在用戶目錄下自動創建文件夾,如圖2-45所示,作為Hadoop的安裝目錄。

但如果想要使用Hadoop,還需要完成一系列的配置。

(2)配置Hadoop環境變量

hadoop-env.sh是Hadoop的環境變量文件,位于hadoop-2.6.0/etc/hadoop子目錄下。我們只需配置該文件的JDK路徑即可。

將文件前面的“export JAVA_HOME=${JAVA_HOME}”改成實際的JDK安裝路徑。

如圖2-46所示,編輯完成后保存退出。

圖2-45 自動創建文件夾

圖2-46 修改JDK路徑

(3)配置Yarn環境變量

需要更改的環境變量為yarn-env.sh,其余的與Hadoop環境變量配置方法一致。

(4)配置核心組件文件

core-site.xml是Hadoop的核心組件文件,位于hadoop-2.6.0/etc/hadoop子目錄下,打開該文件。

將以下配置代碼放在文件的<configuration></configuration >之間,結果如圖2-47所示,編輯后保存退出。

(5)配置文件系統

hdfs-site.xml是Hadoop的文件系統配置文件,位于hadoop-2.6.0/etc/hadoop子目錄下,打開該文件。

將以下配置代碼放在文件的<configuration></configuration >之間,如圖2-48所示,編輯后保存退出。

圖2-47 配置核心組件文件結果

圖2-48 配置文件系統結果

這里的1指的是HDFS數據塊的副本數,因為HDFS最大副本數是3,所以超過3沒有任何意義。

(6)配置yarn-site.xml

yarn-site.xml是Hadoop的站點配置文件,位于hadoop-2.6.0/etc/hadoop子目錄下,打開該文件。

將以下配置代碼放在文件的<configuration></configuration >之間,結果如圖2-49所示,編輯后保存退出。

(7)配置MapReduce計算框架文件

在hadoop-2.6.0/etc/hadoop子目錄下找到mapred-site.xml.template文件,在當前目錄下復制改名并打開文件。

圖2-49 配置yarn-site.xml后結果

在文件下方添加下列代碼,結果如2-50所示。

圖2-50 配置MapReduce計算框架文件結果

(8)配置Master的slaves文件

slaves文件給出Hadoop集群的Slave節點列表,因此十分重要。在啟動Hadoop時,系統根據該文件中的節點名稱列表啟動集群,不在表中的節點不會被視為計算節點。

編輯slaves文件。

用戶根據自己搭建的集群情況進行編輯。

復制Master上的Hadoop到Slave節點,如要提高系統部署效率,復制Master上的Hadoop到Slave節點是一個更好的選擇。每個節點復制一次,以slave0為例,命令如下:

在這一步當中需要進行密碼驗證,下一節將會對如何免密登錄進行講解。

2.5.3 SSH免密碼配置

SSH是Secure Shell的縮寫,由IETF的網絡工作小組制定,SSH是建立在應用層和傳輸層上的安全協議,專為遠程登錄會話和其他網絡服務提供安全性的協議。目前SSH相對比較可靠。在大數據集群中的Linux計算機之間要頻繁地通信,而Linux的通信需要進行用戶的身份驗證,即輸入登錄密碼。小規模通信的耽誤時間可以忽略,如果是大規模的通信,工作效率會因為輸入密碼而降低,如果能夠免密登錄,就會大大提高效率。

免密登錄是指兩臺Linux機器自檢使用SSH連接時不需要用戶名和密碼。下面的配置分為在Master節點和所有Slave節點的操作。

本章使用的是普通用戶iTheds。

(1)Master節點配置

首先,在終端生成密鑰:

輸入該命令后會有一系列的提示,默認直接按〈Enter〉鍵4次即可,執行完上面的命令后會生成id_rsa(私鑰)和id_rsa.pud(公鑰)文件,結果如圖2-51所示。

圖2-51 生成密鑰

ssh-keygen是用來生成private和public密鑰對的命令,將public密鑰復制到遠程集群后,使用SSH到另一臺機器就不用密碼了。-t是指定加密算法的參數,這里使用的加密算法是基于大數因式分解的rsa算法,也是應用最廣泛的非對稱加密算法。

生成的密鑰在.ssh目錄下,切換到該目錄,查看文件詳細信息,結果如圖2-52所示。

圖2-52 文件的詳細信息

將公鑰文件復制到.ssh下。

修改authorized_keys文件的權限為600。

此時各文件的詳細信息如圖2-53所示。

圖2-53 各文件的詳細信息

將authorized_keys文件復制到所有的Slave節點。以復制到Slave0節點上為例,使用如下命令,結果如圖2-54所示。

圖2-54 將authorized_keys文件復制到所有的Slave節點

(2)Slave節點配置

在slave0和slave1上搭建Slave節點環境,其配置步驟與Master的配置步驟相同,該過程中使用的authorized_keys文件是從Master復制過來的,移動到.ssh目錄下,修改權限為600。因過程基本一致,具體操作就留給讀者自行搭建。測試使用命令“ssh slave0”即可。

主站蜘蛛池模板: 东乌珠穆沁旗| 永定县| 泰宁县| 曲阜市| 湘西| 石城县| 都兰县| 鱼台县| 九龙坡区| 武夷山市| 徐水县| 天镇县| 仙居县| 买车| 海晏县| 台安县| 灵山县| 青阳县| 敦煌市| 崇明县| 凉城县| 馆陶县| 闵行区| 洛浦县| 吴川市| 九龙城区| 闻喜县| 靖边县| 东兰县| 金塔县| 三亚市| 缙云县| 永春县| 铜山县| 固安县| 行唐县| 涿州市| 仁化县| 德保县| 吉水县| 集贤县|