CentOS7-Hadoop安裝

環(huán)境:CentOS7 64位 3臺(tái)
centos7-1 192.168.190.130 master
centos7-2 192.168.190.129 slave1
centos7-3 192.168.190.131 slave2

成都創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、青陽網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5響應(yīng)式網(wǎng)站、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為青陽等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

hadoop 下載地址:http://mirrors.hust.edu.cn/apache/hadoop/common/ 選則3.1.0版本

1.安裝三臺(tái)虛擬機(jī)(centos7),安裝jdk,實(shí)現(xiàn)節(jié)點(diǎn)間免密碼登陸。

 #安裝虛擬機(jī)不做說明,可查看相關(guān)文章資料。
 #安裝jdk,配置JAVA_HOME環(huán)境變量,不做說明,自行百度。
 #三個(gè)虛擬機(jī)都需要修改hostname,修改/etc/hosts
 #vim /etc/hostname              //分別寫成master,slave1,slave2,修改后需要重新啟動(dòng)reboot
 #vim /etc/hosts
 #192.168.190.130 master
 #192.168.190.129 slave1
 #192.168.190.131 slave2
 #給三臺(tái)機(jī)器設(shè)置面密碼ssh登陸
 #ssh-keygen  -t   rsa             //生成密鑰,三臺(tái)機(jī)器都需要執(zhí)行相同的命令

CentOS7-Hadoop安裝
#authorized_keys
#touch /root/.ssh/authorized_keys //master節(jié)點(diǎn)上
#cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
#把slave1、slave2上的id_rsa.pub都拷貝到master節(jié)點(diǎn)上,直接追加到authorized_keys
#scp -r /root/.ssh/id_rsa.pub root@masterIP:/root/.ssh/slave1.id_rsa.pub //slave1
#scp -r /root/.ssh/id_rsa.pub root@masterIP:/root/.ssh/slave2.id_rsa.pub //slave2
#cat /root/.ssh/slave1.id_rsa.pub >> /root/.ssh/authorized_keys //master
#cat /root/.ssh/slave2.id_rsa.pub >> /root/.ssh/authorized_keys //master
#authorized_keys內(nèi)容如下:
CentOS7-Hadoop安裝
#通過scp命令將master的authorized_keys拷貝到slave1\slave2的/root/.ssh/下
#scp -r /root/.ssh/authorized_keys root@Slave1IP:/root/.ssh/
#scp -r /root/.ssh/authorized_keys root@Slave2IP:/root/.ssh/

 #ssh 目標(biāo)域名                 //master、slave1、slave2,第一次需要確認(rèn)一下輸入yes,后面就不用了
 到此免密碼登陸已經(jīng)完成。    

2.載hadoop,解壓tar.gz文件

        #cd /usr
        #mkdir hadoop
        #cd hadoop
        #wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.1.0.tar.gz
        #tar  -zxvf hadoop-3.1.0.tar.gz

         解壓后,出現(xiàn)hadoop-3.1.0工作目錄,既可以使用。
         #cd /usr/hadoop/hadoop-3.1.0
         #mkdir tmp
         #./bin/hadoop -version   //檢驗(yàn)是否可以使用

2.設(shè)置環(huán)境變量,全局(/etc/profile)

    #vim /etc/profile
    設(shè)置HADOOP_HOME,并加到PATH路徑下
    HADOOP_HOME=/usr/hadoop/hadoop-3.1.0
    PATH=$PATH:$HADOOP_HOME/bin
    #source /etc/profile

3.配置hadoop

    #hadoop主要的文件,路徑hadoop-3.1.0/etc/hadoop/下
    hadoop-env.sh             //
    core-site.xml                // 
    hdfs-site.xml                //
    mapred-site.xml          //
    yarn-site.xml               //
    workers                      // 只要配置namenode節(jié)點(diǎn),用于發(fā)現(xiàn)slave節(jié)點(diǎn)

    a.hadoop-env.sh配置
    export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.171-0.b13.el7_3.x86_64

    b.core-site.xml配置
    <configuration>
        <property>
          <name>fs.default.name</name>  
                <value>hdfs://master:9000</value>
          <description>HDFS的URI,文件系統(tǒng)://namenode標(biāo)識(shí):端口號(hào)</description>   
         </property>     
         <property>      
             <name>hadoop.tmp.dir</name>
                 <value>/usr/hadoop/tmp</value> 
                 <description>namenode上本地的hadoop臨時(shí)文件夾</description> 
         </property> 
    </configuration>

   c.配置hdfs-site.xml
     <configuration>
         <property>
             <name>dfs.replication</name> 
             <value>1</value>  
             <description>副本個(gè)數(shù),配置默認(rèn)是3,應(yīng)小于datanode機(jī)器數(shù)量</description>  
        </property>  
   </configuration>

     d.配置mapred-site.xml
    <configuration>  
        <property>  
            <name>mapreduce.framework.name</nam
            <value>yarn</value> 
        </property>  
    </configuration>

    e.配置yarn-site.xml
     <configuration>  
             <property>  
                         <name>yarn.nodemanager.aux-services</name>  
                         <value>mapreduce_shuffle</value>  
             </property> 
             <property>
                         <name>yarn.nodemanager.aux-services</name>
                         <value>mapreduce_shuffle</value>
            </property>
    </configuration>

    f.配置workers(slaves)文件,這里特別注意一下版本不同可能沒有slaves文件,刪除localhost,一行一個(gè),填寫ip地址也可以(只在namenode節(jié)點(diǎn)配置)
    slave1   
    slave2

4.將/usr/hadoop復(fù)制到其他服務(wù)器
#scp -r /usr/hadoop root@目標(biāo)ip:/usr/hadoop

5.格式化namenode:
#CD /usr/hadoop/hadoop-3.1.0

./bin/hdfs namenode -format

成功的話,會(huì)看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若為 “Exitting with status 1” 則是出錯(cuò);備注:只需格式化namenode,datanode不需要格式化(若格式化了,可將/usr/hadoop/tmp目錄下文件都刪除),所以先將安裝文件夾復(fù)制到其他服務(wù)器,再格式化

6.啟動(dòng)hadoop
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-all.sh

8.檢查啟動(dòng)結(jié)果
#jps
CentOS7-Hadoop安裝

總結(jié):
a.訪問http://192.168.190.130:9000時(shí)發(fā)現(xiàn),端口拒絕訪問
    關(guān)閉防護(hù)墻,依然沒有用,查看端口占用情況(netstat -npl | grep 9000)發(fā)現(xiàn)沒有被占用,后來看到hadoop namenode -format消息發(fā)現(xiàn)定位到了127.0.0.1,無法遠(yuǎn)程訪問,通過修改hosts文件可以解決這個(gè)問題:
    #cd /etc/hosts               //三臺(tái)虛擬機(jī)都要修改
    #vim /etc/hosts             //將下面的寫在文件最前面
    #192.168.190.130 master
    #192.168.190.129 slave1
    #192.168.190.131 slave2
    重新格式化namenode節(jié)點(diǎn):
    #cd /usr/hadoop/hadoop-3.1.0/bin
    #./hadoop namenode -format

b.發(fā)現(xiàn)經(jīng)過a后,可以訪問9000端口,但是如下圖:

CentOS7-Hadoop安裝
但是訪問8088端口可以進(jìn)入,如下:
CentOS7-Hadoop安裝
發(fā)現(xiàn)只有一個(gè)節(jié)點(diǎn)啟動(dòng)了,所以現(xiàn)在的問題是:namenode啟動(dòng)起來了,但是slave1,slave2兩個(gè)datanode沒有啟動(dòng)起來,那么這個(gè)集群?jiǎn)?dòng)就失敗了,分別在兩臺(tái)datanode節(jié)點(diǎn)查看jps,發(fā)現(xiàn)確實(shí)沒有啟動(dòng),繼續(xù)找問題。
查看別人的安裝過程,發(fā)現(xiàn)有個(gè)叫做slaves的文件,作用于namenode節(jié)點(diǎn),用于發(fā)現(xiàn)slave節(jié)點(diǎn),在配置文件etc/hadoop中我找了半天沒有找到,我最后自己創(chuàng)建slaves文件,依然沒有用,然后看這路徑里的workers文件發(fā)現(xiàn)了些什么,于是就打開一看果然就是他,然后重新操作就可以了。
3.1.0版本的slaves文件換成了workers文件,需要特別注意。
CentOS7-Hadoop安裝
c.啟動(dòng)時(shí)可以直接把所有都啟動(dòng),命令如下:
#cd /usr/hadoop/hadoop-3.1.0
#sbin/start-all.sh
d.#sbin/start-dfs.sh執(zhí)行腳本報(bào)錯(cuò),如下:

ERROR: Attempting to launch hdfs namenode as root

ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
Starting datanodes
ERROR: Attempting to launch hdfs datanode as root
ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
Starting secondary namenodes [localhost.localdomain]
ERROR: Attempting to launch hdfs secondarynamenode as root
ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解決方法:
在start-dfs.sh 、stop-dfs.sh加如下配置
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
添加后可能還是會(huì)報(bào)如下警告:
WARNING: HADOOP_SECURE_DN_USER has been replaced by HDFS_DATANODE_SECURE_USER.
解決辦法:替換上述的解決方法
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

d.#sbin/start-yarn.sh執(zhí)行腳本報(bào)錯(cuò),如下:
Starting resourcemanager

ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解決辦法:start-yarn.sh、stop-yarn.sh添加如下配置
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

本文是查看了網(wǎng)絡(luò)博客與官方文檔,結(jié)合自己操作所記錄的所有過程,如果有不對(duì)或者錯(cuò)誤,請(qǐng)留言指正,如有侵權(quán),請(qǐng)聯(lián)系本人刪除。
參考博客:https://www.linuxidc.com/Linux/2018-02/150812.htm

網(wǎng)頁名稱:CentOS7-Hadoop安裝
鏈接地址:http://bm7419.com/article2/jdiooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)、、微信公眾號(hào)、自適應(yīng)網(wǎng)站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計(jì)