1. 程式人生 > >Hadoop安裝教程_偽分散式配置_CentOS7.x/Hadoop2.7.3

Hadoop安裝教程_偽分散式配置_CentOS7.x/Hadoop2.7.3

我只提醒下,這裡的坑。ssh登入時,切記用hadoop帳號登入,否則格式化的所有權不是hadoop,那麼無法啟動。

本教程適合於在 CentOS 6.x 系統中安裝原生 Hadoop 2,適用於Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參考了官方安裝教程,步驟詳細,輔以適當說明,相信按照步驟來,都能順利在 CentOS 中安裝並執行 Hadoop。本 Hadoop 教程由給力星出品,轉載請註明。

環境

本教程使用 CentOS 6.4 32位 作為系統環境,請自行安裝系統(可參考使用VirtualBox安裝CentOS)。如果用的是 Ubuntu 系統,請檢視相應的 

Ubuntu安裝Hadoop教程

本教程基於原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下驗證通過,可適合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.7.1, Hadoop 2.4.1等。

Hadoop版本

Hadoop 有兩個主要版本,Hadoop 1.x.y 和 Hadoop 2.x.y 系列,比較老的教材上用的可能是 0.20 這樣的版本。Hadoop 2.x 版本在不斷更新,本教程均可適用。如果需安裝 0.20,1.2.1這樣的版本,本教程也可以作為參考,主要差別在於配置項,配置請參考官網教程或其他教程。

新版是相容舊版的,書上舊版本的程式碼應該能夠正常執行(我自己沒驗證,歡迎驗證反饋)。

裝好了 CentOS 系統之後,在安裝 Hadoop 前還需要做一些必備工作。

建立hadoop使用者

如果你安裝 CentOS 的時候不是用的 “hadoop” 使用者,那麼需要增加一個名為 hadoop 的使用者。

首先點選左上角的 “應用程式” -> “系統工具” -> “終端”,首先在終端中輸入 su ,按回車,輸入 root 密碼以 root 使用者登入,接著執行命令建立新使用者 hadoop:

  1. su # 上述提到的以 root 使用者登入
  2. useradd -m hadoop -s /bin/bash # 建立新使用者hadoop
Shell 命令

如下圖所示,這條命令建立了可以登陸的 hadoop 使用者,並使用 /bin/bash 作為shell。

CentOS建立hadoop使用者CentOS建立hadoop使用者

接著使用如下命令修改密碼,按提示輸入兩次密碼,可簡單的設為 “hadoop”(密碼隨意指定,若提示“無效的密碼,過於簡單”則再次輸入確認就行):

  1. passwd hadoop
Shell 命令

可為 hadoop 使用者增加管理員許可權,方便部署,避免一些對新手來說比較棘手的許可權問題,執行:

  1. visudo
Shell 命令

如下圖,找到 root ALL=(ALL) ALL 這行(應該在第98行,可以先按一下鍵盤上的 ESC 鍵,然後輸入 :98 (按一下冒號,接著輸入98,再按回車鍵),可以直接跳到第98行 ),然後在這行下面增加一行內容:hadoop ALL=(ALL) ALL (當中的間隔為tab),如下圖所示:

為hadoop增加sudo許可權為hadoop增加sudo許可權

新增好內容後,先按一下鍵盤上的 ESC 鍵,然後輸入 :wq (輸入冒號還有wq,這是vi/vim編輯器的儲存方法),再按回車鍵儲存退出就可以了。

最後登出當前使用者(點選螢幕右上角的使用者名稱,選擇退出->登出),在登陸介面使用剛建立的 hadoop 使用者進行登陸。(如果已經是 hadoop 使用者,且在終端中使用 su 登入了 root 使用者,那麼需要執行 exit 退出 root 使用者狀態)

準備工作

使用 hadoop 使用者登入後,還需要安裝幾個軟體才能安裝 Hadoop。

CentOS 使用 yum 來安裝軟體,需要聯網環境,首先應檢查一下是否連上了網路。如下圖所示,桌面右上角的網路圖示若顯示紅叉,則表明還未聯網,應點選選擇可用網路。

檢查是否聯網檢查是否聯網

連線網路後,需要安裝 SSH 和 Java。

安裝SSH、配置SSH無密碼登陸

叢集、單節點模式都需要用到 SSH 登陸(類似於遠端登陸,你可以登入某臺 Linux 主機,並且在上面執行命令),一般情況下,CentOS 預設已安裝了 SSH client、SSH server,開啟終端執行如下命令進行檢驗:

  1. rpm -qa | grep ssh
Shell 命令

如果返回的結果如下圖所示,包含了 SSH client 跟 SSH server,則不需要再安裝。

檢查是否安裝了SSH檢查是否安裝了SSH

若需要安裝,則可以通過 yum 進行安裝(安裝過程中會讓你輸入 [y/N],輸入 y 即可):

  1. sudo yum install openssh-clients
  2. sudo yum install openssh-server
Shell 命令

接著執行如下命令測試一下 SSH 是否可用:

  1. ssh localhost
Shell 命令

此時會有如下提示(SSH首次登陸提示),輸入 yes 。然後按提示輸入密碼 hadoop,這樣就登陸到本機了。

測試SSH是否可用測試SSH是否可用

但這樣登陸是需要每次輸入密碼的,我們需要配置成SSH無密碼登陸比較方便。

首先輸入 exit 退出剛才的 ssh,就回到了我們原先的終端視窗,然後利用 ssh-keygen 生成金鑰,並將金鑰加入到授權中:

  1. exit # 退出剛才的 ssh localhost
  2. cd ~/.ssh/ # 若沒有該目錄,請先執行一次ssh localhost
  3. ssh-keygen -t rsa # 會有提示,都按回車就可以
  4. cat id_rsa.pub >> authorized_keys # 加入授權
  5. chmod 600 ./authorized_keys # 修改檔案許可權
Shell 命令 ~的含義

在 Linux 系統中,~ 代表的是使用者的主資料夾,即 “/home/使用者名稱” 這個目錄,如你的使用者名稱為 hadoop,則 ~ 就代表 “/home/hadoop/”。 此外,命令中的 # 後面的文字是註釋。

此時再用 ssh localhost 命令,無需輸入密碼就可以直接登陸了,如下圖所示。

SSH無密碼登入SSH無密碼登入

安裝Java環境

Java 環境可選擇 Oracle 的 JDK,或是 OpenJDK,現在一般 Linux 系統預設安裝的基本是 OpenJDK,如 CentOS 6.4 就預設安裝了 OpenJDK 1.7。按 http://wiki.apache.org/hadoop/HadoopJavaVersions 中說的,Hadoop 在 OpenJDK 1.7 下執行是沒問題的。需要注意的是,CentOS 6.4 中預設安裝的只是 Java JRE,而不是 JDK,為了開發方便,我們還是需要通過 yum 進行安裝 JDK,安裝過程中會讓輸入 [y/N],輸入 y 即可:

  1. sudo yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
Shell 命令

通過上述命令安裝 OpenJDK,預設安裝位置為 /usr/lib/jvm/java-1.7.0-openjdk(該路徑可以通過執行 rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac' 命令確定,執行後會輸出一個路徑,除去路徑末尾的 “/bin/javac”,剩下的就是正確的路徑了)。OpenJDK 安裝後就可以直接使用 java、javac 等命令了。

接著需要配置一下 JAVA_HOME 環境變數,為方便,我們在 ~/.bashrc 中進行設定(擴充套件閱讀: 設定Linux環境變數的方法和區別):

  1. vim ~/.bashrc
Shell 命令

在檔案最後面新增如下單獨一行(指向 JDK 的安裝位置),並儲存:

  1. export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk
Shell

如下圖所示:

設定JAVA_HOME環境變數設定JAVA_HOME環境變數

接著還需要讓該環境變數生效,執行如下程式碼:

  1. source ~/.bashrc # 使變數設定生效
Shell 命令

設定好後我們來檢驗一下是否設定正確:

  1. echo $JAVA_HOME # 檢驗變數值
  2. java -version
  3. $JAVA_HOME/bin/java -version # 與直接執行 java -version 一樣
Shell 命令

如果設定正確的話,$JAVA_HOME/bin/java -version 會輸出 java 的版本資訊,且和 java -version 的輸出結果一樣,如下圖所示:

成功設定JAVA_HOME環境變數成功設定JAVA_HOME環境變數

這樣,Hadoop 所需的 Java 執行環境就安裝好了。

安裝 Hadoop 2

下載時強烈建議也下載 hadoop-2.x.y.tar.gz.mds 這個檔案,該檔案包含了檢驗值可用於檢查 hadoop-2.x.y.tar.gz 的完整性,否則若檔案發生了損壞或下載不完整,Hadoop 將無法正常執行。

本文涉及的檔案均通過瀏覽器下載,預設儲存在 “下載” 目錄中(若不是請自行更改 tar 命令的相應目錄)。另外,如果你用的不是 2.6.0 版本,則將所有命令中出現的 2.6.0 更改為你所使用的版本。

  1. cat ~/下載/hadoop-2.6.0.tar.gz.mds | grep 'MD5'# 列出md5檢驗值
  2. # head -n 6 ~/下載/hadoop-2.7.1.tar.gz.mds # 2.7.1版本格式變了,可以用這種方式輸出
  3. md5sum ~/下載/hadoop-2.6.0.tar.gz | tr "a-z""A-Z"# 計算md5值,並轉化為大寫,方便比較
Shell 命令

若檔案不完整則這兩個值一般差別很大,可以簡單對比下前幾個字元跟後幾個字元是否相等即可,如下圖所示,如果兩個值不一樣,請務必重新下載。

檢驗檔案完整性檢驗檔案完整性

我們選擇將 Hadoop 安裝至 /usr/local/ 中:

  1. sudo tar -zxf ~/下載/hadoop-2.6.0.tar.gz -C /usr/local # 解壓到/usr/local中
  2. cd /usr/local/
  3. sudo mv ./hadoop-2.6.0/ ./hadoop # 將資料夾名改為hadoop
  4. sudo chown -R hadoop:hadoop ./hadoop # 修改檔案許可權
Shell 命令

Hadoop 解壓後即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本資訊:

  1. cd /usr/local/hadoop
  2. ./bin/hadoop version
Shell 命令 相對路徑與絕對路徑的區別

請務必注意命令中的相對路徑與絕對路徑,本文後續出現的 ./bin/..../etc/... 等包含 ./ 的路徑,均為相對路徑,以 /usr/local/hadoop 為當前目錄。例如在 /usr/local/hadoop 目錄中執行 ./bin/hadoop version 等同於執行 /usr/local/hadoop/bin/hadoop version。可以將相對路徑改成絕對路徑來執行,但如果你是在主資料夾 ~ 中執行 ./bin/hadoop version,執行的會是 /home/hadoop/bin/hadoop version,就不是我們所想要的了。

Hadoop偽分散式配置

Hadoop 可以在單節點上以偽分散式的方式執行,Hadoop 程序以分離的 Java 程序來執行,節點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的檔案。

在設定 Hadoop 偽分散式配置前,我們還需要設定 HADOOP 環境變數,執行如下命令在 ~/.bashrc 中設定:

  1. gedit ~/.bashrc
Shell 命令

這次我們選擇用 gedit 而不是 vim 來編輯。gedit 是文字編輯器,類似於 Windows 中的記事本,會比較方便。儲存後記得關掉整個 gedit 程式,否則會佔用終端。在檔案最後面增加如下內容:

  1. # Hadoop Environment Variables
  2. export HADOOP_HOME=/usr/local/hadoop
  3. export HADOOP_INSTALL=$HADOOP_HOME
  4. export HADOOP_MAPRED_HOME=$HADOOP_HOME
  5. export HADOOP_COMMON_HOME=$HADOOP_HOME
  6. export HADOOP_HDFS_HOME=$HADOOP_HOME
  7. export YARN_HOME=$HADOOP_HOME
  8. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
  9. export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
Shell

儲存後,不要忘記執行如下命令使配置生效:

  1. source ~/.bashrc
Shell 命令

這些變數在啟動 Hadoop 程序時需要用到,不設定的話可能會報錯(這些變數也可以通過修改 ./etc/hadoop/hadoop-env.sh 實現)。

Hadoop 的配置檔案位於 /usr/local/hadoop/etc/hadoop/ 中,偽分散式需要修改2個配置檔案 core-site.xml 和 hdfs-site.xml 。Hadoop的配置檔案是 xml 格式,每個配置以宣告 property 的 name 和 value 的方式來實現。

修改配置檔案 core-site.xml (通過 gedit 編輯會比較方便: gedit ./etc/hadoop/core-site.xml),將當中的

  1. <configuration>
  2. </configuration>
XML

修改為下面配置:

相關推薦

Hadoop安裝教程_分散式配置_CentOS7.x/Hadoop2.7.3

我只提醒下,這裡的坑。ssh登入時,切記用hadoop帳號登入,否則格式化的所有權不是hadoop,那麼無法啟動。 本教程適合於在 CentOS 6.x 系統中安裝原生 Hadoop 2,適用於Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參

Hadoop安裝教程_單機/分散式配置_CentOS6.4/Hadoop2.6.0

 2015-12-17 (updated: 2017-03-02) 本教程適合於在 CentOS 6.x 系統中安裝原生 Hadoop 2,適用於Hadoop 2.7.1, Hadoop 2.6.0 等版本,主要參考了官方安裝教程,步驟詳細,輔以適當說明,相信按照步驟來,都

Hadoop安裝教程_單機/分散式配置_Hadoop2.6.4/Ubuntu16.04

1. 簡介 本教程適合於原生 Hadoop 2,包括 Hadoop 2.6.4, Hadoop 2.7.1 等版本,看了很多資料,自己搭建了好幾次,特做個總結,按照步驟來都能成功。 2. 環境 本教程使用 Ubuntu 16.04 64位 作為系統環境(U

Hadoop安裝教程_單機/分散式配置_騰訊雲/Ubuntu Server 16.04.1 LTS 64位/Hadoop2.9.1

環境 騰訊雲伺服器 系統:Ubuntu Server 16.04.1 LTS 64位 Hadoop版本:hadoop-2.9.1 提示:雲伺服器下的Ubuntu圖形化介面親測很卡,慎用!所以本教程全程shell配置。 裝好了 Ubuntu 系統之後,在安裝 Ha

Hadoop安裝教程_單機/分散式配置_hadoop-2.7.5/Ubuntu14.04

    本篇部落格為學習總結部落格,學習字源來自廈門大學資料庫實驗室,連結為:http://dblab.xmu.edu.cn/blog/install-hadoop/    十分感謝!!!一、 建立新使用者    首先按 ctrl+alt+t 開啟終端視窗,輸入如下命令建立新

Hadoop安裝教程_單機/分散式配置_Hadoop2.7.3/Ubuntu16.04

當開始著手實踐 Hadoop 時,安裝 Hadoop 往往會成為新手的一道門檻。儘管安裝其實很簡單,書上有寫到,官方網站也有 Hadoop 安裝配置教程,但由於對 Linux 環境不熟悉,書上跟官網上簡略的安裝步驟新手往往 Hold 不住。加上網上不少教程也甚是坑,導

阿里雲Spark安裝教程_完全分散式_Spark-2.2.0_CentOS7.4

一、環境本教程中使用兩臺阿里雲伺服器,其配置為單核CPU,2G記憶體,作業系統為CentOS7.4。預設已經安裝了JDK1.8及Hadoop2.7.4。安裝方法請檢視阿里雲安裝hadoop教程_完全分散

HBase安裝分散式配置教程

HBase安裝是在我的另一篇部落格hadoop在centos系統未分散式安裝的基礎上進行的,HBase下載地址:HBase,不建議選擇最新版本的,容易出現相容性問題。 HBase安裝步驟 解壓到/usr/local 路徑下 sudo tar -zxf ~

hadoop-2.2.0分散式與(全分佈叢集安裝配置續,很詳細的哦~)

         hadoop-2.2.0偽分散式與(全分佈叢集安裝於配置續) hadoop-2.2.0全分佈叢集安裝於配置點選開啟連結 一、偽分佈模式 1、前提說明 我這裡配置hadoop叢集均是在虛擬機器上配置的,使用的安裝環境說明如下:       (1) 宿主機wi

HadoopHadoop 2.7.6安裝_分散式叢集

本篇主要演示在Linux上安裝單節點Hadoop模式,以及偽分散式Hadoop模式。一 安裝環境作業系統:Oracle Linux Server release 6.5;Java版本:java-1.7.0-openjdk-1.7.0.45;Hadoop版本:hadoop-2.

Centos7安裝Hadoop-- 分散式配置

1.安裝jdk8 2.配置免密登陸 2.安裝hadoop (1)下載Hadoop wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz (2)解壓 tar

Centos安裝單節點分散式Hadoop

注意:儘量參考官方文件:https://hadoop.apache.org/ 1、上傳壓縮包到伺服器並解壓 2、刪除解壓中share中無用文件 3、配置/etc/hadoop中的檔案 1、etc/hadoop/hadoop-env.sh: 修改export JAVA_HOME

hadoop-hive本地和分散式模式的安裝

前言:關於虛擬機器安裝hive,hadoop的資料林林總總,對於初學者很難甄別;             如下是按照官方doc,一步步經過實踐的一種方法,思路比我搜到網上的帖子更清晰;            初學,難免有錯誤的地方,敬請指正。 一、虛擬機器hadoop的安

Hadoop本地模式、分散式和全分散式叢集安裝與部署

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/

hadoop平臺搭建(4)--分散式配置及執行

摘要:本文主要講述Linux環境下搭建hadoop平臺過程中,基於hadoop單機模式執行正確的基礎上,配置hadoop的偽分散式模式,並在配置完畢的基礎上執行hadoop的偽分散式例項。 環境說明:文章延續hadoop平臺搭建(3)中的步驟,因為只涉及had

zookeeper分散式配置安裝

自己在學習實驗zookeeper的時候通常都會是用一臺機器進行偽分散式的實驗,本篇文章主要是介紹安裝步驟,其實安裝部署特別簡單但是還是存在一點坑的。建立資料夾我的目錄結果是:[[email 

虛擬機器下Linux系統Hadoop單機/分散式配置:Hadoop2.5.2+Ubuntu14.04(半原創)

系統: Ubuntu 14.04 64bitHadoop版本: Hadoop 2.5.2 (stable)JDK版本: JDK 1.6 虛擬機器及Ubuntu安裝 1. 下載並安裝 VMware workstation 11   下載地址:https://my.vmwar

Hadoop學習筆記-入門分散式配置(Mac OS,0.21.0,Eclipse 3.6)

11/09/04 22:32:33 WARN conf.Configuration: DEPRECATED: hadoop-site.xml found in the classpath. Usage of hadoop-site.xml is deprecated. Instead use core-s

hadoop安裝教程

集群 manager 生成 tle 數據訪問 這樣的 pen 映射關系 apache hadoop的核心 Hadoop的核心就是HDFS和MapReduce,而兩者只是理論基礎,不是具體可使用的高級應用,Hadoop旗下有很多經典子項目,比如HBase、Hive等,

hadoop-從單節點分散式擴充套件為多節點分散式

一、準備虛擬機器 複製第一臺虛擬機器,一共需要三個虛擬機器,配置好網路和主機名如下: 192.168.1.130 hadoop-server-00 192.168.1.131 hadoop-server-01 192.168.1.132 hadoop-server-02 保證3個虛擬機器之間可