Hadoop學習記錄-01安裝Hadoop0.20.2
安裝jdk
如圖jdk路徑
配置環境變數
編輯/etc/profile檔案,在結尾加上如下程式碼
# jdk
export JAVA_HOME=/usr/local/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
重新整理環境變數
source /etc/profile
測試-檢視版本
java version
安裝Hadoop
如圖hadoop路徑
配置環境變數
編輯/etc/profile檔案,在結尾加上如下程式碼
#hadoop
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
重新整理環境變數
source /etc/profile
測試-檢視版本
[root@localhost etc]# hadoop version
輸出內容
Hadoop 0.20.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
配置檔案
Hadoop的各個元件都可用用xml檔案進行配置。core-site.xml檔案用於配置通用屬性,hdfs-site.xml檔案用於配置hdfs屬性,mapred-site.xml檔案用於配置Mapreduce屬性。這些配置檔案都在conf目錄中(在早期的版本中是通過hadoop-site.xml檔案來進行配置上面三個配置檔案的內容,後面的版本把這個檔案拆開了,拆成了上面三個檔案來分別進行配置)
在docs目錄中分別有core-defualt.html,hdfs-defualt.html和mapred.default.html三個html檔案,分別描述了上面三個部分的配置說明。
執行模式
Hadoop有三種執行模式,分別是獨立模式,偽分佈模式,全分佈模式。
不同的模式有不同的配置屬性。如圖common表示在core-site.xml檔案中配置的屬性和值,hdfs表示在hdfs-site.xml檔案中配置的屬性和值,mapred表示在mapred-site.xml中配置的屬性和值
獨立模式
預設的配置就是獨立模式,所以不需要修改任何配置直接可以使用獨立模式。
使用Hadoop自帶的wordcount例項統計一批文字檔案中各單詞出現的次數。
1 在Hadoop目錄下建立資料夾input,並且新建兩個檔案test1.txt和test2.txt。
[root@localhost hadoop]# mkdir input
[root@localhost hadoop]# cd input
[root@localhost input]# echo "hello world">test1.txt
[root@localhost input]# echo "hello hadoop">test2.txt
2 將hadoop目錄下的input資料夾上傳到HDFS上並重命名為in:
[root@localhost hadoop]# bin/hadoop dfs -put input in
3 通過Hadoop執行hadoop-0.20.2-examples.jar 這個jar包,傳入三個引數wordcount(單詞統計),in(輸入資料夾),out輸出資料夾
[root@localhost hadoop]# bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out
4 檢視單詞統計結果
[root@localhost hadoop]# bin/hadoop dfs -cat out/*
hadoop 1
hello 2
world 1
5 從Hadoop分散式檔案系統複製結果到本地檔案系統,並顯示內容
[root@localhost hadoop]# cat output/*
hadoop 1
hello 2
world 1
偽分散式模式
- 免密碼SSH設定
基於一個空口令建立新的SSH金鑰,實現無密碼登入
[root@localhost hadoop]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@localhost hadoop]# cat ~/.ssh//id_rsa.pub >> ~/.ssh/authorized_keys
- 配置檔案編輯
編輯core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/no1/hadoop-0.20.2/tmp/</value>
</property>
</configuration>
編輯replication檔案
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
編輯mapred-site.xml檔案
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
- 格式化Hadoop
[root@localhost hadoop]# bin/hadoop namenode -format
- 啟動(如果出現錯誤會在日誌檔案中,日誌檔案預設在Hadooplogs資料夾)
[root@localhost hadoop]# bin/start-all.sh
- 其他機器訪問
http://192.168.7.151:50070/
這裡192.168.7.151是Hadoop機器 50070埠 可以檢視 日誌 如下圖:
訪問結果
- 停止
[root@localhost hadoop]# bin/stop-all.sh