Hadoop 安裝(mac 環境,僞分佈式)

Hadoop 可以部署成非分佈式模式運行的一個java進程(主要用於本地調試),也可以可以在單節點上以所謂的僞分佈式模式運,每一個Hadoop守護進程都作爲一個獨立的Java進程運行。下面主要說下Mac下面僞分佈式的安裝和啓動

一、安裝前準備。

   java環境配置
   jdk 安裝包下載,解壓和配置環境變量的配置。
   如果第一次配置環境變量,創建一個.bash_profile的隱藏配置文件。若配置文件.bash_profile已存在,則直接vi編輯,添加java  環境變量信息。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/:$PATH

   Hadoop安裝包下載,可以在Hadoop官網下載對應版本,解壓到對應文文件夾。配置Hadoop 環境變量:

export HADOOP_HOME=/Users/pengjian/hadoop-2.8.51
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

   Mac免密登陸設置(不然啓動需要輸密碼),需要設置ssh localhost 免密登陸。和雲服務設置類似。
   1、生成rsa或者dsa 公私鑰文件
          ssh-keygen -t rsa 
   2、將 id_rsa.pub 添加到 authorized_keys 中
         cat ~/.ssh/id_rsa.pub >> authorized_keys
         設 authorized_keys 權限  chmod 600 authorized_keys
   3、Mac 共享設置,進入“系統偏好設置”,找到“共享”,勾選“遠程登錄”。
         
 

  • Hadoop 相關文件配置({hadoop_home}/etc/hadoop下面)
    1、配置Hadoop的默認文件系統和指定namenode所在的機器,以及namenode存儲的目錄。
    修改core-site.xml
    <configuration>
         <property>
            <name>hadoop.tmp.dir</name>
            <value>/Users/pengjian/hadoop-2.8.5/hdp-data</value>
        </property>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://127.0.0.1:8000</value>
        </property>
    </configuration>

    2、數據塊副本系數,這裏設置成1(其他數字且沒對應的節點會報錯)。
          修改hdfs-site.xml
           
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>

    3、如不運行mapreduce 不需要啓動JobTracker 等,也就不需要配置mapred相關的文件。

二、格式化namenode和啓動

         1、格式化namenode,在啓動Hadoop前需要格式化Hadoop的文件系統HDFS。
               進入Hadoop文件夾,執行下面命令:bin/hadoop namenode -format

         2、啓動Hadoop,進入 hadoop 文件夾中 sbin文件夾 下 執行 start-all.sh。
         3、可以通過訪問 web 頁面查看正常,也可以通過Hadoop version
                hdfs 頁面:http://localhost:50070
                mapreuce 頁面:http://localhost:8088
                如果有問題也可以訪問日誌文件,Hadoop文件中有對應的log文件夾,有對應namenode datanode manage等。
       對於僞分佈式而言,是在同一個節點中同時啓動多個java進程,如datanode,namenode,manage等。如下:
        
     下一篇我們將介紹hdfs的使用。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章