1. 程式人生 > >hdfs偽分散式叢集搭建和部署詳解

hdfs偽分散式叢集搭建和部署詳解

    大家好,這是我的第一篇技術部落格,也是第一篇部落格,請大家多多支援。我寫部落格的初衷無非是對所學知識的回顧和總結,同時能與廣大的讀者一起探討,共同進步,這是一件非常令人開心的事。
    部落格的內容大都是大資料技術相關,今天要說的是hadoop,以後會可能還會更新,hive,Hbase,flume,spark,storm等。希望大家多多批評和指正,我一定虛心接受。
    hadoop大致可分為三個部分:
    1、分散式儲存,HDFS(Hadoop Distributed File System);
    2、分散式計算,MapReduce;
    3、資源管理系統,Yarn。
    下面直接進入正題:偽分散式叢集的搭建。
    環境:
        ① Vmvare workStation、
        ② Linux(CentOS,Ubuntu等,我用的是CentOS_6.5版本下載)
        ③ Jdk(7或7以上均可)
        ④ Hdaoop2.6.5安裝包
    以上檔案下載地址:
https://pan.baidu.com/s/1o9Eu6nC

    安裝步驟:
    ① 安裝jdk,解壓即可,安裝之後配置環境變數,修改/etc/profile檔案,為什麼要修改這個檔案?是因為hadoop可以通過配置找到jdk,根本因為hadoop是java語言編寫,也需要在jvm中執行。完成以後,配置ip/主機名對映,修改/etc/hosts檔案。
        [[email protected] ~]# rpm -i jdk-8u151-linux-x64.rpm
        [[email protected] ~]# vi /etc/profile
        在profile檔案底部新增:
        export JAVA_HOME=/usr/java/jdk1.8.0_151
        export PATH=$PATH:$JAVA_HOME/bin
        [
[email protected]
~]# vi /etc/hosts
        在hosts檔案底部新增(主機名安裝作業系統時可自定義,但不能出現像"."、“_”、“/”這樣的字元,後面格式化的時候會出錯)
        192.168.201.77 xiaoku
    ② 設定免密碼登入
        設定免密碼登入的目的是為了實現hadoop的自動化操作,搭建好集群后,各個節點之間通過ssh的方式進行通訊,只需要各節點持有的公鑰相同即可完成認證,也保障了通訊的安全性。
        [[email protected] ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
        [
[email protected]
~]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    ③ 安裝hadoop2.6.5
        [[email protected] ~]# tar xf hadoop-2.6.5.tar.gz
        解壓成功後會出現hadoop-2.6.5檔案,將其複製到新的資料夾下
        建立新目錄/opt/source(可自定義),用來存放安裝包
        [[email protected] ~]# mkdir /opt/source
        [[email protected] ~]# mv hadoop-2.6.5 /opt/source
        新增環境變數:修改/etc/profile檔案底部新增:
        export HADOOP_PREFIX=/opt/source/hadoop-2.6.5
        同時PATH後新增:
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
        此時環境變數配置完了,載入到記憶體
        [[email protected] ~]# . /etc/profile
        載入完成後,hadoop的命令就會生效了。
    ④ 修改指令碼檔案和配置檔案
        [[email protected] source]# cd hadoop-2.6.5/etc/hadoop/
        [[email protected] source]# cat $JAVA_HOME
        會得到一個目錄/usr/java/jdk1.8.0_151,即當前jdk所在目錄,複製
        修改hadoop目錄下的hadoop-env.sh、mapred-env.sh、yarn-env.sh
        [[email protected] source]# vi hadoop-env.sh
        [[email protected] source]# vi mapred-env.sh
        [[email protected] source]# vi yarn-env.sh
        開啟檔案找到export JAVA_HOME=${JAVA_HOME},如果前面有#的說明被註釋了,將其開啟即可,
        然後將${JAVA_HOME}替換為複製的jdk目錄。
        為什麼要這麼做呢?是為搭建真分散式叢集做準備,如果通過本地節點,可以獲取到${JAVA_HOME}的值為當前jdk所在目錄,如果通過ssh遠端呼叫的時候,就獲取不到值,程式就會報錯。
        下面修改配置檔案core-site.xml、hdfs-site.xml和slaves
        [[email protected] source]# vi core-site.xml
        新增如下配置,是為了啟動namenode的時候,能夠找到預設的namenode主機節點
            <configuration>
                <property>
                    <name>fs.defaultFS</name>
                    <value>hdfs://xiaoku:9000</value>
                </property>
            </configuration>
        同時必須新增一個如下配置:
            <property>
                <name>hadoop.tmp.dir</name>
                <value>/var/xiaoku/hadoop/local</value>(可自定義,在/var目錄下建立均可)
            </property>
        在hadoop預設配置中,hadoop.tmp.dir指向的是linux的/tmp/hadoop-${user.name},此目錄在節點宕機等情況發生時會被清空,此時hadoop的資料將被清空。

        預設配置參考官方文件:http://hadoop.apache.org/docs/r2.6.5/做選單欄下的Configuration

https://img-blog.csdn.net/20180122155011228?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM2MjAwMzYz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

        [[email protected] source]# vi hdfs-site.xml
        <configuration>
            <property>
                <name>dfs.replication</name>
                <value>1</value>//新增塊的副本數,偽分散式叢集只有一個節點,為1;分散式節點為多個
            </property>
            <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>xiaoku:50090</value>//配置secondaryNamenode的ip和埠(預設50090),參考官檔
            </property>
        </configuration>
        [[email protected] source]# vi slaves
        將localhost修改成當前節點主機名即可。slaves存放的是datanode各個節點的主機名或ip,目前主機名為當前節點,真分散式則有多個
    ⑤ 格式化檔案系統,進行hdfs叢集的部署,啟動叢集
        [[email protected] source]# hdfs namenode -format
        格式化成功的標誌是沒有報錯,並在日誌中出現successfully formatted字樣,格式化之後會在/var生成/xiaoku/hadoop/local...的目錄。
        格式化之後會在/var/xiaoku/hadoop/local/dfs/name/current/下的VERSION中存放一個clusterId,叢集啟動後也會在/var/xiaoku/hadoop/local/dfs/data/current/下的VERSION中存放一個clusterId
        只有當兩個clusterId相同時,節點才會正常,否則datanode在啟動一段時間之後會自動消失,原因就是datanode會通過clusterId來尋找對應的主機。
        [[email protected] source]# start-dfs.sh
        此時會逐漸啟動namenode、datanode和secondaryNamenode
        [[email protected] source]# jps

        列印java程序,檢視個節點是否啟動成功

https://img-blog.csdn.net/20180122155251926?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM2MjAwMzYz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

如果程序中有上面四個,就說明啟動成功

    ⑥ hdfs webUI介面
        在瀏覽器輸入ip:50070或namenode主機名:50070
        如果出現下面的介面就說明成功了:
        https://img-blog.csdn.net/20180122155449879?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM2MjAwMzYz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast

        下拉可以檢視Live nodes,即slaves的有效節點數。
        到此,為分散式叢集搭建結束。

相關推薦

hdfs分散式叢集搭建部署

    大家好,這是我的第一篇技術部落格,也是第一篇部落格,請大家多多支援。我寫部落格的初衷無非是對所學知識的回顧和總結,同時能與廣大的讀者一起探討,共同進步,這是一件非常令人開心的事。     部落格的內容大都是大資料技術相關,今天要說的是hadoop,以後會可能還會更新

Centos7 實現Hadoop-2.9.1分散式叢集搭建部署(三臺機器)

一、準備三臺虛擬機器hadoop 192.168.131.128 localhost131 192.168.131.131 localhost134 192.168.131.134(以上是我的三臺虛擬機器的hostname 和 ip)hadoop 是 master 的 hos

Kafka 單機分散式叢集搭建

  感覺自己越來越像個運維了,真的是所有的分散式的中介軟體基本都搭建了一遍   不得了了。 好 廢話少說 , 還是來走Kafka 吧 , 經歷了Rocket MQ , Kafka 的搭建真的是簡單的不知道多少倍 , RocketMQ  實在 是太麻煩了。 還是老方

Hadoop分散式環境搭建MapReduce環境搭建hdfs相關操作疑難

這篇博文詳細講解了Hadoop偽分散式環境搭建,非常棒。此外,我這裡記錄一些其他相關內容,備忘。使用hadoop-eclipse-plugin-2.6.0.jar來構建MapReduce框架的Eclipse開發環境,這裡先給出這個外掛的連結,由於本人沒有什麼有價值的資源,所以

Hadoop單機/分散式叢集搭建(新手向)

此文已由作者朱笑笑授權網易雲社群釋出。 歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。 本文主要參照官網的安裝步驟實現了Hadoop偽分散式叢集的搭建,希望能夠為初識Hadoop的小夥伴帶來借鑑意義。 環境: (1)系統環境:CentOS 7.3.1611 64位 (2)J

大資料之Hadoop學習(環境配置)——Hadoop分散式叢集搭建

title: Hadoop偽分散式叢集搭建 date: 2018-11-14 15:17:20 tags: Hadoop categories: 大資料 點選檢視我的部落格: Josonlee’s Blog 文章目錄 前言準備 偽分

分散式叢集搭建

在B站找的搭建Hadoop的視訊,以下是步驟 感覺很簡練,有一篇部落格講的更加詳細 1.準備好jar包和Hadoop包 相容情況如下: hadoop版本>=2.7:要求Java 7(openjdk/oracle) hadoop版本<=2.6:要求Java 6(open

redis單機版分散式叢集搭建

    繼上一篇redis單機伺服器搭建成功之後,按如下方式進行叢集搭建。    搭建一個最小的叢集需要6臺機器(由節點投票機制決定至少需要3臺主節點,另外為了高可用每個主節點至少要備一個從節點,所以總共需要6個節點。這裡6個節點全部設在一臺機上,通過埠號來分別。實現偽分散式

hadoop分散式叢集搭建及配置記錄

如果已經走到了需要搭建hadoop偽分散式的環境了,那說明你至少做好了以下三點建立好了自己的虛擬機器,ip、本機名對映、防火牆、安全子系統都已經配置好了下載jdk1.7及以上版本,並配置好了java環境下載hadoop2.7.0及以上版本,並解壓到、opt/modules(自

《Hadoop》之"踽踽獨行"(七)Hadoop的分散式叢集搭建

在上一章我給大家介紹了Hadoop的單節點叢集本地模式的搭建,在這一章中,我們來了解一下Hadoop偽分散式叢集的搭建與用途。 一、Hadoop偽分散式叢集(pseudo distributed cluster) 1、簡介 hadoop的pseudo distributed&n

hadoop學習第二天~Hadoop2.6.5完全分散式叢集搭建測試

環境配置: 系統 centos7 節點 192.168.1.111 namenode 192.168.1.115 datanode2 192.168.1.116 datanode3 java 環境 :

redis 分散式叢集搭建

1、環境準備 centOS 6.7 2、開始安裝 叢集中應該至少有三個節點,每個節點有一備份節點。需要6臺伺服器。 搭建偽分散式,需要6個redis例項(生產環境搭建只需改下IP地址即可,步驟相似)。 redis-3.0.0下載連結 搭建叢集的步驟

zookeeper分散式叢集搭建(centOS7)

zookeeper版本:zookeeper-3.4.10.tar.gz 下載好zookeeper之後,放到/usr/local目錄下 1.建立zookeeper目錄,並在zookeeper目錄下,建立三個資料夾,分別為server1,server2,serv

Hadoop分散式叢集搭建過程及避坑指南

一個偶然的機會,讓我進了hadoop這個坑。我不得不說,Google真是個非常厲害的公司。為計算機行業貢獻了很多亮瞎雙眼額技術。初入Hadoop一般都要了解HDFS,YARN,Mapreduce。現在來總結一下Hadoop分散式叢集的搭建過程。1.首先準備好相應的安裝包,同時

Hadoop單機、分散式叢集搭建(十分詳細)

原文地址:http://blog.csdn.net/dr_guo/article/details/50886667 下面我就一邊搭建一邊寫怎麼搭建Hadoop偽分佈模式。 1.下載jdk並安裝 去官網下就可以了,下完之後把檔案移到/o

hadoop-2.6.5分散式叢集搭建

本次搭建的偽分散式hadoop叢集所使用的作業系統是紅帽5,64位系統。 所以,需要注意以下幾點: 1、jdk和hadoop安裝包也應該是64位的 2、64位的jdk是從檔名可以直接看出,例如:jdk-8u172-linux-x64.tar.gz 3、而

自動化運維工具Puppet服務安裝部署

puppet簡介 puppet是一種基於ruby語言開發的Lnux、Unix、windows平臺的集中配置管理系統。它使用自有的puppet描述語言,可管理配置檔案file、使用者user、cron任務、軟體包、系統服務等系統實體。 puppet依賴於C/S(客戶端/伺服器)的部署架構。它需要在p

[Kafka] Apache Kafka 簡介、叢集搭建及配置

前言 kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。這些資料通常是由於吞吐量的要求而通過處理日誌和日誌聚合來解決。 Kafk

基於SOA的高併發高可用分散式系統架構元件

基於SOA的分散式高可用架構和微服務架構,是時下如日中天的網際網路企業級系統開發架構選擇方案。在核心思想上,兩者都主張對系統的橫向細分和擴充套件,按不同的業務功能模組來對系統進行分割並且使用一定的手段實現服務之間的通訊,並且基於彈性雲服務搭建高可用的分散式解決方案。 但它們之間的區別可能比相似的地方要多,特別

Zookeeper叢集搭建(配置

軟體環境準備: Linux伺服器一臺、三臺、五臺(2*n+1臺);Java jdk 1.7;zookeeper 3.4.6版; 軟體安裝: 解壓jdk、zookeeper檔案到指定目錄,執行命令tar -zvxf xxxx.tar.gz -C /usr/local/pro