hadoop 2.5.0 徹底分佈式搭建

徹底分佈式安裝:
    1.集羣規劃
        a.服務分配
        組件             Linux.one             Linux.two                   Linux.three
        HDFS           NameNode           Sencondarynamenode             
                           DataNode            DataNode                  DataNode
        --------------------------------------------------------------------------
        YARN                                                             ResourceManager
                         NodeManager          NodeManager               NodeManager
        --------------------------------------------------------------------------
        MapReduce     JobHistoryServer

    2.基本環境準備
        A.三臺裝有CenterOs的PC
        B.將修改爲靜態IP (若是是克隆的虛擬機須要修改Mac地址 不然三臺虛擬機沒法ping通)
            #vi /etc/sysconfig/network-script/ifcfg-eth0
        C.修改Hostname
            #vi /etc/sysconfig/network
        D.設置主機映射
            # vi /etc/hosts
        E.關閉防火牆
            # service iptables stop
            # chkconfig iptables off
        F.關閉安全子系統
            # vi /etc/sysconfig/selinux
        G.卸載Linux自帶的Jdk (minimal安裝是沒有安裝的 因此不用卸載)
             查看系統自帶的jdk  rpm -qa | grep java
             # rpm -e --nodeps tzdata-java-2012j-1.el6.noarch
             # rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
             # rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
        H.安裝Jdk
            a.編輯 /etc/profile 文件 添加
                export JAVA_HOME=/opt/modules/jdk1.7.0_67
                export $PATH:$JAVA_HOME/bin
            b.從新加載配置
                source /etc/profile
            
    3.配置NTP服務
        *將Linux.one 做爲整個集羣的時間同步服務器
        A.檢查NTP服務是否安裝 (minimal安裝是沒有安裝的)
            rpm -qa | grep ntp
        B.安裝ntp服務
            yum -y install ntp
        C.修改NTP的配置文件  (修改Linux.one)
            # vi /etc/ntp.conf
            a.去掉下面這行下面的#,並把網段修改爲本身的網段
                restrict 192.168.7.0 mask 255.255.255.0 nomodify notrap
            b.註釋掉一下幾行  (修改Linux.one)
                #server 0.centos.pool.ntp.org iburst
                #server 1.centos.pool.ntp.org iburst
                #server 2.centos.pool.ntp.org iburst
                #server 3.centos.pool.ntp.org iburst
            c.把下面前面兩行的#號去掉,若是沒有,須要手動去添加  (修改Linux.one)
                server 127.127.1.0      #local clock
                fudge 127.127.1.0  stratum 10
            d.啓動ntp服務(默認是開啓)Linux01  (修改Linux.one)
                # service ntpd start   
                # chkconfig ntpd on
            e.同步服務器的時間(Linux01)  (修改Linux.one)
                # ntpdate cn.pool.ntp.org     -->操做這一步時關閉ntp服務
                16 Feb 17:14:40 ntpdate[26564]: step time server 188.39.37.91 offset -12.669996 sec
            f.若是另外兩臺的ntp的進程開啓,那麼須要關閉
                # service ntpd stop
                # chkconfig ntpd off
            g.第二、3臺向第一臺同步時間
                # ntpdate hadoop.senior01
                16 Feb 17:43:27 ntpdate[2554]: adjust time server 192.168.7.9 offset -0.001412 sec
            h.制定週期性時間同步計劃任務(第二、3臺-Linux02 、Linux03)
                ## 每10分鐘同步一次服務器時間
                */10 * * * * /usr/sbin/ntpdate hadoop.senior01
            d.若以上失敗則三臺所有執行如下命令(時間以當前時間爲準)
                # date -s "19:05:56 2017/2/16"
    4.配置SSH免祕鑰登錄
        A.檢查Linux上是否安裝openssh  (minimal安裝是沒有自帶的openssh服務的)
            rpm -qa | grep openssh
        B.安裝openssh
            #yum -y install openssh-clients
        C.生成祕鑰 (注意生成祕鑰的用戶)
            ssh-keygen
        D.將祕鑰發送給其餘服務器 (每臺服務器都要執行此操做已確保三臺服務器可以隨意切換)
            ssh-copy-id hadoop.two
        E.測試免祕鑰登錄是否成功 (互相登錄是否成功)
            ssh hadoop.one
        F.分發完成會在用戶主目錄下的.ssh目錄生成如下文件:
            authorized_keys  id_rsa  id_rsa.pub  known_hosts
            若是配置錯誤能夠先刪除.ssh目錄,從新作一遍
    
    5.安裝Hadoop
        A.從hadoop.apache.org 官網下載 hadoop 使用FileZilla上傳到服務器進行解壓
            $tar -zxf hadoop.tar.gz
        B.配置hadoop的java環境支持, ${HADOOP_HOME}/etc/hadoop目錄下
            hadoop-env.sh
            mapred-env.sh
            yarn-env.sh
            在這3個文件中都配置
            export JAVA_HOME=/opt/modules/jdk1.7.0_67

        C. 修改配置文件
            ====core-site.xml====
            <!--指定第一臺作namenode-->
            <property>
                 <name>fs.defaultFS</name>
                 <value>hdfs://hadoop.one:8020</value>
            </property>
    
            <property>
                <name>hadoop.tmp.dir</name>
                <value>/opt/modules/hadoop-2.5.0/data</value>
            </property>

            =========hdfs-site.xml=====
            <!-- 分佈式副本數設置爲3 -->
            <property>
                <name>dfs.replication</name>
                <value>3</value>
            </property>
            <!-- secondarynamenode主機名 -->
            <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>hadoop.two:50090</value>
            </property>
            <!-- namenode的web訪問主機名:端口號 -->
            <property>
                <name>dfs.namenode.http-address</name>
                <value>hadoop.one:50070</value>
            </property>
            <!-- 關閉權限檢查用戶或用戶組 -->
            <property>
                <name>dfs.permissions.enabled</name>
                <value>false</value>
            </property>

            ============yarn-site.xml=======
            <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>hadoop.three</value>
            </property>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
            <property>
                <name>yarn.log-aggregation-enable</name>
                <value>true</value>
            </property>
            <property>
                <name>yarn.log-aggregation.retain-seconds</name>
                <value>86400</value>
            </property>

            =========================mapred-site.xml============
            $ cp mapred-site.xml.template mapred-site.xml

            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
            <property>
                <name>mapreduce.jobhistory.address</name>
                <value>hadoop.senior01:10020</value>
            </property>
            <property>
                 <name>mapreduce.jobhistory.webapp.address</name>
                 <value>hadoop.senior01:19888</value>
            </property>
        D.將配置好的文件夾發送給其餘服務器
            scp /opt/modules/app/hadoop-2.5.0  hadoop.two:/opt/modules/app/   
        E.格式化namenode
            /opt/modules/app/hadoop/bin/hdfs namenode -format
        F.啓動服務
            在配置了namenode的服務器上啓動namenode服務
            /opt/modules/app/hadoop-2.5.0/sbin/start-dfs.sh
            在配置了ResourceManager的服務器上啓動ResourceManager
            /opt/modules/app/hadoop-2.5.0/sbin/start-yarn.sh
        

java

相關文章
相關標籤/搜索