Hadoop偽分布安裝步驟
安裝的是2.8.5release版本,略微涉及到了原理欲诺,不適合完全Linux小白抄谐。
(假設(shè)已經(jīng)安裝了Java環(huán)境,否則的話先安裝Java扰法,且已經(jīng)配置了SSH免密蛹含,如果沒做的話可以搜一下別的教程)
在命令行中進入Downloads目錄,再用 wget 下載hadoop-2.8.5.tar.gz
cd ~/Downloads
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
此命令從華科的鏡像下載2.8.5的Hadoop塞颁,并放在了Downloads目錄下浦箱。
然后把.tar.gz文件解壓到某個目錄下,這里解壓到/usr下祠锣,并改文件夾名為hadoop酷窥,用chmod
修改一下權(quán)限,為了方便我們直接777了伴网,使得讀寫和運行不再需要管理員權(quán)限蓬推。
cd ~/Downloads
sudo tar -zxf hadoop-2.8.5.tar.gz -C /usr
cd /usr
sudo mv hadoop-2.8.5 hadoop
chmod 777 /usr/hadoop
配置hadoop
需要配置的文件有5個,hadoop-env.sh
澡腾,core-site.xml
沸伏,mapred-site.xml
糕珊,hdfs-site.xml
和yarn-site.xml
按照前面的配置,這些的文件位置在/usr/hadoop/etc/hadoop下
編輯hadoop-env.sh
cd /usr/hadoop/etc/hadoop
sudo vim hadoop-env.sh
把Java_HOME的位置改成自己本機上Java的位置
export JAVA_HOME=/usr/lib/jvm/java
編輯core-site.xml
sudo vim core-site.xml
把
<configuration>
</configuration>
替換成
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hdfs/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
注: fs.default.name
保存了NameNode的位置毅糟,HDFS和MapReduce組件都需要用到它红选,這就是它出現(xiàn)在core-site.xml
文件中而不是 hdfs-site.xml
文件中的原因
編輯mapred-site.xml, 設(shè)置MapReduce使用的框架
也可能名字為mapred-site.xml.templete
, 改不改名字都可以。
sudo vim mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
變量mapred.job.tracker
保存了JobTracker的位置姆另,因為只有MapReduce組件需要知道這個位置喇肋,所以它出現(xiàn)在mapred-site.xml
文件中。
編輯hdfs-site.xml
sudo vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
變量dfs.replication
指定了每個HDFS數(shù)據(jù)庫的復(fù)制次數(shù)迹辐。 通常為3,由于我們只有一臺主機和一個偽分布式模式的DataNode苟蹈,將此值修改為1。
編輯yarn-site.xml
sudo vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
啟動Hadoop之前要格式化
首先要格式化HDFS
hadoop namenode -format
再啟動Hadoop
cd /usr/hadoop/sbin
sbin/start-dfs.sh
sbin/start-yarn.sh
如果上面的命令權(quán)限不夠可能是之前沒有chmod
chmod 777 /usr/hadoop
cd /usr/hadoop/sbin
sbin/start-dfs.sh
sbin/start-yarn.sh
為了啟動Hadoop的時候避免每次都首先進到安裝目錄右核,然后再執(zhí)行sbin/start-dfs.sh
和 sbin/start-yarn.sh
這么麻煩,所以在編輯 ~/.bashrc
或~/.zshrc
文件,加上如下幾行
export HADOOP_HOME=/usr/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
alias hadoop_start="/usr/hadoop/sbin/start-dfs.sh;/usr/hadoop/sbin/start-yarn.sh"
alias hadoop_stop="/usr/hadoop/sbin/stop-yarn.sh;/usr/hadoop/sbin/stop-dfs.sh"
?
alias hadoop_start="/usr/hadoop/sbin/start-dfs.sh;/usr/hadoop/sbin/start-yarn.sh"
alias hadoop_stop="/usr/hadoop/sbin/stop-yarn.sh;/usr/hadoop/sbin/stop-dfs.sh"
然后執(zhí)行 source ~/.bashrc
或source ~/.zshrc
更新渺绒。 這樣就可以用 hadoop_start
和 hadoop_stop
這兩個命令來啟動Hadoop了贺喝。
可以用jps
指令查看運行的Java進程
,結(jié)果應(yīng)當(dāng)如下: