1.安裝前提條件 (1)首先安裝jdk,最好安裝1.7及1.7以上版本,而且安裝jdk的環境變量 vi ~/.bashrc export JAVA_HOME=/usr/local/software/jdk1.8.0_141 export PATH=$JAVA_HOME/bin:$PATH (2)檢查ssh和sshd是否安裝,若是沒有安裝, ubuntu下面安裝ssh和sshd: $ sudo apt-get install ssh $ sudo apt-get install rsync 若是你用的是redhat,fedora,centos等系列linux發行版,那麼使用命令,例如安裝sshd: sudo yum install sshd 檢查ssh和sshd是否安裝: sudo service sshd status 開啓ssh服務: sudo service sshd start 2.在hadoop的官網下載hadoop版本http://www-eu.apache.org/dist/hadoop/common/,選擇相應的版本進行下載,而後使用winscp工具上傳hadoop-2.9.1到linux上。 3.解壓hadoop tar -zxvf hadoop-2.9.1 4.配置hadoop的環境變量,方便輸入命令,vi ~/.bashrc export HADOOP_HOME=/usr/local/software/hadoop-2.9.1 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH 5.配置文件 (1)配置etc/hadoop/core-site.xml,hdfs的根路徑 <property> <name>fs.defaultFS</name> <value>hdfs://slave2:9000</value> </property> (2)配置etc/hadoop/hdfs-site.xml,hdfs的副本 <property> <name>dfs.replication</name> <value>1</value> </property> (3)配置etc/hadoop/slaves,hdfs的datanode節點,直接把localhost改成域名,我這裏是slave2 (4)配置免密碼登陸 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys (5)格式化namenode $ bin/hdfs namenode -format 只要看見打印的日誌裏面有一行:18/10/09 14:29:34 INFO common.Storage: Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted. 就表示namenode格式化成功了。 (6)啓動hdfs start-dfs.sh (6)啓動hdfs start-dfs.sh (7)jps看一下進程,若是顯示下面這樣的,表示hdfs啓動成功。 [root@slave2 hadoop-2.9.1]# jps 69617 Jps 69312 DataNode 69487 SecondaryNameNode 69198 NameNode (8)訪問http://192.168.2.130:50070,就能看到hadoop的界面 【僞分佈式模式下,配置yarn】 (1)配置etc/hadoop/mapred-site.xml 先複製一個cp mapred-site.xml.template mapred-site.xml,而後輸入下面的 <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> (2)配置etc/hadoop/yarn-site.xml <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> (3)啓動yarn start-yarn.sh (4)這個時候進程多了兩個,一個主節點ResourceManager,一個從節點NodeManager 69312 DataNode 69907 ResourceManager 70354 Jps 69487 SecondaryNameNode 70015 NodeManager 69198 NameNode (5)測試僞分佈式模式下的mapreduce,讓mapreduce計算test.txt裏面的每一個單詞出現的次數。 [root@slave2 input]# cat test.txt hadoop hdfs mapreduce nodemanager yarn hadoop hdfs nodemanager hadoop yarn hadoop 1. 在hdfs系統上面建立目錄input hdfs dfs -mkdir /input 2.上傳test.txt到hdfs hdfs dfs -put test.txt /input 3. 在hadoop的home目錄下輸入命令並回車,bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.1.jar wordcount /input /output 4.這個時候能夠看見hdfs系統上面生成了一個目錄output,查看output裏面的內容 [root@slave2 hadoop-2.9.1]# hdfs dfs -text /output/* hadoop 4 hdfs 2 mapreduce 1 nodemanager 2 yarn 2