Hadoop從安裝Linux到搭建集羣環境

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

  操作建議:理論先了解三分,先實踐操作完畢,再回頭看理論,在後續文章我將對理論進行分析,最後用思維導圖總結了解它的hadoop的整體面貌。還是要推薦下我自己創建的大數據學習交流Qun: 710219868 有大佬有資料, 進Qun聊邀請碼填寫 南風(必填 )有學習路線的分享公開課,聽完之後就知道怎麼學大數據了

  環境準備: 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)這臺機器,開始配置虛擬網絡環境在同一虛擬機下。

vim /etc/sysconfig/network
NETWORKING=yes GATEWAY=192.168.56.1(說明:配置意思是,連上VirtualBox這塊網卡)
vim /etc/sysconfig/network-sripts/ifcfg-enp0s3
TYPE=Ethernet IPADDR=192.168.56.100 NETMASK=255.255.255.0(說明:配置意思是,設置自己ip)
修改主機名:hostnamectl set-hostname master
重啓網絡:service network restart
查看ip:ifconfig
與windows能否ping通、若ping不同,關閉防火牆。master:ping 192.168.56.1 windows:ping 192.168.56.100
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環境
解壓jdk-8u91-linux-x64.rpm:rpm -ivh /usr/local/jdk-8u91-linux-x64.rpm-->默認安裝目錄到/usr/java
確認jdk是否安裝成功。 rpm -qa | grep jdk,java -version查看是否安裝成功。
解壓hadoop-2.7.3.tar.gz:tar -vhf /usr/local/hadoop-2.7.3.tar.gz。
修改目錄名爲hadoop:mv /usr/local/hadoop-2.7.3 hadoop
切換目錄到hadoop配置文件目錄:cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh
修改export JAVA_HOME 語句爲 export JAVA_HOME=/usr/java/default
退出編輯頁面:按esc鍵 輸入:wq
vim /etc/profile
在文件最後追加 export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
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/

   

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