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/

   

轉載于:https://blog.51cto.com/13769996/2141750

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/277668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/277668.shtml
英文地址,請注明出處:http://en.pswp.cn/news/277668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git推送本地分支到遠程分支

場景 有時候我們開發需要開一個分支,這樣可以有效的并行開發. 開分支有兩種方式: 一種是在遠程開好分支,本地直接拉下來;一種是本地開好分支,推送到遠程.遠程先開好分支然后拉到本地 git checkout -b feature-branch origin/feature-branch //檢出遠程的feature-branch分支到…

delphi 函數內創建對象 釋放_JavaScript 的函數底層運行機制

▲ 點擊上方藍字關注我 ▲文 / 景朝霞來源公號 / 朝霞的光影筆記ID / zhaoxiajingjing圖 / 自己畫目錄0 / 題(1)第一題(2)第二題1 / 引用數據類型&#xff1a;object2 / 引用數據類型&#xff1a;function(1)第二題&#xff0c;簡圖(2)創建函數(3)執行函數(4)閉包3 / 練習題(1)…

Unity3D學習筆記之五為Prefab添加材質

本次筆記中&#xff0c;我們將利用unity來創建并使用材質&#xff0c;把材質添加到我們的Prefab中去。這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》&#xff0c;下載鏈接附在第二篇學習筆記中。繼續上次筆記中所記錄的東西&a…

分布式版本控制系統之Git

Git Git 是目前世界上最先進的分布式版本控制系統&#xff08;沒有之一&#xff09;作用 源代碼管理為什么要進行源代碼管理? 方便多人協同開發方便版本控制Git的誕生 作者是 Linux 之父&#xff1a;Linus Benedict Torvalds當初開發 Git 僅僅是為了輔助 Linux 內核的開發&…

oo第三次博客-JML規格

這三周的作業主要是圍繞以JML來約束代碼開發&#xff0c;以確保程序的正確性與魯棒性。 Part 1&#xff1a;三次作業的實現與bug 第一次作業沒有任何算法和數據結構上的難度&#xff0c;對于Path和PathContainer的各個方法的實現按照給出的規格復讀即可。唯一的難點&#xff08…

Kinect開發筆記之一Kinect詳細介紹

畢業設計的課題我選擇了結合Kinect和Unity3D開發體感游戲&#xff0c;這是我十分感興趣的一個課題&#xff0c;所以做好當然責無旁貸。準備再寫一系列Kinect的學習筆記&#xff0c;記錄自己畢設一步一個腳印的歷程。1、Kinect背景介紹眾所周知&#xff0c;Kinect是一款集成了很…

獲取2個地址之間的距離(高德API)

2019獨角獸企業重金招聘Python工程師標準>>> string startLonLat SiteHelper.GetLonLat("大連"); //獲取起始地經度緯度 string endLonLat SiteHelper.GetLonLat("沈陽"); //獲取目的地經度緯度 int distance SiteHelper.GetDistance(star…

WPF屬性學習

一.WPF屬性系統 CLR屬性 .NET中的屬性稱為CLR屬性 轉載于:https://www.cnblogs.com/programme-maker/p/10910166.html

chemdraw怎么連接兩個結構_利用神經結構搜索構建快速準確輕量級的超分辨率網絡...

介紹我們知道&#xff0c;把神經網絡拆解&#xff0c;可以把它歸結為幾個元素的排列組合而成&#xff0c;例如&#xff0c;以卷積神經網絡為例&#xff0c;其主要由卷積層&#xff0c;池化層&#xff0c;殘差連接&#xff0c;注意力層&#xff0c;全連接層等組成&#xff0c;如…

Unity3D學習筆記之六創建更多的Prefab

在寫完第五篇后&#xff0c;因為不知名的原因&#xff0c;我突然不能夠上傳100KB以上的圖片在博客中了。等了幾天還是這樣&#xff0c;所以我用PS把圖片的分辨率一張張調低&#xff0c;讓圖片的大小都在100左右&#xff0c;將積攢了四篇的學習筆記一起發上來&#xff0c;也算彌…

iOS底層探索(二) - 寫給小白看的Clang編譯過程原理

iOS底層探索(一) - 從零開始認識Clang與LLVM 寫在前面 編譯器是屬于底層知識&#xff0c;在日常開發中少有涉及&#xff0c;但在我的印象中&#xff0c;越接近底層是越需要編程基本功&#xff0c;也是越復雜的。但要想提升技術卻始終繞不開要對底層原理的探究&#xff0c;很多資…

四、構建Node Web程序

---恢復內容開始--- 一、HTTP 服務器的基礎知識 1、Node如何向開發者呈現HTTP請求 2、一個用“Hello World”做響應的HTTP服務器 它用了默 認的狀態碼200&#xff08;表明成功&#xff09;和默認的響應頭 3、讀取請求頭及設定響應頭 Node提供了幾個修改HTTP響應頭的方法&#x…

datagrid 什么時候結束編輯_2020年中考結束后,什么時候出分?什么時候報志愿?...

導語7月19日下午16:00&#xff0c;2020年北京中考正式落下帷幕。考試結束后&#xff0c;很多家長和考生都會長舒一口氣&#xff0c;但北京中考在線團隊提醒你&#xff0c;現在還不是放松的時刻&#xff0c;中考結束后&#xff0c;還有成績查詢和填報志愿等重要事件等著你。那么…

Unity3D學習筆記之七創建自己的游戲場景

到現在為止我們已經擁有了比較完備的Prefab&#xff0c;已經可以創建宏大的游戲場景&#xff0c;并以第一人稱視角在場景中漫游了。這里給大家做個小的示范&#xff0c;建一個小場景大家在創建場景的時候需要自由發揮&#xff0c;做個盡量大的場景出來。這一系列教程以及素材均…

excel if in函數_【Excel函數】Small+Index+IF 一對N返回

通常情況下&#xff0c;Vlookup和lookup函數只能返回滿足條件的第一個&#xff0c;剩余的都不會返回。 這也是其函數的一個弊端之一。 若是按照條件&#xff0c;返回所有滿足條件的數據&#xff08;1->N&#xff09;的&#xff0c;可是適用組合函數。 Index返回位置&#xf…

Unity3D學習筆記之八為場景添加細節(一)

這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》&#xff0c;下載鏈接附在第二篇學習筆記中。我花了30分鐘做了一個中等大小的迷宮場景&#xff0c;不知道大家自己發揮&#xff0c;做的場景大小如何。在完成場景之后&#xff0c…

mysql數據庫表的管理(增刪改)

表字段管理1. 添加到末尾alter table 表名 add 字段名 數據類型;2 添加到開頭alter table 表名 add 數據類型 first;3. 添加到指定位置alter table 表名 add 新字段名 數據類型 after 原有字段名&#xff1b;4. 刪除字段alter table 表名 drop 字段名;5. 修改數據類型alter ta…

哪個app最費電_微波爐和烤箱,買哪個劃算?

微波爐和烤箱不能說買哪個劃算&#xff0c;而是看哪個更適合&#xff1f;我家微波爐和烤箱兩個都有&#xff0c;所以這個問題我來回答一下。雖然外形上看起來&#xff0c;微波爐和烤箱似乎沒有多大的區別&#xff0c;從功能上看&#xff0c;它們也都是加熱&#xff0c;但它們側…

MATLAB數值計算與符號運算

符號計算 存放的是精確數據&#xff0c;耗存儲空間 &#xff0c;運行速度慢&#xff0c;但結果精度高&#xff1b; 數值計算則是以一定精度來計算的&#xff0c;計算結果有誤差&#xff0c;但是運行速度快。轉載于:https://www.cnblogs.com/shawnchou/p/10927680.html

Unity3D學習筆記之九為場景添加細節(二)

上節為場景中添加了第一塊帶有碰撞器的石頭&#xff0c;本節我們來利用Prefab&#xff0c;將場景細節都添加進去&#xff0c;并且做的更完善。這一系列教程以及素材均參考自人人素材翻譯組出品的翻譯教程《Unity游戲引擎的基礎入門視頻教程》&#xff0c;下載鏈接附在第二篇學習…