Hadoop集羣搭建

一.準備Linux環境(虛擬機)java

  1.先將虛擬機的網絡模式選爲NATnode

  2.修改主機名web

    vi /etc/sysconfig/networkvim

      NETWORKING=yes網絡

     HOSTNAME=hdp-node-01app

  3.修改IPssh

    vim /etc/sysconfig/network-scripts/ifcfg-eth0oop

    DEVICE="eth0"
    BOOTPROTO="static" ###
    HWADDR="00:0C:29:3C:BF:E7"
    IPV6INIT="yes"
    NM_CONTROLLED="yes"
    ONBOOT="yes"
    TYPE="Ethernet"
    UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
    IPADDR="192.168.1.101" ###
    NETMASK="255.255.255.0" ###
    GATEWAY="192.168.1.101" ###測試

  4.修改主機名和IP的映射關係spa

    vim /etc/hosts

    192.168.1.101  hdp-node-01

    192.168.1.102  hdp-node-02

    192.168.1.103  hdp-node-03

  5.關閉防火牆

    #查看防火牆狀態

    service iptables status
    #關閉防火牆
    service iptables stop
    #查看防火牆開機啓動狀態
    chkconfig iptables --list
    #關閉防火牆開機啓動
    chkconfig iptables off

  6.重啓Linux  

    reboot

 

二.安裝JDK

  1.上傳alt+p 後出現sftp窗口,而後put d:\xxx\yy\ll\jdk1.7.tar.gz  

  2.解壓jdk
    #建立文件夾
    mkdir /home/hadoop/app
    #解壓
    tar -zxvf jdk1.7.tar.gz -C /home/hadoop/app
  3.將java添加到環境變量中
    vim /etc/profile
    #在文件最後添加
    export JAVA_HOME=/home/hadoop/app/jdk1.7
    export PATH=$PATH:$JAVA_HOME/bin
    #刷新配置
    source /etc/profile

 

三.安裝hadoop集羣

  1.上傳hadoop安裝包到/home/hadoop/app目錄下

  2.修改配置文件

    (1)vi  hadoop-env.sh

    # 配置jdk路徑

    export JAVA_HOME=/home/hadoop/app/jdk1.7

    (2)vi  core-site.xml

    <configuration>

      <!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 -->

      <property>

        <name>fs.defaultFS</name>

        <value>hdfs://hdp-node-01:9000</value>

      </property>

      <!-- 指定hadoop運行時產生文件的存儲目錄 -->

      <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/HADOOP/apps/hadoop-2.6.1/tmp</value>

      </property>

    </configuration>

    (3)vi  hdfs-site.xml    

    <configuration>

    <#namenode元數據保存地址>

    <property>

      <name>dfs.namenode.name.dir</name>

      <value>/home/hadoop/data/name</value>

    </property>

    <#datanode元數據保存地址>

    <property>

      <name>dfs.datanode.data.dir</name>

      <value>/home/hadoop/data/data</value>

    </property>

    <#hdfs副本個數>

     <property>

      <name>dfs.replication</name>

      <value>3</value>

    </property>

    <#配置hdfs的web管理界面的訪問地址>

    <property>

      <name>dfs.secondary.http.address</name>

      <value>hdp-node-01:50090</value>

    </property>

    </configuration>

     vi  mapred-site.xml

    <configuration>

      <!-- 指定mr運行在yarn上 -->

      <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

      </property>

    </configuration>

    vi  yarn-site.xml

    <configuration>

      <!-- 指定YARN的老大(ResourceManager)的地址 -->

     <property>

       <name>yarn.resourcemanager.hostname</name>

       <value>hdp-node-01</value>

    </property>

    <!-- reducer獲取數據的方式 -->

    <property>

      <name>yarn.nodemanager.aux-services</name>

      <value>mapreduce_shuffle</value>

    </property>

    </configuration>

    vi  salves(配置集羣機器)

    hdp-node-01

    hdp-node-02

    hdp-node-03

  3.啓動集羣(方便腳本執行的話能夠hadoop環境變量,啓動過程須要屢次輸入密碼,沒有配置免密碼登陸)

    初始化HDFS

    bin/hadoop  namenode  -format

    啓動HDFS

    sbin/start-dfs.sh

    啓動YARN

    sbin/start-yarn.sh

    驗證是否啓動成功   使用jps命令驗證查看進程是否啓動

    

    http://192.168.1.101:50070 (HDFS管理界面)
    http://192.168.1.101:8088 (MR管理界面)

    

 

 

四.配置ssh免登錄

  #生成ssh免登錄密鑰

  #進入到個人home目錄
    cd ~/.ssh

 

    ssh-keygen -t rsa (四個回車)
  執行完這個命令後,會生成兩個文件id_rsa(私鑰)、id_rsa.pub(公鑰)
  將公鑰拷貝到要免密登錄的目標機器上
    ssh-copy-id localhost
  ---------------------------
  ssh免登錄:
  生成key:
  ssh-keygen
  複製從A複製到B上:
  ssh-copy-id B
  驗證:
  ssh localhost/exit,ps -e|grep ssh
  ssh A #在B中執行

 

五.測試集羣

  一、上傳文件到HDFS

    從本地上傳一個文本文件到hdfs的/wordcount/input目錄下

    [HADOOP@hdp-node-01 ~]$ HADOOP fs -mkdir -p /wordcount/input

    [HADOOP@hdp-node-01 ~]$ HADOOP fs -put /home/HADOOP/somewords.txt  /wordcount/input

  二、運行一個mapreduce程序

    在HADOOP安裝目錄下,運行一個示例mr程序

    cd $HADOOP_HOME/share/hadoop/mapreduce/

    hadoop jar mapredcue-example-2.6.1.jar wordcount /wordcount/input  /wordcount/output 

相關文章
相關標籤/搜索