1. 程式人生 > >搭建 Hadoop 偽分散式環境

搭建 Hadoop 偽分散式環境

軟硬體環境
CentOS 7.2 64 位
OpenJDK- 1.8
Hadoop- 2.7

關於本教程的說明
雲實驗室雲主機自動使用 root 賬戶登入系統,因此本教程中所有的操作都是以 root 使用者來執行的。若要在自己的雲主機上進行本教程的實驗,為了系統安全,建議新建一個賬戶登入後再進行後續操作。

安裝SSH
安裝SSH:

sudo yum install openssh-clients openssh-server

安裝完成後,可以使用下面命令進行測試:

ssh localhost

輸入 root 賬戶的密碼,如果可以正常登入,則說明SSH安裝沒有問題。測試正常後使用 exit 命令退出ssh。

安裝 JAVA 環境
安裝 JDK
使用 yum 來安裝1.7版本 OpenJDK:

sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel

安裝完成後,輸入 java 和 javac 命令,如果能輸出對應的命令幫助,則表明jdk已正確安裝。

配置 JAVA 環境變數
執行命令:
編輯 ~/.bashrc,在結尾追加:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk

儲存檔案後執行下面命令使 JAVA_HOME 環境變數生效:

source ~/.bashrc

為了檢測系統中 JAVA 環境是否已經正確配置並生效,可以分別執行下面命令:

java -version
$JAVA_HOME/bin/java -version

若兩條命令輸出的結果一致,且都為我們前面安裝的 openjdk-1.8.0 的版本,則表明 JDK 環境已經正確安裝並配置。

下載 Hadoop
本教程使用 hadoop-2.7 版本,使用 wget 工具線上下載(注:本教程是從清華大學的映象源下載,如果下載失敗或報錯,可以自己在網上找到國內其他一個映象源下載 2.7 版本的 hadoop 即可):

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7
.4.tar.gz

安裝 Hadoop
將 Hadoop 安裝到 /usr/local 目錄下:

tar -zxf hadoop-2.7.4.tar.gz -C /usr/local

對安裝的目錄進行重新命名,便於後續操作方便:

cd /usr/local
mv ./hadoop-2.7.4/ ./hadoop

檢查Hadoop是否已經正確安裝:

/usr/local/hadoop/bin/hadoop version

如果成功輸出hadoop的版本資訊,表明hadoop已經成功安裝。

Hadoop 偽分散式環境配置
Hadoop偽分散式模式使用多個守護執行緒模擬分佈的偽分佈執行模式。
設定 Hadoop 的環境變數
編輯 ~/.bashrc,在結尾追加如下內容:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

使Hadoop環境變數配置生效:

source ~/.bashrc

修改 Hadoop 的配置檔案
Hadoop的配置檔案位於安裝目錄的 /etc/hadoop 目錄下,在本教程中即位於 /url/local/hadoop/etc/hadoop 目錄下,需要修改的配置檔案為如下兩個:

/usr/local/hadoop/etc/hadoop/core-site.xml
/usr/local/hadoop/etc/hadoop/hdfs-site.xml

編輯 core-site.xml,修改節點的內容為如下所示:
core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>location to store temporary files</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

同理,編輯 hdfs-site.xml,修改節點的內容為如下所示:
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
格式化NameNode:

/usr/local/hadoop/bin/hdfs namenode -format

在輸出資訊中看到如下資訊,則表示格式化成功:

Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted.
Exiting with status 0

啟動 NameNode 和 DataNode 守護程序
啟動 NameNode 和 DataNode 程序:

/usr/local/hadoop/sbin/start-dfs.sh

執行過程中會提示輸入使用者密碼,輸入 root 使用者密碼即可。另外,啟動時ssh會顯示警告提示是否繼續連線,輸入 yes 即可。
檢查 NameNode 和 DataNode 是否正常啟動:
jps
如果NameNode和DataNode已經正常啟動,會顯示NameNode、DataNode和SecondaryNameNode的程序資訊:

[hadoop@VM_80_152_centos ~]$ jps
3689 SecondaryNameNode
3520 DataNode
3800 Jps
3393 NameNode

執行 Hadoop 偽分散式例項
Hadoop自帶了豐富的例子,包括 wordcount、grep、sort 等。下面我們將以grep例子為教程,輸入一批檔案,從中篩選出符合正則表示式 dfs[a-z.]+ 的單詞並統計出現的次數。
檢視 Hadoop 自帶的例子
Hadoop 附帶了豐富的例子, 執行下面命令可以檢視:

cd /usr/local/hadoop
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar

在 HDFS 中建立使用者目錄
在 HDFS 中建立使用者目錄 hadoop:

/usr/local/hadoop/bin/hdfs dfs -mkdir -p /user/hadoop

準備實驗資料
本教程中,我們將以 Hadoop 所有的 xml 配置檔案作為輸入資料來完成實驗。執行下面命令在 HDFS 中新建一個 input 資料夾並將 hadoop 配置檔案上傳到該資料夾下:

cd /usr/local/hadoop
./bin/hdfs dfs -mkdir /user/hadoop/input
./bin/hdfs dfs -put ./etc/hadoop/*.xml /user/hadoop/input

使用下面命令可以檢視剛剛上傳到 HDFS 的檔案:

/usr/local/hadoop/bin/hdfs dfs -ls /user/hadoop/input

執行實驗
執行實驗:

cd /usr/local/hadoop
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.4.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'

上述命令以 HDFS 檔案系統中的 input 為輸入資料來執行 Hadoop 自帶的 grep 程式,提取其中符合正則表示式 dfs[a-z.]+ 的資料並進行次數統計,將結果輸出到 HDFS 檔案系統的 output 資料夾下。

檢視執行結果
上述例子完成後的結果儲存在 HDFS 中,通過下面命令檢視/usr/local/hadoop/bin/hdfs dfs -cat /user/hadoop/output/*行成功,可以看到如下結果:

1       dfsadmin
1       dfs.replication
1       dfs.namenode.name.dir
1       dfs.datanode.data.dir

刪除 HDFS 上的輸出結果
刪除 HDFS 中的結果目錄:

/usr/local/hadoop/bin/hdfs dfs -rm -r /user/hadoop/output

執行 Hadoop 程式時,為了防止覆蓋結果,程式指定的輸出目錄不能存在,否則會提示錯誤,因此在下次執行前需要先刪除輸出目錄。

關閉 Hadoop 程序
關閉 Hadoop 程序:

/usr/local/hadoop/sbin/stop-dfs.sh

再起啟動只需要執行下面命令:

/usr/local/hadoop/sbin/start-dfs.sh

部署完成!

相關推薦

搭建Hadoop分散式環境(筆記)

軟硬體環境 CentOS 7.2 64 位 OpenJDK- 1.8 Hadoop- 2.7 關於本教程的說明 雲實驗室雲主機自動使用 root 賬戶登入系統,因此本教程中所有的操作都是以 root 使用者來執行的。若要在自己的雲主機上進行本教程的實驗,為了系統安全,建議

Ubuntu16.04搭建hadoop分散式環境

參考自:https://blog.csdn.net/hliq5399/article/details/78193113   原材料: 1.Ubuntu16.04作業系統成品(在vmware上安裝成功) 2.jdk-7u67-linux-x64.tar.gzjdk-7u67-

CentOS6.5虛擬機器下搭建Hadoop分散式環境

一、 實驗環境 作業系統:CentOS6.5 Hadoop版本:hadoop-2.7.2 JDK版本:jdk-8u73-linux-x64 二、 搭建步驟 1.安裝作業系統:使用VitualBox安裝CentOS6.5作業系統,安裝方式選擇為

搭建 Hadoop 分散式環境

軟硬體環境 CentOS 7.2 64 位 OpenJDK- 1.8 Hadoop- 2.7 關於本教程的說明 雲實驗室雲主機自動使用 root 賬戶登入系統,因此本教程中所有的操作都是以 root 使用者來執行的。若要在自己的雲主機上進行本教程的實驗

Windows 7 64位系統上搭建Hadoop分散式環境(很詳細)

在開始配置前,我們先了解Hadoop的三種執行模式。 Hadoop的三種執行模式 獨立(或本地)模式:無需執行任何守護程序,所有程式都在同一個JVM上執行。在獨立模式下測試和除錯MapReduce程式很方便,因此該模式在開發階段比較適合。 **偽分散式

基於docker搭建hadoop分散式環境時遇到的坑

最近課堂作業需要使用hadoop環境,正好前段時間學了一下docker教程的用法,而自己又只有一臺電腦,所以就趁著這次機會學習下怎麼利用docker搭建偽分散式的hadoop環境。 我主要時參考這篇博主的教程,教程很好,跟著這個教程大部分都是很順利的

Hadoop分散式環境搭建之Linux作業系統安裝

Hadoop偽分散式環境搭建之Linux作業系統安裝 本篇文章是接上一篇《超詳細hadoop虛擬機器安裝教程(附圖文步驟)》,上一篇有人問怎麼沒寫hadoop安裝。在文章開頭就已經說明了,hadoop安裝會在後面寫到,因為整個系列的文章涉及到每一步的截圖,導致文章整體很長。會分別先對虛擬機器

搭建hadoop分散式叢集環境過程中遇見的問題總結

1、網路配置問題: 在centos7中配置網路環境後,本機(win10系統)與虛擬機器centos7網路不通(本機可以ping通虛擬機器,但是虛擬機器ping不通本機); 解決方式: 方式1:檢視本機win10系統的防火牆是否關閉,若沒有,直接關閉win10系統的防火牆即可; 方式2

Hadoop分散式環境搭建詳細步驟和詞頻統計

一.Linux系統配置 以下操作是在root使用者下進行的 1.配置網路環境 在Linux圖形化介面,點選視窗欄的System-Preferences-Network Connections-System eth0-IPv4 Settings M

Hadoop分散式環境搭建和MapReduce環境搭建和hdfs相關操作疑難

這篇博文詳細講解了Hadoop偽分散式環境搭建,非常棒。此外,我這裡記錄一些其他相關內容,備忘。使用hadoop-eclipse-plugin-2.6.0.jar來構建MapReduce框架的Eclipse開發環境,這裡先給出這個外掛的連結,由於本人沒有什麼有價值的資源,所以

Hadoop 分散式環境搭建——hadoop2.8+centos7(零基礎&完整版)

引言: 環境: 一、安裝虛擬機器 在windows系統中安裝VMware14pro,直接下載安裝,無需贅述 ps:如有條件,請購買使用 二、安裝linux作業系統 CentOS 是一個基於Red Hat Linux 提供的可自由使用

Hadoop入門之Hadoop分散式環境搭建

在配置Hadoop環境前,應該在Linux環境中先配置JAVA環境變數,SSH免密登入。如果沒有SSH免密登入,在分散式環境下,就會重複很多次輸入密碼的動作。 1.在Hadoop包根目錄下,編輯檔案 etc/hadoop/hadoop-env.sh,更改: export

Ubuntu hadoop 分散式環境搭建步驟+ssh金鑰(免密碼登入)配置

27408 NameNode 28218 Jps 27643 SecondaryNameNode 28066 NodeManager 27803 ResourceManager 27512 DataNode 進入下面的網頁查詢具體資料 http://192.168.1.101:50070 (HD

Centos7下配置Hadoop分散式環境

Centos 版本:7 Hadoop版本:2.7.4 Java版本:1.8 一、安裝JDK 官網下載jdk 1.8 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.

zookeeper-3.4.7 環境搭建分散式環境三臺虛擬機器)

樓主小白 ,本帖給自已以後重灌留點記憶。希望能幫到他人。本人實驗切實可行 。環境準備 hadoop-2.7.5(搭建完成) ,centos 6.5  ,zookeeper-3.4.7.tar.gz  1.準備安裝目錄為 /home/ywh   (cd )  2.解壓縮 zoo

非root使用者搭建hadoop分散式

0、安裝軟體列表 jdk-7u25-linux-x64.tar.gz hadoop-2.5.0.tar.gz hadoop-native-64-2.5.0.tar 1、準備Linux環境(root使用者) 1.1、修改主機名:vim /etc/sysconfig/network NETWORKING=ye

[虛擬機器VM][Ubuntu12.04]搭建Hadoop完全分散式環境(一)

前言 大家都知道,Hadoop的部署方式可分為 單機模式 偽分散式 完全分散式 本篇主要講解的就是完全分散式。 搭建完全分散式的叢集環境,需要多臺的硬體裝置,作為初學者,為了搭建叢集去買多臺電腦,多少有點不現實,所以這裡我採用的是VM虛擬機器,模擬搭

Hadoop學習筆記(3)-搭建Hadoop分散式

0.前言 1.配置core-site.xml檔案 配置hadoop目錄下的etc/Hadoop/core-site.xml檔案。 新增如下內容: 官網上只配置了fs.defaultFS引數,這個引數是配置hdfs的url地址。配置好後就可

【HDFS篇】搭建hadoop分散式叢集

所謂偽分散式,就是單機模擬多臺伺服器搭建的過程。只是每個角色都是以程序的方式啟動。 基本流程如下: 一,作業系統環境 依賴軟體ssh,jdk 環境的配置 java_home 免金鑰 時間同步 hosts,hostname 二,hadoop部署

在 kali linux 下搭建 hadoop 分散式系統

記錄在 kali linux 下搭建 hadoop 偽分散式的過程: 1. 安裝和設定 JDK:     1) kali 中預設已經安裝 Java,可以使用 java -version 檢查 Java的安裝情況;發現 java 的安裝檔名可能是 openjdk      2