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的使用。