1. 程式人生 > >大資料入門之開發環境搭建之hadoop篇

大資料入門之開發環境搭建之hadoop篇

這篇教程我將會教大家如何一步步從零開始搭建好我們的大資料完全分散式實驗平臺

實驗環境:1.由於實驗環境是在linux系統中,所以我們需要用虛擬機器摸擬linux作業系統,作業系統的版本我們選 centOS 7,需要建立的虛擬機器的臺數根據自己的電腦的配置來決定,一般為了較好的完成實驗,我們需要3臺或3臺以上,一臺master主機,其於為slave從機,虛擬機器可以使用vmware或者oracl VirtualBox,這裡不再講解虛擬機器的搭建

                   2.軟體:本課程第一節將講基礎環境hadoop的搭建,只有把hadoop搭好了並且把hdfs(hadoop distributed file systemhadoop

分散式檔案儲存系統)配置好,才可以使我們hadoop生態圈的其他的元件得以執行,比如我們的大資料環境下的資料庫有hbase、mongodb等,包括hbase所依賴的zookeeper環境,以及不同於mapreduce計算框架的spark和storm計算框架的搭建都會在後續中講解

                                                  java環境:jdk-8u151-linux-x64.tar.gz,

                                                                    hadoop-2.7.4.tar.gz(hdfs,mapreduce計算框架

,yarn架構等都是在hadoop進行配置)

軟體我們使用官方版本而不是cdh5版本,下面給出cdh5版本地址:http://archive.cloudera.com/cdh5/cdh/5/

三臺虛擬機器配置,網絡卡配置使用NAT方式,這樣主機會給虛擬機器自動分配IP,開啟虛擬機器時,進入設定,點開“網路”,把有線連線開啟就行了
                master 192.168.1.103
                slave1 192.168.1.105
                slave2 192.168.1.106
                slave3 192.168.1.107

用SecureCRT遠端連線虛擬機器,方便上傳檔案。

先修改四臺主機的主機名並配置主機名和ip地址的對映,依次修改為master,slave1,slave2,slave3因為我們的hadoop叢集是根據是主機名通訊的


修改etc/hosts下的hosts的檔案新增對映,centos下可以用gedit直接大開編輯


在每臺機器的home目錄下建一個softwares用於儲存軟體,tar用於儲存安裝包


在SecureCRT使用檔案上傳命令把tar包上傳的虛擬機器

先進入master機器的tar目錄下


然後執行rz命令,選擇檔案上傳(雙擊要選擇的tar包)

上傳完成之後,在虛擬機器裡就可以看到我們的tar包了


或者我們可以直接進入/home/tar目錄用ls命令檢視


配置主機與從機的ssh免密碼連線,在主機根目錄上(cd ~可以進入根目錄)執行命令  ssh-keygen -t rsa


然後連續輸入回車


生成的祕鑰位於 ~/.ssh資料夾下。可進入檢視


在master上,匯入authorized_keys,進入~/.ssh目錄,執行 cat id_rsa.pub >> authorized_keys命令


遠端無密碼登入(把master上的authorized_keys拷貝到其他主機的相應目錄下)注意,你的從機上可能沒有.ssh目錄,所以在三個從機上cd ~,然後mkdir .ssh建立.ssh目錄


master上的authorized_keys拷貝到其他主機的相應目錄下

scp authorized_keys [email protected]:~/.ssh/

主意以下幾點:root為你的slave1機器 linux系統的使用者名稱,slave1是從機1的主機名,同理其他兩臺從機也是類似的方似

第一次連線需要輸入密碼,但是在linux下密碼不會顯示出來,所以別以為你沒敲上


所有機器的~/.ssh目錄下,均執行命令:chmod 600 authorized_keys


驗證ssh連線,在master上 輸入ssh slave1,測試已連上slave1


解壓軟體

在master上,進入/home/tar 執行 tar -zxf jdk-8u151-linux-x64.tar.gz -C /home/softwares解壓jdk

使用命令把master上的jdk發到其他三臺機器,以slave1為例

scp -r /home/softwares/jdk1.8.0_151 [email protected]:/home/softawres

然後配置環境變數,可直接在虛擬機器裡用gedit開啟/etc/profile新增如下  三個機器上都配置

#java

export JAVA_HOME=/home/softwares/jdk1.8.0_151
exprot PATH=$JAVA_HOME/bin:$PATH

在master上,進行/home/tar 執行 tar -zxf hadoop-2.7.4.tar.gz -C /home/softwares解壓hadoop

然後配置環境變數,可直接在虛擬機器裡用gedit開啟/etc/profile新增如下 master機器上配置

#hadoop  
export HADOOP_HOME=/home/softwares/hadoop-2.7.4
export PATH=$PATH:$HADOOP_HOME/sbin  
export PATH=$PATH:$HADOOP_HOME/bin 

然後用source命令重新整理一下/etc/profile檔案使配置生效


修改hadoop的一些重要配置檔案

修改/home/softwares/hadoop-2.7.4/etc/hadoop下的七個配置檔案


3)配置檔案:hadoop-env.sh

修改JAVA_HOME值(export JAVA_HOME=/home/softwares/jdk1.8.0_151)  2)配置檔案:yarn-env.sh

修改JAVA_HOME值(export JAVA_HOME=/home/softwares/jdk1.8.0_151

3)配置檔案:slaves 這就是配置從節點

slave1

slave2

slave3

core-site.xml

<configuration>  
    <property>  
        <name>fs.defaultFS</name>  
        <value>hdfs://master:9000</value>  
    </property>  
    <property>  
        <name>io.file.buffer.size</name>  
        <value>131072</value>  
    </property>  
    <property>  
        <name>hadoop.tmp.dir</name>  
        <value>file:/home/softwares/hadoop-2.7.4/tempdir</value>  
        <description>Abase for other temporary   directories.</description>  
    </property>  
</configuration> 

 其中第三個屬性需要我們建立一個資料夾,如果不建立它預設是在/tmp/hadoop-${user.name}

我們手動在/home/softwares/hadoop-2.7.4建一個tempdir

hdfs-site.xml

<configuration>  
       <property>  
                <name>dfs.namenode.secondary.http-address</name>  
               <value>master:9001</value>  
       </property>  
     <property>  
             <name>dfs.namenode.name.dir</name>  
             <value>file:/home/softwares/hadoop/hadoop-2.7.4/namenode</value>  
       </property>  
      <property>  
              <name>dfs.datanode.data.dir</name>  
              <value>file:/home/softwares/hadoop/hadoop-2.7.4/datanode</value>  
       </property>  
       <property>  
               <name>dfs.replication</name>  
               <value>3</value>  
        </property>  
        <property>  
                 <name>dfs.webhdfs.enabled</name>  
                  <value>true</value>  
         </property>  
</configuration>

 其中第二三個屬性需要我們建立一個資料夾,如果不建立它預設是在/tmp/hadoop-${user.name}

我們手動在/home/softwares/hadoop-2.7.4建一個namenode和一個datanode

mapred-site.xml

先建立然後編輯

把mapred-site.xml.template複製一份改為mapred-site.xml

<configuration>  
          <property>                                                                    
        <name>mapreduce.framework.name</name>  
                <value>yarn</value>  
           </property>  
          <property>  
                  <name>mapreduce.jobhistory.address</name>  
                  <value>master:10020</value>  
          </property>  
          <property>  
                <name>mapreduce.jobhistory.webapp.address</name>  
                <value>master:19888</value>  
       </property>  
</configuration> 

yarn-site.xml

<configuration>  
        <property>  
               <name>yarn.nodemanager.aux-services</name>  
               <value>mapreduce_shuffle</value>  
        </property>  
        <property>                                                                  
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
        </property>  
        <property>  
               <name>yarn.resourcemanager.address</name>  
               <value>master:8032</value>  
       </property>  
       <property>  
               <name>yarn.resourcemanager.scheduler.address</name>  
               <value>master:8030</value>  
       </property>  
       <property>  
            <name>yarn.resourcemanager.resource-tracker.address</name>  
             <value>master:8031</value>  
      </property>  
      <property>  
              <name>yarn.resourcemanager.admin.address</name>  
               <value>master:8033</value>  
       </property>  
       <property>  
               <name>yarn.resourcemanager.webapp.address</name>  
               <value>master:8088</value>  
       </property>  
</configuration> 

到此配置完成,把master上的hadoop傳送slave上,以slave1為例

scp -r /home/softwares/hadoop-2.7.4 [email protected]:/home/softwares

在master

source /etc/profile

進入/home/softwares.hadoop-2.7.4

執行

bin/hdfs namenode -format
sbin/start-all.sh
啟動後分別在master, slave下輸入jps檢視程序,如下則啟動正確

master


slave1


slave2


slave3



相關推薦

資料入門開發環境搭建hadoop

這篇教程我將會教大家如何一步步從零開始搭建好我們的大資料完全分散式實驗平臺 實驗環境:1.由於實驗環境是在linux系統中,所以我們需要用虛擬機器摸擬linux作業系統,作業系統的版本我們選 centOS 7,需要建立的虛擬機器的臺數根據自己的電腦的配置來決定,一般為了較好

資料各子專案的環境搭建建立與刪除軟連線(博主推薦)

   建立軟連線,好處可以處理多個版本的需要,方便環境變數的配置。相當於windows下的快捷方式!    博主,我這裡以jdk為例,對於大資料的其他子專案的搭建,一樣的操作。方便!這裡我不多贅述。   如何建立jdk1.7版本的軟連結? [[email protect

android——kotlin開發入門開發環境搭建

style blog extension activity image plugins 重要 打開 對話框 一.打開android studio—Setting—Plugins 註意,第一次是搜索不到的,會彈出一個對話框,在對話框中輸入Kotlin,選中第二個。在右邊點擊

Android NDK 入門開發環境搭建

既然是要開始學習NDK,那麼我們首先來了解一下NDK。Android NDK是Android 軟體開發包(SDK)的相關工具集,用來擴充套件Android SDK的功能,從而使開發人員能夠使用機器程式碼生成的程式語言實現一些對程式碼效能要求較高的模組並將這些模組嵌入到And

[原創]ObjectARX開發環境搭建VS2010+ObjectARX2012Wizard+Addin工具條問題修復

系統 右鍵 9.png line cls sid 新建 使用 開發環境 目前ObjectARX版本越來越高,也越來越簡化開發,如果需要同時開發低版本和高版本的ARX程序,就需要搭建批量編譯環境,以滿足ARX開發的需要。 批量編譯的搭建網絡上已經有了很多的教程,基本上都是基於

Vulkan Tutorial 01 開發環境搭建Windows

異常 方案 party return info auto 行程 while nload 操作系統:Windows8.1 顯卡:Nivida GTX965M 開發工具:Visual Studio 2017 相信很多人在開始學習Vulkan開發的起始階段都會在開發環境的配置上

[基礎]ESP8266-NonOS學習筆記(一)開發環境搭建

上篇文章我們瞭解了ESP8266到底是個什麼“東西”,瞭解了ESP8266在這個萬物互聯時代有哪些優勢,那我們不能光是瞭解,我們還需要去深入的學習一下,爭做物聯網時代的弄潮兒~繼往開來第二篇,本篇文章主要介紹一下幾種常見的ESP8266開發方式,感覺現在不管是學習硬體開發還是軟體開發,第一節課都是先學習一下開

MacOS X 開發環境搭建 利用 Parallels Desktop 安裝 CentOS 6

前期準備 Parallels Desktop 14 安裝包 官網下載 百度網盤 ( 注:ParallelsDesktop-14.0.1-Crack 提取密碼:5kc2 ) CentOS 6&nbs

OpenTX遙控系統開發環境搭建

       本文講解在Ubuntu 16.04系統上搭建OpenTX開發環境的步驟及其方法,使用Linux系統搭配QtCreator+STLink+JLink進行編譯和除錯程式,不推薦使用windows進行開發。              首先,我們需要安裝相應的

Flowable深入淺出-5 Flowable-Modeler詳述開發環境搭建

5 Flowable-Modeler詳述之搭建開發環境 前言 環境搭建 打賞 版權 前言 Flowable的modeler的環境已經搭建完成,並且可以繪製modeler模型了,我們繪製一個簡單的流程只有開始和結束的流

Android Studio開發環境搭建模擬器的安裝

執行專案的時候彈出對話方塊,提示沒有連線可用的裝置,選擇建立一個新的模擬器,並勾選最下面一欄,在以後都使用模擬器。然後點選ok。 選擇Nexus 5,點選next。 選擇Lollipop一欄後點擊右側的紅字下面的install haxm, 進入

exynos4412系統移植開發環境搭建

arm開發平臺:fs4412開發板(cortex-A9 samsung exynos4412) pc開發平臺:ubuntu 12.04虛擬機器 pc機(x86)作業系統啟動流程介紹 B

Mybatis學習開發環境搭建(1)

什麼是mybatis MyBatis是支援普通SQL查詢,儲存過程和高階對映的優秀持久層框架。MyBatis消除了幾乎所有的JDBC程式碼和引數的手工設定以及結果集的檢索。MyBatis使用簡單的XML或註解用於配置和原始對映,將介面和Java的POJOs(Plan Old

JavaWeb學習心得開發環境搭建(Tomcat伺服器)

疑問:學習web開發,為什麼必須要先裝一個WEB伺服器?   在本地計算機上隨便建立一個web頁面,使用者是無法訪問到的,但是如果啟動tomcat伺服器,把web頁面放在tomcat伺服器中,使用者就

hi3516a開發環境搭建

本人使用centos6.5開發 1.安裝centos6.5作業系統 2.安裝交叉編譯環境 [[email protected] home]# cd Hi3516A/ [[email protected] Hi3516A]# ls Demo  p7zip

.net core專案實戰開發環境搭建

在上一篇[.net core專案實戰之回顧總結]主要介紹了專案背景和自己的一些想法,從本篇開始正式敘述整個開發過程,本篇主要介紹一下開發前的環境準備,vs2017和docker的安裝與配置 系統要求 首先建議採用 Windows 10 專業版

Extjs6.2系列開發環境搭建

Extjs6.2環境的搭建跟Extjs4.2有所不同,sencha公司推出了shencha cmd這款工具可以方便的搭建一個Extjs Mvc專案。使用cmd的最直接的兩個好處就是可以生成程式碼框架和針對性的對你的ext專案編譯。你可以通過Sencha cmd的命令直接是生

android開發開發環境搭建

1、使用的包: adt-bundle-windows-x86_64-20140702.zip。這個包解壓之後有eclipse及sdk,都齊備了; 2、設定sdk的環境變數: 高階系統設定-環境變數-使用者變數(上面那個)-變數名(ANDROID_SDK_HOME)-值(sd

Linux入門開發環境搭建

  什麼是Linux Linux簡介 Linux是一種自由和開放原始碼的作業系統,存在著許多不同的Linux版本,但它們都使用了Linux核心。Linux可安裝在各種計算機硬體裝置中,比如手機、平板電腦、路由器、臺式計算機 Linux介紹

Flutter入門開發環境搭建

什麼是Flutter 極速構建漂亮的原生介面!Flutter是由Google於2018年2月推出的移動UI框架,可以極速在ios和Android上構建質高質量的原生使用者介面。Flutter可以與現有的程式碼一起工作。在去世界,Flutter正在被越來越多的開發者和組織使用