與安裝Apache Hadoop2.6單機版類似,搭建虛擬機環境就不介紹了,直接介紹下載和安裝CDH Hadoop2.6單機版,此處我安裝的是hadoop-2.6.0-cdh5.10.0版本。
CDH Hadoop下載鏈接為:http://archive.cloudera.com/cdh5/cdh/5/。
為什么安裝Cloudera公司發布的hadoop版本?因為該版本被大多數公司用于實際生產,并且不用考慮其他軟件(如Hbase,Flume,Hive等)的版本兼容問題。
下面直接從安裝java開始,具體的虛擬機相關設置、WinSCP安裝、hadoop用戶的創建可以參考鏈接地址的1和2兩部分內容:http://www.lxweimin.com/p/d5b0fb2f1d6d。
1 安裝、配置oracle-java
1.1 安裝oracle-java
Hadoop官方推薦安裝Oracle公司的jdk,下載鏈接為:http://www.oracle.com/technetwork/java/javase/downloads/index.html。
注意:上述鏈接的jdk會更新,我打開的時候顯示的是jdk 8u144。如果你打開的時候,發現版本不是jdk 8u144,不用擔心,直接下載最新版的jdk即可,后續安裝步驟不變。
點擊Accept License Agreement之后,下載jdk-8u144-linux-x64.tar.gz。
使用WinSCP將下載好的jdk-8u144-linux-x64.tar.gz拖拽到虛擬機上。
打開虛擬機對應的文件位置,快捷鍵Ctrl+Alt+T,打開終端,輸入解壓命令:
sudo tar zxvf jdk-8u144-linux-x64.tar.gz
可使用tab鍵進行快速提示補全,比如上述解壓命令,輸到jdk的時候,按tab鍵,就會自動變成jdk-8u144-linux-x64.tar.gz。
解壓之后,更改jdk1.8.0_144文件夾權限(hadoop為用戶名):
sudo chown -R hadoop jdk1.8.0_144
將jdk1.8.0_144文件夾移動到/usr/local目錄下(此步驟的目錄自己可以隨意指定,符合自己的習慣即可):
sudo mv jdk1.8.0_144/ /usr/local
切換到/usr/local目錄下,確實可以發現已存在了jdk1.8.0_144文件夾。
1.2 配置java環境
1.編輯profile
sudo vim /etc/profile
根據提示,輸入密碼即可。
2.在彈出的窗口中,按字母鍵i,即可進入插入編輯狀態。
輸入以下內容:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
3.輸入完成后,按esc鍵,然后輸入:wq退出編輯狀態。
4.使配置的環境生效:
source /etc/profile
輸入java -version
,即可看見java的版本了。
注意:如果profile無法保存,可使用root權限。輸入sudo su,然后輸入登錄密碼,則進入root權限,然后再按照1-3重新操作,完成后,輸入exit,退出root權限即可。
2 安裝CDH Hadoop2.6單機版
1.使用WinSCP上傳CDH Hadoop
直接使用WinSCP將下載好的hadoop-2.6.0-cdh5.10.0.tar.gz拖拽到虛擬機的home目錄。
2.打開虛擬機的home主文件目錄,快捷鍵Ctrl+Alt+T,打開終端,解壓hadoop-2.6.0-cdh5.10.0.tar.gz。
輸入
sudo tar zxvf hadoop-2.6.0-cdh5.10.0.tar.gz
然后輸入登錄密碼,再按回車鍵即可。
3.解壓完成,修改文件權限并將hadoop-2.6.0-cdh5.10.0文件夾移動到/usr/local目錄下。
sudo chown -R hadoop hadoop-2.6.0-cdh5.10.0/
sudo mv hadoop-2.6.0-cdh5.10.0 /usr/local
4.配置HADOOP_HOME。
sudo vim /etc/profile
插入以下內容:
export HADOOP_HOME=/usr/local/hadoop-2.6.0-cdh5.10.0
export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
5.保存后退出,使profile配置生效。
輸入source /etc/profile,再切換到/usr/local/hadoop-2.6.0-cdh5.10.0目錄下。輸入./bin/hadoop version,顯示輸出的hadoop版本為Hadoop 2.6.0-cdh5.10.0。
source /etc/profile
cd /usr/local/hadoop-2.6.0-cdh5.10.0/
./bin/hadoop version
3 設置ssh無密碼登錄
由于安裝單機,可以不配置ssh無密碼登錄,但是安裝偽分布式和完全分布式都要使用ssh無密碼登錄,所以在此處安裝ssh,演示一下。
集群、單節點模式都需要用到SSH登陸(類似于遠程登陸,你可以登錄某臺Linux主機,并且在上面運行命令),Ubuntu默認已安裝了SSH client,此外還需要安裝SSH server。
1.安裝openssh-server
sudo apt-get install openssh-server
2.輸入ssh localhost
,此時會有如下提示(SSH首次登陸提示),輸入yes。然后按提示輸入密碼,這樣就登陸到本機了。退出剛才的ssh,就回到了原先的窗口。
3.切換到ssh目錄下,生成秘鑰,加入到授權。
cd ~/.ssh/
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
“~”代表的是用戶所在目錄,比如我當前的登錄用戶為hadoop,則“~”指的就是/home/hadoop。
輸入ssh-keygen -t rsa
后,直接忽略提示,一直按Enter鍵即可。
然后直接輸入ssh localhost,就可使用無密碼登錄到本機了。
4 運行單機hadoop實例
1.切換到/usr/local/hadoop-2.6.0-cdh5.10.0
2.生成input文件夾,mkdir ./input
3.將/usr/local/hadoop-2.6.0-cdh5.10.0/etc/hadoop/*.xml的配置文件復制到剛創建的input文件夾下。
4.運行./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples--2.6.0-cdh5.10.0.jar grep ./input ./output 'dfs[a-z.]+'
cd /usr/local/hadoop-2.6.0-cdh5.10.0/
mkdir ./input
cp ./etc/hadoop/*.xml ./input
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.10.0.jar grep ./input ./output 'dfs[a-z.]+'
5.打印輸出結果cat ./output/*
,輸出結果為1 dfsadmin。
6.運行結束后,刪除創建的input、output文件。
sudo rm -rf ./input/
sudo rm -rf ./output/
如果您發現文中有不清楚或者有問題的地方,請在下方評論區留言,我會根據您的評論,更新文中相關內容,謝謝!