1. 程式人生 > >大資料初學者福利:一片文章教你搭建Hadoop大資料處理環境

大資料初學者福利:一片文章教你搭建Hadoop大資料處理環境

由於Hadoop需要執行在Linux環境中,而且是分散式的,因此個人學習只能裝虛擬機器,本文都以VMware Workstation為準,安裝CentOS7,具體的安裝此處不作過多介紹,只作需要用到的知識介紹。

VMware的安裝,裝好一個虛擬機器後利用複製虛擬機器的方式建立後面幾個虛擬機器,省時省力,需要注意的是需要修改每個虛擬機器的IP與主機名。

所有虛擬機器採用NAT模式上網,而且要保證與物理主機的IP互相能訪問。

需要注意的幾個問題。nat如果上網首先需要檢視物理機(pc機)這個伺服器已經啟動。上網的原理:流量是走的物理網絡卡,但是它的ip,卻是和物理機沒有關係的。也就是說,無論你怎麼更換網路環境,你的虛擬機器都不需要做改變。這就是它的優點。

 

face/x2sakMmzx6r8xENE4NeRwMeEwEtxRF5H.jpg

 

首先在安裝VMware 之後,我們會看到多了兩個網絡卡

這個如果經過網路配置的折磨,應該能找到著兩個網絡卡:vmnet1和vmnet8,這裡講的是vmnet8。

 

images/iNnJ26M8WbTskKw6hWjK63MSrajFhfce.jpg

 

重點看右側第三圖你會看到ip地址,這個ip地址,因個人而異,也就是說不同網路,不同環境,這個ip變化的概率是很大的。可能是192.168.0.1等等。這裡也相當於我們程式設計的一個變數,這裡是需要你根據你的環境來賦值的,建議vmnet1到vmnet8分別設定192.168.10.1到192.168.80.1,好作區分。

上面我們通過看到的虛擬機器網絡卡的ip,為了避免混餚,上面的虛擬網絡卡和本地網路介面卡處於同一介面。如下圖:

 

images/nixYPKyd5JNSc2JtbyBA5ArexB3BJxQZ.jpg

 

而下面則是在開啟虛擬機器之後,通過選單彈出

 

images/cFRJKEFsKnC5NKk2HCEaPmEJzekC2a5A.jpg

 

彈出之後,我們在看一下虛擬機器的(交換機)vmnet8.

可以看到vmnet8子網ip和虛擬機器網絡卡是出於同一個網段的。

同時在右側net設定介面,我們可以看到閘道器為:192.168.106.2,改成192.168.80.2 虛擬機器的設定會用到。

Linux基礎知識

Linux的學習也是一個過程,因為可能你連最簡單的開機和關機命令都不會,更不要談配置網路。這裡面給大家提供剛開始學習所查閱的資料和經驗總結。

首先我們需要使用一些命令,進行網路配置,但是在網路配置中,這裡面又必須懂得虛擬機器的一些知識,所以前面的虛擬機器知識需要掌握紮實一些。

在此注意CentOS7與CentOS6的命令有些不同,會一些常用命令是必備,每次開機或啟動解壓安裝授權都是最基本的知識,其它的可以暫時不用學。

CentOS中安裝java環境

下載對應32或64位jdk,設定好JDK環境變數PATH,具體的配置可自行Google。

環境準備

修改機器名,每個系統中都要修改成這樣。

開啟終端,切換到root使用者下修改機器名稱。

$ sudo su
$ vim /etc/sysconfig/network
在其中新增“HOSTNAME=H32”

新增每個伺服器IP對應的機器名

三個ip地址都新增到各自的/etc/hosts檔案中

每個系統中都要修改成這樣

#編輯hosts
vim /etc/hosts

 

images/KJBECCzscJTx5JddEfkFpxEpkh7JQ3kT.png

 

關閉SELinux

#編輯 SELinux 配置檔案
vim /etc/selinux/config
#改狀態
SELINUX=disabled

SSH設定

進入H30,檢視ssh是否安裝,如果有,繼續,沒有安裝下。

rpm -qa|grep ssh

 

images/8b74dcGCHa2XwQ5ThhShBE7xeh2iGZNx.png

 

時間伺服器安裝

這裡需要安裝時間伺服器,其他的伺服器通過這個來進行多機器時間的同步,分散式部署時機器時間不一致會導致資料錯誤或元件內通訊錯誤。

安裝httpd服務

httpd是Apache超文字傳輸協議(HTTP)伺服器的主程式。被設計為一個獨立執行的後臺程序,它會建立一個處理請求的子程序或執行緒的池。

安裝yum-utils

yum install yum-utils 用於線上yum安裝 它是基於RPM包管理,能夠從指定的伺服器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。yum提供了查詢、安裝、刪除某一個、一組甚至全部軟體包的命令,而且命令簡潔而又好記。(需要機器能訪問外網)

準備資源和環境

下載Centos 7.2 的iso安裝映象,jdk1.8 for Linux壓縮包,hadoop2.7.3壓縮包(本來用hadoop3,發現後面不相容hive的最新版本)

Java基礎知識

由於Hadoop框架原始碼都是以Java來寫,因此最好都以Java作為開發的最佳語言,雖然說有些用C#做了封裝,但效能已大打折扣。(這就是為什麼說Java的學大資料有很大的優勢,其它語言的還需要重新學習Java)

Eclipse IDE使用

Linux和Windows下原始碼編譯技術

還有最重要的是你的網速要好,因為安裝過程中會下載依賴包,網不好會卡到你懷疑人生。

最後還需要有耐心,每臺機子的環境都不一樣,而且每個人下載的包的版本也有可能不一樣 會導致各種問題,此時就需要耐心的去看日誌,不停的嘗試和仔細的對比安裝步驟,可能就是少了個變數 或大小寫錯誤或是要重啟。

結語

為了幫助大家讓學習變得輕鬆、高效,給大家免費分享一大批資料,幫助大家在成為大資料工程師,乃至架構師的路上披荊斬棘。在這裡給大家推薦一個大資料學習交流圈:

658558542   

歡迎大家進群交流討論,學習交流,共同進步。

當真正開始學習的時候難免不知道從哪入手,導致效率低下影響繼續學習的信心。

但最重要的是不知道哪些技術需要重點掌握,學習時頻繁踩坑,最終浪費大量時間,所以有有效資源還是很有必要的。

最後祝福所有遇到瓶疾且不知道怎麼辦的大資料程式設計師們,祝福大家在往後的工作與面試中一切順利。