1、引言html
在完成了Storm的環境配置以後,想着鼓搗一下Hadoop的安裝,網上面的教程好多,可是沒有一個特別切合的,因此在安裝的過程當中仍是遇到了不少的麻煩,而且最後不斷的查閱資料,終於解決了問題,感受仍是很好的,下面廢話很少說,開始進入正題。java
本機器的配置環境以下:node
Hadoop(2.7.1)linux
Ubuntu Linux(64位系統)shell
下面分爲幾個步驟來詳解配置過程。apache
2、安裝ssh服務瀏覽器
進入shell命令,輸入以下命令,查看是否已經安裝好ssh服務,若沒有,則使用以下命令進行安裝:ssh
sudo apt-get install ssh openssh-serveroop
安裝過程仍是比較輕鬆加愉快的。spa
3、使用ssh進行無密碼驗證登陸
1.建立ssh-key,這裏咱們採用rsa方式,使用以下命令:
ssh-keygen -t rsa -P ""
2.出現一個圖形,出現的圖形就是密碼,不用管它
cat ~/.ssh/id_rsa.pub >> authorized_keys(好像是能夠省略的)
3.而後便可無密碼驗證登陸了,以下:
ssh localhost
成功截圖以下:
4、下載Hadoop安裝包
下載Hadoop安裝也有兩種方式
1.直接上官網進行下載,http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz
2.使用shell進行下載,命令以下:
wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz
貌似第二種的方法要快點,通過漫長的等待,終於下載完成。
5、解壓縮Hadoop安裝包
使用以下命令解壓縮Hadoop安裝包
tar -zxvf hadoop-2.7.1.tar.gz
解壓縮完成後出現hadoop2.7.1的文件夾
6、配置Hadoop中相應的文件
須要配置的文件以下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,全部的文件均位於hadoop2.7.1/etc/hadoop下面,具體須要的配置以下:
1.core-site.xml 配置以下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/leesf/program/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
其中的hadoop.tmp.dir的路徑能夠根據本身的習慣進行設置。
2.mapred-site.xml.template配置以下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
3.hdfs-site.xml配置以下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
</property>
</configuration>
其中dfs.namenode.name.dir和dfs.datanode.data.dir的路徑能夠自由設置,最好在hadoop.tmp.dir的目錄下面。
補充,若是運行Hadoop的時候發現找不到jdk,能夠直接將jdk的路徑放置在hadoop.env.sh裏面,具體以下:
export JAVA_HOME="/home/leesf/program/java/jdk1.8.0_60"
7、運行Hadoop
在配置完成後,運行hadoop。
1.初始化HDFS系統
在hadop2.7.1目錄下使用以下命令:
bin/hdfs namenode -format
截圖以下:
過程須要進行ssh驗證,以前已經登陸了,因此初始化過程之間鍵入y便可。
成功的截圖以下:
表示已經初始化完成。
2.開啓NameNode
和DataNode
守護進程
使用以下命令開啓:
sbin/start-dfs.sh,成功的截圖以下:
3.查看進程信息
使用以下命令查看進程信息
jps,截圖以下:
表示數據DataNode和NameNode都已經開啓
4.查看Web UI
在瀏覽器中輸入http://localhost:50070,便可查看相關信息,截圖以下:
至此,hadoop的環境就已經搭建好了。下面開始使用hadoop來運行一個WordCount例子。
8、運行WordCount Demo
1.在本地新建一個文件,筆者在home/leesf目錄下新建了一個words文檔,裏面的內容能夠隨便填寫。
2.在HDFS中新建一個文件夾,用於上傳本地的words文檔,在hadoop2.7.1目錄下輸入以下命令:
bin/hdfs dfs -mkdir /test,表示在hdfs的根目錄下創建了一個test目錄
使用以下命令能夠查看HDFS根目錄下的目錄結構
bin/hdfs dfs -ls /
具體截圖以下:
表示在HDFS的根目錄下已經創建了一個test目錄
3.將本地words文檔上傳到test目錄中
使用以下命令進行上傳操做:
bin/hdfs dfs -put /home/leesf/words /test/
使用以下命令進行查看
bin/hdfs dfs -ls /test/
結果截圖以下:
表示已經將本地的words文檔上傳到了test目錄下了。
4.運行wordcount
使用以下命令運行wordcount:
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out
截圖以下:
運行完成後,在/test目錄下生成名爲out的文件,使用以下命令查看/test目錄下的文件
bin/hdfs dfs -ls /test
截圖以下:
表示在test目錄下已經有了一個名爲Out的文件目錄
輸入以下命令查看out目錄下的文件:
bin/hdfs dfs -ls /test/out,結果截圖以下:
表示已經成功運行了,結果保存在part-r-00000中。
5.查看運行結果
使用以下命令查看運行結果:
bin/hadoop fs -cat /test/out/part-r-00000
結果截圖以下:
至此,運行過程就已經完成了。
9、總結
在這次的hadoop配置過程遇到了不少問題,hadoop1.x和2.x的命令仍是差異很大的,配置過程當中仍是一一的解決了問題,配置成功了,收穫也不少,特此把此次配置的經驗分享出來,也方便想要配置hadoop環境的各位園友,在配置的過程當中有任何問題都歡迎討論,謝謝各位園友的觀看~
參考連接以下: