1. 程式人生 > >Hadoop-2.7.1叢集環境搭建

Hadoop-2.7.1叢集環境搭建

摘自:http://blog.csdn.net/u014039577/article/details/49813531

由於日誌資料量越來越大,資料處理的邏輯越來越複雜,同時還涉及到大量日誌需要批處理,當前的flume-kafka-storm-Hbase-web這一套流程已經不能滿足當前的需求了,所以只能另尋出路,於是想到了Hadoop這個東西。之前的storm是一個基於流式處理的實時分析系統,相比Hadoop的離線批處理各有千秋,兩者相比,我有看到一個比較形象的比喻:Hadoop就像是純淨水,一桶一桶地搬,而Storm是用水管,預先接好,開啟水龍頭,水就源源不斷的出來了。

同樣,Hadoop的批處理也是相當的強大,高效能、高穩定、高吞吐量、分散式、批處理這些特點都是我們所需要的。於是,在目前的形勢下,在之前的實時處理的基礎上,我們想再加一個離線的日誌批處理,於是用到了Hadoop。首先,我們得搭建好Hadoop叢集,由於我也是第一次搭建Hadoop叢集,其中遇到了許多的問題,可以說是一把辛酸淚,後面終於把叢集搭建起來了,可算不負眾望。

下面記錄Hadoop的搭建過程:

2、下載完成後(這個壓縮包比較大,有201M,下載比較慢,耐心等待吧),放到Linux某個目錄下,這裡我用的系統是:CentOS release 6.5 (Final),我放的目錄是:/usr/local/jiang/hadoop-2.7.1.tar.gz,然後執行:tar zxvf hadoop-2.7.1.tar.gz解壓(這些操作都是要在叢集中的主機上進行,也就是hadoop的master上面)

3、配置host檔案

進入/etc/hosts,配置主機名和ip的對映, 這裡是叢集的每個機子都需要配置,這裡我的logsrv02是主機(master),其餘兩臺是從機(slave)

  1. [root@logsrv03 /]# vi /etc/hosts  
  2. 172.17.6.142 logsrv02  
  3. 172.17.6.149 logsrv04  
  4. 172.17.6.148 logsrv03  
4、jdk的安裝(這裡我的機子上面已經有了,所以就不需要再安裝了)

我使用的jdk是jdk1.7.0_71,沒有的需要安裝,將jdk下載下來,解壓到某個目錄下,然後到/etc/profile中配置環境變數,在執行Java -version驗證是否安裝成功。

5、配置SSH免密碼登陸

這裡所說的免密碼登入是相對於主機master來說的,master和slave之間需要通訊,配置好後,master和slave進行ssh登陸的時候不需要輸入密碼。

如果系統中沒有ssh的需要安裝,然後執行:

  1. [root@logsrv03 ~]# ssh-keygen -t rsa  
會在根目錄下生成私鑰id_rsa和公鑰id_rsa.pub
  1. [root@logsrv03 /]# cd ~  
  2. [root@logsrv03 ~]# cd .ssh  
  3. [root@logsrv03 .ssh]# ll  
  4. 總用量 20  
  5. -rw-------  1 root root 1185 11月 10 14:41 authorized_keys  
  6. -rw-------  1 root root 1675 11月  15:57 id_rsa  
  7. -rw-r--r--  1 root root  395 11月  15:57 id_rsa.pub  

然後將這裡的公鑰分別拷貝到其餘slave中的.ssh檔案中,然後要把公鑰(id_dsa.pub)追加到授權的key中去:

  1. cat id_rsa.pub >> authorized_keys  

然後修改許可權(每臺機子都需要修改),這點我也沒太弄明白,具體可以參考:http://blog.csdn.net/leexide/article/details/17252369
  1. [root@logsrv04 .ssh]# chmod 600 authorized_keys   
  2. [root@logsrv04 .ssh]# chmod 700 -R .ssh     

將生成的公鑰複製到從機上的.ssh目錄下:

  1. [root@logsrv03 .ssh]# scp -r id_rsa.pub root@logsrv02:~/.ssh/  
  2. [root@logsrv03 .ssh]# scp -r id_rsa.pub root@logsrv04:~/.ssh/  

然後所有機子都需要重啟ssh服務

  1. [root@logsrv03 .ssh]# service sshd restart  
  2. [root@logsrv02 .ssh]# service sshd restart  
  3. [root@logsrv04 .ssh]# service sshd restart  
然後驗證免密碼登陸是否成功,這裡在主機master這裡驗證:
  1. [root@logsrv03 .ssh]# ssh logsrv02  
  2. [root@logsrv03 .ssh]# ssh logsrv04  

如果在登陸slave不需要輸入密碼,則免密碼登陸設定成功。

6、開始安裝Hadoop,配置hadoop環境變數/etc/profile(所有機子都需要配置)

  1. export HADOOP_HOME=/usr/local/jiang/hadoop-2.7.1  
  2. export PATH=$PATH:$HADOOP_HOME/bin  
7、修改配置檔案: (1)、修改hadoop-2.7.1/etc/hadoop/hadoop-env.sh
  1. [root@logsrv03 /]# cd usr/local/jiang/hadoop-2.7.1  
  2. [root@logsrv03 hadoop-2.7.1]# cd etc/hadoop/  
  3. [root@logsrv03 hadoop]# vi hadoop-env.sh  
  4. export JAVA_HOME=/usr/local/jdk1.7.0_71  
(2)、修改hadoop-2.7.1/etc/hadoop/slaves
  1. [root@logsrv03 hadoop]# vi slaves   
  2. logsrv02  
  3. logsrv04  
(3)、修改hadoop-2.7.1/etc/hadoop/core-site.xml
  1. <configuration>  
  2. <property>  
  3.                 <name>fs.defaultFS</name>  
  4.                 <value>hdfs://logsrv03:8020</value>  
  5.         </property>  
  6.         <property>  
  7.                 <name>io.file.buffer.size</name>  
  8.                 <value>131072</value>  
  9.         </property>  
  10.         <property>  
  11.                 <name>hadoop.tmp.dir</name>  
  12.                 <value>file:/opt/hadoop/tmp</value>  
  13.         </property>  
  14.         <property>  
  15.                 <name>fs.hdfs.impl</name>  
  16.                 <value>org.apache.hadoop.hdfs.DistributedFileSystem</value>  
  17.                 <description>The FileSystem for hdfs: uris.</description>  
  18.         </property>  
  19.         <property>  
  20.                 <name>fs.file.impl</name>  
  21.                 <value>org.apache.hadoop.fs.LocalFileSystem</value>  
  22.                 <description>The FileSystem for hdfs: uris.</description>  
  23.     </property>  
  24. </configuration>  
(4)、修改hadoop-2.7.1/etc/hadoop/hdfs-site.xml
  1. <configuration>  
  2. <property>  
  3.                 <name>dfs.namenode.name.dir</name>  
  4.                 <value>file:/opt/hadoop/dfs/name</value>  
  5.         </property>  
  6.         <property>  
  7.                 <name>dfs.datanode.data.dir</name>  
  8.                 <value>file:/opt/hadoop/dfs/data</value>  
  9.         </property>  
  10.         <property>  
  11.                 <name>dfs.replication</name>      
  12.                 <value>2</value>   
  13.         </property>  
  14. </configuration>  
(5)、修改hadoop-2.7.1/etc/hadoop/yarn-site.xml
  1. <configuration>  
  2. <!-- Site specific YARN configuration properties -->  
  3. <property>  
  4.                 <name>yarn.resourcemanager.address</name>  
  5.                 <value>logsrv03:8032</value>  
  6.         </property>  
  7.         <property>  
  8.                 <name>yarn.resourcemanager.scheduler.address</name>  
  9.                 <value>logsrv03:8030</value>  
  10.         </property>  
  11.         <property>  
  12.                 <name>yarn.resourcemanager.resource-tracker.address</name>  
  13.                 <value>logsrv03:8031</value>  
  14.         </property>  
  15.         <property>  
  16.                 <name>yarn.resourcemanager.admin.address</name>  
  17.                 <value>logsrv03:8033</value>  
  18.         </property>  
  19.         <property>  
  20.                 <name>yarn.resourcemanager.webapp.address</name>  
  21.                 <value>logsrv03:8088</value>  
  22.         </property>  
  23.         <property>  
  24.                 <name>yarn.nodemanager.aux-services</name>  
  25.                 <value>mapreduce_shuffle</value>  
  26.         </property>  
  27.         <property>  
  28.                 <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
  29.                 <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
  30.         </property>  
  31. </configuration>  
(6)、修改hadoop-2.7.1/etc/hadoop/mapred-site.xml 
  1. <configuration>  
  2. <property>  
  3.                 <name>mapreduce.framework.name</name>  
  4.                 <value>yarn</value>  
  5.         </property>  
  6.         <property>  
  7.                 <name>mapreduce.jobhistory.address</name>  
  8.                 <value>logsrv03:10020</value>  
  9.         </property>  
  10.         <property>  
  11.                 <name>mapreduce.jobhistory.webapp.address</name>  
  12.                 <value>logsrv03:19888</value>  
  13.         </property>  
  14. </configuration>  
8、這些配置檔案配置完畢後,然後將整個hadoop-2.7.1檔案複製到各個從機的目錄下,這裡目錄最好與主機一致
  1. [root@logsrv03 hadoop-2.7.1]# scp -r hadoop-2.7.1 root@logsrv02:/usr/local/jiang/  
  2. [root@logsrv03 hadoop-2.7.1]# scp -r hadoop-2.7.1 root@logsrv04:/usr/local/jiang/  

9、到這裡全部配置完畢,然後開始啟動hadoop,首先格式化hdfs
  1. [root@logsrv03 hadoop-2.7.1]# bin/hdfs namenode -format  
如果出現successfully formatted則表示格式化成功。
10、然後啟動hdfs
  1. [root@logsrv03 hadoop-2.7.1]# sbin/start-dfs.sh  
到這裡,可以檢視啟動的程序: 主機logsrv03:
  1. [root@logsrv03 hadoop-2.7.1]# jps   
  2. 29637 NameNode  
  3. 29834 SecondaryNameNode  

從機logsrv02、logsrv04:
  1. [root@logsrv04 hadoop-2.7.1]# jps   
  2. 20360 DataNode  

  1. [root@logsrv02 hadoop-2.7.1]# jps   
  2. 10774 DataNode  


11、啟動yarn
  1. [root@logsrv03 hadoop-2.7.1]# sbin/start-yarn.sh  

到這裡,啟動的程序: 主機logsrv03:
  1. [root@logsrv03 hadoop-2.7.1]# jps   
  2. 29637 NameNode  
  3. 29834 SecondaryNameNode  
  4. 30013 ResourceManager  

從機logsrv02、logsrv04:
  1. [root@logsrv02 hadoop-2.7.1]# jps   
  2. 10774 DataNode  
  3. 10880 NodeManager  

  1. [root@logsrv04 hadoop-2.7.1]# jps   
  2. 20360 DataNode  
  3. 20483 NodeManager  

到這裡,恭喜整個叢集配置完成,可以通過:http://logsrv03:8088/cluster檢視hadoop叢集圖:
檢視HDFS:

相關推薦

Hadoop-2.7.1叢集環境搭建

摘自:http://blog.csdn.net/u014039577/article/details/49813531 由於日誌資料量越來越大,資料處理的邏輯越來越複雜,同時還涉及到大量日誌需要批處理,當前的flume-kafka-storm-Hbase-web這一套流程已經不能滿足當前的需求了,所以只

CentOS 6.5 hadoop 2.7.3 叢集環境搭建

CentOS 6.5 hadoop 2.7.3 叢集環境搭建 所需硬體,軟體要求 使用 virtualbox 構建三臺虛擬機器模擬真實物理環境 作業系統:CentOS6.5 主機列表: master ip: 192.168.3.171 slav

hadoop學習1--hadoop2.7.3叢集環境搭建

           下面的部署步驟,除非說明是在哪個伺服器上操作,否則預設為在所有伺服器上都要操作。為了方便,使用root使用者。    1.準備工作    1.1 centOS7伺服器3臺    master    192.168.174.132    node1  

Hadoop2.7.1+Hbase1.2.1叢集環境搭建(1)hadoop2.7.1原始碼編譯

        官網目前提供的下載包為32位系統的安裝包,在linux 64位系統下安裝後會一直提示錯誤“WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-j

CentOS 7 快速架設hadoop 2.5.1叢集

經過幾天的折騰,總算成功了~賬號註冊到現狀近N年了,這是第一篇部落格~ 1、軟體準備a.OS:CentOS-7.0-1406-x86_64-DVD.iso --去CentOS官網下 b.JDK:jdk-7u71-linux-x64.gz --oracle官網下,至於1

Linux下Hadoop2.7.1叢集環境搭建(超詳細版)

1 <?xml version="1.0"?> 2 <!-- 3 Licensed under the Apache License, Version 2.0 (the "License"); 4 you may not use this file except in c

Hadoop-2.7.3叢集搭建中遇到的問題總結

0 前言: 1)Hadoop叢集搭建參照前一篇博文Hadoop叢集安裝配置教程 2)叢集有三個節點:Master、Slave1、Slave2,其中Master只作namenode,其餘兩個從節點做datanode 1 搭建過程中常用Hadoop指令: 1

Hadoop-2.4.1叢集搭建步驟

首先說明,博主以前也沒學過Hadoop,更別提Linux。只不過買了點資料,覺得不看也是浪費,索性找了時間學習了一下,別說,還真是吸引人。 言歸正傳,博主機器:筆記本 Y50-70 美版的 搭建環境:VM11(VMware Workstation 11),使用的是CenOS

從零開始搭建大資料平臺系列之(2.1)—— Apache Hadoop 2.x 偽分散式環境搭建

JDK 版本:jdk 1.7.0_67 Apache Hadoop 版本:Hadoop 2.5.0 1、安裝目錄準備 ~]$ cd /opt/ opt]$ sudo mkdir /opt/modules opt]$ sudo chown beifeng:b

Storm(1.2.1)叢集環境搭建

1,Storm基礎介紹:Storm作為大資料處理框架之一,其和Spark一樣具有非常廣泛的使用,如下為Storm的架構圖: 在瞭解叢集配置安裝之前需要掌握如下幾個概念(concept):拓撲(Topologies):類似Hadoop的MapReduce 的任務(Job),區別

Hive之 hive-1.2.1 + hadoop 2.7.4 叢集安裝

一、 相關概念Hive Metastore有三種配置方式,分別是:Embedded Metastore Database (Derby) 內嵌模式Local Metastore Server 本地元儲存Remote Metastore Server 遠端元儲存1.1 Meta

配置Python 2.7.1外加環境pywin32-216.win32-py2.7

href str pytho AR content track blog clas edi python-2.7.1 ?安裝包 下載地址:http://down

Hadoop最完整分散式叢集環境搭建

分散式環境搭建之環境介紹 之前我們已經介紹瞭如何在單機上搭建偽分散式的Hadoop環境,而在實際情況中,肯定都是多機器多節點的分散式叢集環境,所以本文將簡單介紹一下如何在多臺機器上搭建Hadoop的分散式環境。 我這裡準備了三臺機器,IP地址如下: 192.16

事無鉅細 Spark 1.6.1 叢集環境搭建

還是在之前的Hadoop叢集環境上繼續搭建Spark-1.6.1環境 下載安裝 下載Spark並解壓 wget http://mirrors.cnnic.cn/apache/spark/spark-1.6.1/spark-1.6.1-b

事無鉅細 Apache Kafka 0.9.0.1 叢集環境搭建

Kafka叢集環境依賴於Zookeeper環境。因此我們的環境搭建實際分為兩部分。Zookeeper環境搭建和Kafka環境搭建。 Zookeeper 3.4.8叢集搭建 部署安裝包 下載 wget http://mirrors.cn

3臺機器配置hadoop-2.7.3叢集

一. 環境介紹 三臺主機,主機名和ip分別為: ubuntu1  10.3.19.171 ubuntu2  10.3.19.172 ubuntu3  10.3.19.173 三臺主機的登入使用者名稱是bigdata,home目錄是/home/bigdata 現在三臺主機上

hadoop-2.7 在windows環境下安裝

    最近折騰檔案系統,用到了Hadoop,雖然專案是部署在Linux下的。但自己平時開發用的是windows系統(本人用的是win10 64bit)。為了方便開發和除錯,所以打算在windows環境下安裝hadoop。         往上找了幾篇文章,都說得

Hadoop(2.7.3)叢集配置-官方文件

目標 本文描述瞭如何安裝、配置和管理有實際意義的Hadoop叢集,其規模可從幾個節點的小叢集到幾千個節點的超大叢集。如果你希望在單機上安裝Hadoop玩玩,從這裡(Single Node Setup)能找到相關細節。 這份文件不包含更先進話題,比如安

Apache Hadoop-2.7.3偽分散式搭建詳細步驟

1.什麼是Apache Hadoop?Apache Hadoop專案為可靠,可擴充套件的分散式計算開發開源軟體。2.Apache Hadoop專案包含哪些模組?Hadoop Common:支援其他hadoop模組的常用工具HDFS(Hadoop Distributed Fil

hadoop-3.0.0叢集環境搭建、配置

12月13日hadoop-3.0.0釋出正式版啦,試試最新的 Release Notes:Minimum required Java version increased from Java 7 t