1. 程式人生 > >老段Hadoop2.x 叢集搭建筆記

老段Hadoop2.x 叢集搭建筆記

1.準備Linux環境
    1.0點選VMware快捷方式,右鍵開啟檔案所在位置 -> 雙擊vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 設定網段:192.168.1.0 子網掩碼:255.255.255.0 -> apply -> ok
        回到windows --> 開啟網路和共享中心 -> 更改介面卡設定 -> 右鍵VMnet1 -> 屬性 -> 雙擊IPv4 -> 設定windows的IP:192.168.1.100 子網掩碼:255.255.255.0 -> 點選確定
        在虛擬軟體上 --My Computer -> 選中虛擬機器 -> 右鍵 -> settings -> network adapter -> host only -> ok    
    1.1修改主機名
        vim /etc/sysconfig/network
        
        NETWORKING=yes
        HOSTNAME=lumen   ###

    1.2修改IP
        兩種方式:
        第一種:通過Linux圖形介面進行修改(強烈推薦)
            進入Linux圖形介面 -> 右鍵點選右上方的兩個小電腦 -> 點選Edit connections -> 選中當前網路System eth0 -> 點選edit按鈕 -> 選擇IPv4 -> method選擇為manual -> 點選add按鈕 -> 新增IP:192.168.1.101 子網掩碼:255.255.255.0 閘道器:192.168.1.1 -> apply
    
        第二種:修改配置檔案方式(屌絲程式猿專用)
            vim /etc/sysconfig/network-scripts/ifcfg-eth0
            
            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.1"            ###
            
    1.3修改主機名和IP的對映關係
        vim /etc/hosts
            
        192.168.1.101    lumen
    1.4關閉防火牆
        #檢視防火牆狀態
        service iptables status
        #關閉防火牆
        service iptables stop
        #檢視防火牆開機啟動狀態
        chkconfig iptables --list
        #關閉防火牆開機啟動
        chkconfig iptables off
    
    1.5重啟Linux
        reboot

2.安裝JDK
    2.1上傳alt+p 後出現sftp視窗,然後put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz
    
    2.2解壓jdk
        #建立資料夾
        mkdir /home/hadoop/app
        #解壓
        tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app
        
    2.3將java新增到環境變數中
        vim /etc/profile
        #在檔案最後新增
        export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
        export PATH=$PATH:$JAVA_HOME/bin
    
        #重新整理配置
        source /etc/profile
        
3.安裝hadoop2.4.1
    先上傳hadoop的安裝包到伺服器上去/home/hadoop/
    注意:hadoop2.x的配置檔案$HADOOP_HOME/etc/hadoop
    偽分散式需要修改5個配置檔案
    3.1配置hadoop
    第一個:hadoop-env.sh
        vim hadoop-env.sh
        #第27行
        export JAVA_HOME=######
        
    第二個:core-site.xml

        <!-- 指定HADOOP所使用的檔案系統schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://lumen:9000</value>
        </property>
        <!-- 指定hadoop執行時產生檔案的儲存目錄 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/hadoop-2.4.1/tmp</value>
    </property>
        
    第三個:hdfs-site.xml   hdfs-default.xml  (3)
        <!-- 指定HDFS副本的數量 -->
        <property>
            <name>dfs.replication</name>
            <value>1</value>
    </property>
        
    第四個:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
        mv mapred-site.xml.template mapred-site.xml
        vim mapred-site.xml
        <!-- 指定mr執行在yarn上 -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
    </property>
        
    第五個:yarn-site.xml
        <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>lumen</value>
    </property>
        <!-- reducer獲取資料的方式 -->
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
     </property>
         
    3.2將hadoop新增到環境變數
    
    vim /etc/proflie
        export JAVA_HOME=########
        export HADOOP_HOME=######
        export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    source /etc/profile
    
    3.3格式化namenode(是對namenode進行初始化)
        hdfs namenode -format (hadoop namenode -format)
        
    3.4啟動hadoop
        先啟動HDFS
        sbin/start-dfs.sh
        
        再啟動YARN
        sbin/start-yarn.sh
        
    3.5驗證是否啟動成功
        使用jps命令驗證
        27408 NameNode
        28218 Jps
        27643 SecondaryNameNode
        28066 NodeManager
        27803 ResourceManager
        27512 DataNode
    
        http://192.168.1.101:50070 (HDFS管理介面)
        http://192.168.1.101:8088 (MR管理介面)
        
4.配置ssh免登陸
    #生成ssh免登陸金鑰
    #進入到我的home目錄
    cd ~/.ssh

    ssh-keygen -t rsa (四個回車)
    執行完這個命令後,會生成兩個檔案id_rsa(私鑰)、id_rsa.pub(公鑰)
    將公鑰拷貝到要免登陸的機器上
    ssh-copy-id localhost