linux hadoop安裝
本文介紹如何在Linux下安裝偽分散式的hadoop開發環境。
在一開始想利用cgywin在 windows下在哪, 但是一直卡在ssh的安裝上。所以最後換位虛擬機器+ubuntu安裝。
選擇的版本是hadoop 2.7.2 安裝步驟雖然簡單,但是中間遇到的小問題還是比較多的,總結下安裝hadoop主要分為3大部:
- 安裝ssh
- 安裝 jdk
- 安裝hadoop
安裝ssh
- sudo apt-get install ssh
- mkdir /home/user/.ssh
- cd /home/user/.ssh
- ssh-keygen 一路next
- cat id_dsa.pub >> authorized_keys 設定證照
- ssh localhost 測試
注意幾點:
- 安裝Ubuntu的時候不要開啟root 登陸
- 注意.ssh資料夾的許可權
不然localhost的時候報 permission denied
安裝java
- sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
- sudo apt-get install oracle-java8-installer
設定JAVA_HOME
- sudo vim /etc/profile
- 在profile檔案末尾加入:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar - 用echo ${JAVA_HOME}校驗環境變數是否正確
- java -version; javac -verison 校驗jdk是否安裝正確
安裝hadoop
下載好hadoop,解壓完畢。
在偽分散式下需要配置如下幾個檔案, 他們都在etc/hadoop下
mapred-site.xml.template
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/sld/app/hadoop-2.7.2/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/sld/app/hadoop-2.7.2/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/sld/app/hadoop-2.7.2/tmp/dfs/data</value>
</property>
</configuration>
hadoop-env.sh
export JAVA_HOME=“你的JDK安裝地址”
注意一點的是就是在環境變數中設定的了JDK的路徑這裡還要設定
注意另外一點: 輸出路徑最好設定到hadoop目錄下, 部分在格式化的時候沒法格式化到
啟動hadoop
在啟動Hadoop前,需格式化Hadoop的檔案系統HDFS(這點與Windows是一樣的,重新分割槽後的卷總是需要格式化的)。進入Hadoop資料夾,輸入下面的命令
bin/hadoop namenode -format
然後啟動
sbin/start-all.sh
也可以只啟動 hdfs
sbin/start-hdfs.sh
如果要關閉hadoop可以用
sbin/stop-hdfs.sh
驗證hadoop
利用jps命令檢視java的程式
SecondaryNameNode
DataNode
NameNode
NodeManager
ResourceMananger
如果缺失 DataNode或者 NameNode 說明 hdfs-site.xml 沒有配置好。重新配置+格式化+啟動
Hadoop 啟動以後會有兩個地址可以方位:
http://localhost:50030 (MapReduce的Web頁面)
http://localhost:50070 (HDFS的Web頁面)
然後
curl http://localhost::50070
也可以在虛擬機器外面方位:
http://192.168.20.129:50070