網絡上關於如何單機模式安裝Hadoop的文章很多,按照其步驟走下來多數都失敗,按照其操作彎路走過了不少但終究還是把問題都解決了,所以順便自己詳細記錄下完整的安裝過程。
此篇主要介紹在Ubuntu安裝完畢后,如何進行Hadoop的安裝和配置。
我所記錄的筆記適合沒有Linux基礎的朋友跟我一起操作,同時歡迎高手參觀指導。
環境約定
以下環境基於攥寫時間:5th July 2015。
宿主機器:Windows 8
虛擬機環境:WMware Wrokstation 11
Ubuntu版本:Ubuntu Desktop 14.04.2
物理環境:
筆記本Thinkpad T420 i5 CPU 4+4=8G內存, 500G硬盤。
其它:
JavaJDK版本:7
Hadoop版本:2.7.0
首先,登錄Ubuntu,進入到命令模式,可以通過兩個方法,就是點擊左上角的Search按鈕,輸入Ter然后在下面的結果界面就可以找到控制台Terminal。
另外一個方法就是通過快捷鍵Ctrl+Alt+T。
首先打開虛擬機的網絡連接。Ubuntu的配置過程中包括更新和軟件的安裝都要以來於互聯網環境。
回到控制台,輸入如下命令開始更新系統(需聯網)。sudo是經常會用到的,提示系統以最高權限運行,有些類似windows下的UAC。
sudo apt-get update
系統會提示輸入密碼,然后開始下載和安裝更新。
完成更新后,接下來在系統中首先創建名稱為hadoop的用戶名和組。
首先創建組:
sudo addgroup Hadoop
然后再創建用戶。
sudo adduser -ingroup hadoop Hadoop
輸入這個命令后系統會提示輸入密碼,然后關於Full Name等信息一路回車就可以。
最后輸入如下命令,使新建立的hadoop賬戶擁有最高的權限。
sudo gedit /etc/sudoers
系統會彈出Ubuntu Desktop的Gedit工具,這是一個可視化的文本編輯工具,跟windows下的記事本一樣。在Ubuntu Server下沒有圖形化界面,可以通過vim完成類似的編輯和配置工作。
在打開的配置文件中,在root下面加入下面一行。
hadoop ALL=(ALL:ALL) ALL
需要留意的是,如果手動敲入這行內容,hadoop后面跟的是/t,也就是鍵盤的Tab。如果這里輸入不對的話會導致Ubuntu系統出現很大的問題。
編輯完成后點擊Gedit上面的Save按鈕然后關閉這個工具(Ubuntu Desktop下關閉和最大化等按鈕是在每個窗體的左上方),回到控制台。
接下來配置ssh服務,使系統可以遠程登錄。
輸入如下命令安裝ssh。
sudo apt-get install openssh-server
然后通過如下命令開啟ssh服務。
sudo /etc/init.d/ssh start
最后通過如下命令,查看ssh服務是否啟動。
ps -e | grep ss
如圖看到sshd的話說明ssh啟動成功。
接下來配置ssh的免密碼登錄,確保其它節點可以不需要密碼就可以登錄到系統。(目前不太確定單擊模式中這一步是否必要,但為了后續搭建多節點環境所以先跟着配置。)
首先輸入如下命令生成公匙和私匙。
ssh-keygen -t rsa -P ""
然后通過如下命令把公匙的內容加入到authorized_keys中。
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
至此ssh的配置完成。
接下來安裝java的jdk,輸入如下命令開始安裝。安裝過程會略微長一些。
sudo apt-get install openjdk-7-jdk
安裝完畢后,可以通過如下命令確定Java的版本。
java –version
接下來下載Hadoop。
打開Ubuntu Desktop的Firefox,輸入以下網址:
找到頁面的Get started,點擊Download。
在下載頁中,找到2.7.0版本的二進制下載鏈接。
然后系統會導航到另外一個下載頁面,從眾多地址中選擇一個就可以了。
點擊一個鏈接之后開始下載。
點擊Save File之后,下載文件會默認存放在本地Ubuntu的Home/Wade/Downloads下,請留意Wade是我建立的用戶名。
回到控制台,敲入cd命令,會回到/home/wade目錄。所以直接敲入Downloads就可以進入到下載目錄。
進入到Downloads目錄后,輸入如下指令將hadoop文件解壓出來。
sudo tar xzf hadoop-2.7.0.tar.gz
然后使用下面的命令將解壓后的目錄移動到/usr/local/hadoop目錄。
sudo mv hadoop-2.7.0 /usr/local/hadoop
接下來給前面建立的hadoop用戶賦予相關的權限,否則hadoop用戶無法配置這個目錄下面的文件。
sudo chown -R hadoop:hadoop /usr/local/hadoop
接下來配置java home,首先通過如下命令確定java的安裝位置。
update-alternatives - -config java
其中/usr/lib/jvm/java-7-openjdk-amd64是我們需要的部分。
接下來把這個配置到bashrc中,輸入如下命令。
sudo gedit ~/.bashrc
系統會打開Gedit,然后把如下內容附加到文件的末尾。bashrc配置文件很重要,如果有差錯會導致系統很大的問題。如果你的版本和前面的操作跟我的都一樣的話,那么下面的配置內容是不需要更改的。
#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
配置之后的文件。點擊Save后關閉。
接下來通過如下命令使配置生效。
source ~/.bashrc
再輸入如下命令,配置hadoop的環境文件。
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
找到export JAVA段,配置成如下內容。
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
配置后的文件如下圖。
接下來通過如下命令讓配置生效。
source /usr/local/hadoop/etc/hadoop/hadoop-env.sh
至此hadoop的配置工作完成。
接下來測試一下hadoop的環境,我們將運行一個hadoop自帶的程序WordCount。
這個應用我們統計一下在hadoop目錄下README.txt文件各個英文單詞出現的次數。
首先使用以下命令定位到hadoop目錄。
cd /usr/local/Hadoop
在這個目錄下創建一個input文件夾。
sudo mkdir input
然后將README.txt文件夾復制到input文件夾下。
sudo cp README.txt input
然后運行如下命令開始統計。
sudo bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.0-sources.jar org.apache.hadoop.examples.WordCount input output
看到如下輸出說明執行成功了。
輸入如下命令查看統計結果。(cat命令是顯示文本內容的命令,如果編輯文件的話在ubuntu desktop下可以用gedit,server下可以用vim)
cat output/*
至此hadoop單擊模式搭建完畢。
參考博客:
http://www.cnblogs.com/maybe2030/p/4591195.html
http://www.cnblogs.com/kinglau/p/3794433.html
注:其中第一個地址的內容有些細節在我這里無法走通,所以我這里根據其要表達的意思做了相關的修正。