1. 程式人生 > >Hadoop化繁為簡-從安裝Linux到搭建集群環境

Hadoop化繁為簡-從安裝Linux到搭建集群環境

開始 協調 利用 html isa 同學 防火墻 右鍵 $path

簡介與環境準備

  hadoop的核心是分布式文件系統HDFS以及批處理計算MapReduce。近年,隨著大數據、雲計算、物聯網的興起,也極大的吸引了我的興趣,看了網上很多文章,感覺還是雲裏霧裏,很多不必要的配置都在入門教程出現。通過思考總結與相關教程,我想通過簡單的方式傳遞給同樣想入門hadoop的同學。其實,如果你有很好的Java基礎,當你入門以後,你會感覺到hadoop其實也是很簡單的,大數據無非就是數據量大,需要很多機器共同來完成存儲工作,雲計算無非就是多臺機器一起運算

  操作建議:理論先了解三分,先實踐操作完畢,再回頭看理論,在後續文章我將對理論進行分析,最後用思維導圖總結了解它的hadoop的整體面貌。

  環境準備: http://pan.baidu.com/s/1dFrHyxV 密碼:1e9g(建議自己去官網下環境,要原生原味的,不要二手貨)

  CentOS-Linux系統:CentOS-7-x86_64-DVD-1511.iso

  VirtualBox虛擬機:VirtualBox-5.1.18-114002-Win.exe

  xshell遠程登錄工具:xshell.exe

  xftp遠程文件傳輸:xftp.exe

  hadoop:hadoop-2.7.3.tar.gz

  jdk8:jdk-8u91-linux-x64.rpm

hadoop的物理架構

  物理架構:假設機房有四臺機器搭建一個集群環境,Master(ip:192.168.56.100)、Slave1(ip:192.168.56.101)、Slave2(ip:192.168.56.102)、Slave3(ip:192.168.56.103)。在這裏簡要介紹一下,至於具體內容,我將在Hadoop的Hdfs文章詳細介紹。

  分布式:將不同地點,不同功能的,用於不同數據的多態計算機通過通信網絡連接其他,統一控制,協調完成大規模信息處理的計算機系統。簡單說,一塊硬盤可以分成兩部分:文件索引和文件數據,那麽文件索引部署在單獨一臺服務器上我們稱為Master根節點(NameNode),文件數據部署在Master結點管理的孩子結點被稱為Slave結點(DataNode)。

  技術分享

利用VirtulBox安裝Linux

  參考:http://www.cnblogs.com/qiuyong/p/6815903.html

配置集群在同一虛擬局域網下通信

  說明:通過上述操作,已經搭建好master(192.168.56.100)這臺機器,開始配置虛擬網絡環境在同一虛擬機下。

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes GATEWAY=192.168.56.1(說明:配置意思是,連上VirtualBox這塊網卡)
  3. vim /etc/sysconfig/network-sripts/ifcfg-enp0s3
  4. TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0(說明:配置意思是,設置自己ip)
  5. 修改主機名:hostnamectl set-hostname master
  6. 重啟網絡:service network restart
  7. 查看ip:ifconfig
  8. 與windows能否ping通、若ping不同,關閉防火墻。master:ping 192.168.56.1 windows:ping 192.168.56.100
  9. systemctl stop firewalld -->system disable firewalld

利用Xshell、Xftp進行遠程登錄與文件傳輸

  利用VirtualBox登錄,上傳文件會比較麻煩,采用Xshell遠程登錄。

 技術分享

  技術分享

  采用Xftp上傳文件。

  技術分享

  技術分享

  上傳hadoop-2.7.3.tar.gz、jdk-8u91-linux-x64.rpm到/usr/local目錄下。新手提示:在右邊窗口選中/usr/local目錄,左邊雙擊壓縮包就上傳成功了。

配置hadoop環境

  1. 解壓jdk-8u91-linux-x64.rpm:rpm -ivh /usr/local/jdk-8u91-linux-x64.rpm-->默認安裝目錄到/usr/java
  2. 確認jdk是否安裝成功。 rpm -qa | grep jdk,java -version查看是否安裝成功。
  3. 解壓hadoop-2.7.3.tar.gz:tar -vhf /usr/local/hadoop-2.7.3.tar.gz。
  4. 修改目錄名為hadoop:mv /usr/local/hadoop-2.7.3 hadoop
  5. 切換目錄到hadoop配置文件目錄:cd /usr/local/hadoop/etc/hadoop
  6. vim hadoop-env.sh
  7. 修改export JAVA_HOME 語句為 export JAVA_HOME=/usr/java/default
  8. 退出編輯頁面:按esc鍵 輸入:wq
  9. vim /etc/profile
  10. 在文件最後追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
  11. source /etc/profile

發散思考-更進一步

  問題1:現在只是配置了一臺master?那slave1、slave2、slave3也這樣一臺一臺配置嗎?

  答:潛意識裏面,肯定有解決辦法避免。當然,VirtualBox也提供了,復制機器的功能。選中master,右鍵復制。這樣的話,就一臺跟master一模一樣的機器就搞定了。我們只需要修改網絡的相關配置即可。註意:搭建集群環境需要自己復制三臺。

  問題2:如何查看這些linux機器是否在同一個環境下?

  答:我重新捋一遍內容。啟動四臺linux機器(可以右鍵選擇無界面啟動)-->利用xshell遠程登錄-->選擇工具(發送鍵到所用界面)。依次輸入ping 192.168.56.100、192.168.56.101、192.168.56.102、192.168.56.103。

技術分享

配置與啟動hadoop

  1、為四臺機器配置域名。vim /etc/hosts

    192.168.56.100 master

    192.168.56.101 slave1

    192.168.56.102 slave2

    192.168.56.103 slave3

  2、切換到hadoop配置文件目錄 /usr/local/hadoop/etc/hadoop vim core-site.xml

  3、修改四臺linux機器的core-site.xml,指名四臺機器誰是master(NameNode)。

    <property>
      <name>fs.defaultFS</name>
      <value>hdfs://master:9000</value>
    </property>

  4、在master結點機器指名它的子節點有哪些:vim /usr/local/hadoop/etc/hadoop/slaves(其實就是指名子節點的ip)

    slave1

    slave2

    slave3

  5、初始化一下master配置:hdfs namenode -format

  6、啟動hadoop集群並且用jps查看結點的啟動情況

    啟動master:hadoop-daemon.sh start namenode

    啟動slave:hadoop-daemon.sh start datanode

    技術分享

  7、查看集群啟動情況:hdfs dfsadmin -report或者利用網頁http://192.168.56.100:50070/

    技術分享

Hadoop化繁為簡-從安裝Linux到搭建集群環境