Hadoop僞分佈搭建

1.安裝java

https://my.oschina.net/u/3132676/blog/804599html

2.下載hadoop壓縮包

http://hadoop.apache.org/#Download+Hadoopjava

我下的是2.7.3node

3.建立hadoop帳戶

sudo useradd hadoopweb

      設置密碼:apache

sudo passwd hadoop安全

      爲hadoop用戶添加管理員權限:服務器

      方法一:app

            sudo adduser hadoop sudossh

      方法二:webapp

            打開/etc/sudoers文件,在root用戶組中添加hadoop

            sudo nano /etc/sudoers

 

使用hadoop用戶登陸:

      su hadoop

(注意:如下步驟均需在hadoop用戶下完成!)

4.安裝ssh,配置ssh免密碼登陸

        

安裝ssh前,先更新一下apt:

sudo apt-get update

安裝ssh命令:

sudo apt-get install openssh-server

安裝後,啓動ssh登陸本機:

ssh localhost

        做爲一個安全通訊協議,使用ssh登陸時須要輸入密碼,而在hadoop集羣中,須要將ssh改爲無密碼登陸,hadoop節點間才能正常通訊。

退出ssh登陸:

exit

生成私鑰和公鑰:

cd ~/.ssh/

ssh-keygen -t rsa

將公鑰追加到authorized_keys文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

再次使用ssh localhost登陸本機,此時便不在須要輸入密碼了。

5.配置僞分佈環境

在安裝Hadoop時,修改hadoop-env.sh時要將
export JAVA_HOME=${JAVA_HOME}
修改成具體目錄export JAVA_HOME=/home/java_jre

      須要在/hadoop/etc/hadoop目錄下的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四個配置文件中添加配置,其中後兩個是用於配置YARN的。

能夠用Notepad++ 鏈接服務器修改配置文件

在core-site.xml中添加:
   

<property>  

    <name>hadoop.tmp.dir</name>  

    <value>file:/usr/local/hadoop/tmp</value>  

    <description>Abase for other temporarydirectories.</description>  

</property>  

<property>  

    <name>fs.defaultFS</name>  

    <value>hdfs://主機名:9000</value> 

</property>  

在hdfs-site.xml文件中添加:

<property>  

    <name>dfs.replication</name>  

    <value>1</value>  

</property>  

<property>  

    <name>dfs.namenode.name.dir</name>  

    <value>file://home/hadoop/dfs/name</value>  

</property>  

<property>  

    <name>dfs.datanode.data.dir</name>  

    <value>file://home/hadoop/dfs/data</value>  

</property>  

<property>  

    <name>dfs.namenode.secondary.http-address</name>  

    <value>Master:50090</value>  

</property>  

mapred-site.xml文件原先並不存在,需先將mapred-site.xml.template改名爲mapred-site.xml:

sudo mv mapred-site.xml.template mapred-site.xml

而後在mapred-site.xml文件中添加:

<property>  

    <name>mapreduce.framework.name</name>  

    <value>yarn</value>  

</property>  

<property>  

    <name>mapreduce.jobhistory.address</name>  

    <value>主機名:10020</value>  

</property>  

<property>  

    <name>mapreduce.jobhistory.webapp.address</name>  

    <value>主機名:19888</value>  

</property>  

 

在yarn-site.xml文件中添加:

<property>  

    <name>yarn.nodemanager.aux-services</name>  

    <value>mapreduce_shuffle</value>  

</property>  

<property>  

    <name>yarn.resourcemanager.hostname</name>  

    <value>主機名</value>  

</property>  

6.啓動hadoop的守護進程

啓動dfs:

start-dfs.sh

啓動後使用jps命令查看進程,將看到NameNode、DataNode、SecondaryNamenode三個進程。

啓動YARN:

start-yarn.sh

啓動後將增長ResourceManager、NodeManager兩個進程。

也可使用start-all.sh命令啓動所有進程(start-all.sh = start-dfs.sh + start-yarn.sh)

啓動JobHistoryServer:

mr-jobhistory-daemon.sh start historyserver

由於mapred-site.xml文件中配置了JobHistoryServer,因此必須啓動hadoop才能正常運行。

7.運行hadoop僞分佈實例 

在hdfs中建立輸入文件夾,並將文件拷貝到文件夾中:

./bin/hdfs dfs -mkdir input

./bin/hdfs dfs -put ./etc/hadoop/*.xml input

運行mapreduce做業:

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output

等待mapreduce做業運行結束,查看運行結果:

hdfs dfs -cat output/*

相關文章
相關標籤/搜索