https://my.oschina.net/u/3132676/blog/804599html
http://hadoop.apache.org/#Download+Hadoopjava
我下的是2.7.3node
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用戶下完成!)
安裝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登陸本機,此時便不在須要輸入密碼了。
在安裝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>
啓動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:
由於mapred-site.xml文件中配置了JobHistoryServer,因此必須啓動hadoop才能正常運行。mr-jobhistory-daemon.sh start historyserver
在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/*