Hadoop的偽分散式的安裝及部署
阿新 • • 發佈:2018-11-10
文章目錄
做Hadoop的偽分散式我們分為一下幾個步驟
需要的軟體及原始碼包
- FileZilla ——(https://filezilla-project.org)
- SecureCRT ——(https://download.csdn.net/download/xujingran/10775969)
- jdk-7u80-linux-x64.gz ——(https://download.csdn.net/download/xujingran/10775975
- hadoop-2.6.0.tar.gz([http://archive.apache.org/dist/hadoop/core )
安裝JDK
- 下載完成JDK和Hadoop的原始碼包
- 利用FileZilla把檔案複製到/root資料夾下
- 配置JDK,在/usr下建立Java安裝資料夾
mkdir /usr/java
- 執行ls命令,檢視檔案是否存在,
- 解壓jdk-7u80-linux-x64.gz到本地的
/usr/java
tar -zxvf jdk-7u80-linux-x64.gz -C /usr/java
- 進入
cd /usr/java
和Windows裡安裝完JDK進行計算機—>屬性—>高階屬性—>環境變數的步驟一樣
1.vim /etc/profile
2.在unset -f pathmunge後面(也就是在最後一行後面)加入
export JAVA_HOME=/usr/java/jdk1.7.0_80(需要和上面安裝的版本相同)
export PATH=$PATH:$JAVA_HOME/bin
- 修改完成後不會立即生效,需要執行source命令來讓它生效。
source / etc/profile
- 輸入java會有回顯資訊,輸入
java- version
命令會有版本的顯示則表示JDK安裝成功 - 輸入jps會有jps的顯示,若沒有則需要配置並安裝yum源,配置方法檢視https://blog.csdn.net/xujingran/article/details/83905273
- 配置完yum源執行
yum grep|list openjdk
來查詢java包,找到後執行yum install java-1.7.0-openjdk-devel.x86_64
來安裝java包
Hadoop的部署安裝
- 進入/root,執行ls檢視是否有hadoop的檔案
- 執行
tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local
(將hadoop-2.6.0.tar.gz解壓到/usr/local) - 執行ls檢視是否有這個檔案,並執行
mv hadoop-2.6.0/ hadoop
(注意空格 將名字改為hadoop) - 進入
cd /usr/local/hadoop/
,輸入vim ~/.bashrc
(編輯~/.bashrc檔案) - 配置hadoop的環境變數
與前面配置的JDK的環境變數不同
在alias rm=”rm -i”前面加入需要的變數資訊
export JAVA_HOME=/usr
export PATH=/usr/local/hadoop/bin/:/usr/local/hadoop/sbin/:$PATH
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
- 修改完成後不會立即生效,需要執行source命令來讓它生效。
source ~/.bashrc
- (1)輸入
echo $JAVA_HOME
來檢驗變數值,
(2)輸入java -version
檢視java是否配置成功
(3)輸入hadoop version
檢視hadoop是否可用,不可用需要檢查配置檔案是否正確
Hadoop的配置
我們做的都是在一臺虛擬機器裡做的實驗,所以我們是做的偽分散式的實驗,偽分散式的實驗是需要修改兩個檔案,core-site.xml和hdfs-site.xml,這兩個檔案都是位於/usr/local/hadoop/etc/hadoop
資料夾下
- (1)修改core-site.xml檔案
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(2)修改hdfs-site.xml檔案
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
- 將NameNode格式化,執行
hdfs namenode -format
命令
如果顯示successfully formatted
或者Exitting with status 0
則顯示配置成功,如果顯示Exitting with status 1
則配置失敗(不同版本的hadoop顯示會有不同,請大家注意一下) - 接下來要開啟NameNode程序和DataNode程序,命令為:start-dfs.sh(此時需要輸入三次密碼)。
- 輸入jps命令,如果有jps,SecondaryNameNode,NameNode,DataNode則說明配置成功。
若沒有SecondaryNameNode,需要stop-dfs.sh
關閉程序重新開啟,
如果沒有NameNode,DataNode,則需要檢查前面的檔案是否有配置錯誤 - 成功啟動後在瀏覽器的web介面輸入http://localhost:50070,此時會彈出分散式檔案系統的提示介面。
Hadoop的使用
- 在命令列輸入
hdfs dfs –mkdir –p /usr/hadoop
建立目錄,執行完成後去web頁面的utilities頁面去驗證是否成功 - 輸入
./bin/hdfs dfs –mkdir –p input./bin/hdfs dfs –mkdir –p input
./bin/hdfs dfs –put /etc/hadoop/*.xml input
將hadoop資料夾下的所有.xml檔案上傳到分散式檔案系統,進入web頁面的utilities頁面去驗證是否成功
- 輸入
mkdir ./output
./bin/hdfs dfs –get hdfs-site.xml ./output
cat ./output/ hdfs-site.xml
在分散式檔案系統中下載hdfs-site.xml 到output資料夾)進入output資料夾下執行ls檢視是否成功。
- 實驗結束。