二、在Ubuntu下創建hadoop用戶組和用戶
2、創建hadoop用戶
- sudo adduser –ingroup hadoop hadoop





- 由於下面使用的是hadoop2.7.3,所以此處至少安裝JDK1.7
- 記得先切換成hadoop用戶
在Ubuntu下安裝JDK圖文解析 : http://blog.csdn.net/chongxin1/article/details/68957808
四、修改機器名
1、打開/etc/hostname文件
- sudo su
- sudo gedit /etc/hostname

2、將/etc/hostname文件中的yangcx-virtual-machine改為你想取的機器名


- sudo gedit /etc/hosts


為了后面在windows系統中調用linux系統的hadoop服務,所以應該把127.0.0.1修改為實際IP地址,如:192.168.168.200
五、安裝ssh服務
此處采用在線安裝方法,所以首先要保證Ubuntu系統能夠上網。
VMware Ubuntu如何連接互聯網 : http://blog.csdn.net/chongxin1/article/details/68959150
1、更新源列表
- sudo apt-get update
2、安裝ssh
- sudo apt-get install openssh-server
3、查看ssh服務是否啟動
- sudo ps -e |grep ssh
六、建立ssh無密碼登錄本機
1、創建ssh-key,,這里我們采用rsa方式
- ssh-keygen -t rsa -P "" //(P是要大寫的,后面跟"")
2、進入~/.ssh/目錄下,將id_rsa.pub追加到authorized_keys授權文件中,開始是沒有authorized_keys文件的
- cd ~/.ssh
- cat id_rsa.pub >> authorized_keys
3、登錄localhost
- ssh localhost
- exit
七、下載hadoop
hadoop百度網盤下載地址:http://pan.baidu.com/s/1pKQsHJ1
官網下載地址:http://hadoop.apache.org/
下載步驟一:
找到"Getting Started" ----->"Download Hadoop from the release page"

下載步驟二:
找到"Download the release hadoop-X.Y.Z-src.tar.gz from a mirror site
下載步驟三:
下載步驟四:


八、安裝Hadoop
1、假設hadoop-2.7.3.tar.gz在桌面,將它復制到安裝目錄 /usr/local/下1
- sudo cp hadoop-2.7.3.tar.gz /usr/local
2、解壓hadoop-2.7.3.tar.gz
- cd /usr/local/
- sudo tar -zxf hadoop-2.7.3.tar.gz
3、將解壓出的文件夾改名為hadoop
- sudo mv hadoop-2.7.3 hadoop
4、將該hadoop文件夾的屬主用戶設為hadoop
- sudo chown -R hadoop:hadoop hadoop
5、打開hadoop/etc/hadoop/hadoop-env.sh文件
- cd hadoop/etc/hadoop
- sudo gedit hadoop-env.sh
6、配置hadoop/etc/hadoop/hadoop-env.sh(找到#export JAVA_HOME=...,去掉,然后加上本機jdk的路徑)
把 ${JAVA_HOME} 修改為本機JDK實際的路徑
7、打開hadoop/etc/hadoop/core-site.xml文件,編輯如下:
- sudo gedit core-site.xml
- <property>
- <name>fs.default.name</name>
- <value>hdfs://192.168.168.200:9000</value>
- </property>
192.168.168.200 : 本機IP地址,此處不用localhost,為了在windows能夠訪問
9000:默認端口
8、打開hadoop/etc/hadoop/mapred-site.xml文件,編輯如下:
- //復制並重命名
- cp mapred-site.xml.template mapred-site.xml
- //編輯器打開此新建文件
- sudo gedit mapred-site.xml
- <configuration>
- <property>
- <name>mapred.job.tracker</name>
- <value>localhost:9001</value>
- </property>
- </configuration>
9、打開hadoop/etc/hadoop/hdfs-site.xml文件,編輯如下:
- sudo gedit hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.name.dir</name>
- <value>/usr/local/hadoop/namenode</value>
- </property>
- <property>
- <name>dfs.data.dir</name>
- <value>/usr/local/hadoop/datanode</value>
- </property>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- </configuration>
九、在單機上運行hadoop
1、格式化hdfs文件系統
- cd /usr/local/hadoop
- bin/hadoop namenode -format


2、啟動hdfs
- cd /usr/local/hadoop
- ./sbin/start-dfs.sh
- jps

3、快捷啟動配置
- //配置hadoop環境變量
- sudo gedit /etc/profile
- export HADOOP_HOME=/usr/local/hadoop
- export PATH="$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH"
- export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
之后即可直接調用start-dfs.sh啟動hadoop,無需進入hadoop的安裝目錄。
4、停止hdfs
- ./sbin/stop-dfs.sh
十、測試hadoop是否安裝成功
1、測試用瀏覽器訪問: http://localhost:50070 或者 http://192.168.168.200:50070
2、上傳文件測試
- Hello World
- Hello Tom
- Hello Jack
- Hello Hadoop
- Bye hadoop
- bin/hadoop fs -put words.txt /




3、配置啟動YARN
①配置etc/hadoop/mapred-site.xml:
- mv mapred-site.xml.template mapred-site.xml

- <configuration>
- <!-- 通知框架MR使用YARN -->
- <property>
- <name>mapreduce.framework.name</name>
- <value>yarn</value>
- </property>
- </configuration>
②配置etc/hadoop/yarn-site.xml:
- <configuration>
- <!-- reducer取數據的方式是mapreduce_shuffle -->
- <property>
- <name>yarn.nodemanager.aux-services</name>
- <value>mapreduce_shuffle</value>
- </property>
- </configuration>
③YARN的啟動與停止
- //啟動
- ./sbin/start-yarn.sh


- 停止
- ./sbin/stop-yarn.sh
4、運行一個簡單的MP程序
- ./bin/hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar
- wordcount hdfs://localhost:9000/words.txt hdfs://localhost:9000/out


添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,沒有此參數重啟后失效)
重新載入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
刪除
firewall-cmd --zone=public --remove-port=80/tcp --permanent