Hadoop偽分散式集群環境搭建

来源:http://www.cnblogs.com/chongluo/archive/2016/12/14/hadoop_01.html
-Advertisement-
Play Games

本教程講述在單機環境下搭建Hadoop偽分散式集群環境,幫助初學者方便學習Hadoop相關知識。 首先安裝Hadoop之前需要準備安裝環境。 安裝Centos6.5(64位)。(操作系統再次不做過多描述,自行百度) 安裝JDK1.7(64位)。 安裝Hadoop2.2(穩定版本64位) 註意:以上三 ...


本教程講述在單機環境下搭建Hadoop偽分散式集群環境,幫助初學者方便學習Hadoop相關知識。

首先安裝Hadoop之前需要準備安裝環境。

  • 安裝Centos6.5(64位)。(操作系統再次不做過多描述,自行百度)
  • 安裝JDK1.7(64位)。
  • 安裝Hadoop2.2(穩定版本64位)

註意:以上三者版本需要統一,必須同為64位/32位

1.安裝JDK1.7

下載JDK1.7,然後拷貝到指定目錄

cd /usr/local/

解壓縮:tar -zxvf jdk1.7

配置環境變數:

vim /etc/profile.d/java.sh
添加如下內容:
CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH

執行:

source /etc/profile.d/java.sh

java -version顯示出JDK相關信息

2.配置hosts文件,使訪問更加方便

vim /etc/hosts

在文件末尾加入:

192.168.1.1(本機ip) taurus(本機功能變數名稱)

3.關閉防火牆:

查看防火牆狀態:service iptables status
關閉防火牆:chkconfig iptables off(永久性生效)
service iptables stop(即時生效,重啟後複原)

4.SSH無密碼驗證配置

創建hadoop用戶組

groupadd hadoop

創建hadoop用戶

useradd group group

為hadoop用戶設置密碼

passwd hadoop

創建.ssh文件

mkdir .ssh

使用命令生成密鑰:

ssh-keygen -t rsa

用公鑰生成認證文件

cp id_rsa.pub authorized_keys

賦予文件許可權

chmod  700.ssh

chmod 600 .ssh/*

然後使用ssh連接當前節點,ssh taurus(本機功能變數名稱) 如果提示ssh未安裝執行命令:

yum -y install openssh-clients

如果還是提示下列錯誤:

ssh: connect to host taurus port 22: Connection refused

說明ssh-server沒有安裝

sudo apt-get install openssh-server   進行安裝

然後在使用ssh localhost應該會連接成功。

5.開始搭建偽分散式環境

下載hadoop2.2.0安裝包

wget http://hadoop.f.dajiangtai.com/hadoop2.2/hadoop-2.2.0-x64.tar.gz

解壓安裝包:

tar -zxvf hadoop-2.2.0-x64.tar.gz

重命名hadoop-2.2.0-x64.tar.gz

mv hadoop-2.2.0-x64.tag.gz  hadoop

將haddop文件夾的許可權賦予hadoop用戶

chown -R hadoop:hadoop hadoop

創建hadoop數據目錄--3個

root@taurus:/usr/local# mkdir -p /data/dfs/name
root@taurus:/usr/local# mkdir -p /data/dfs/data
root@taurus:/usr/local# mkdir -p /data/tmp

將創建的文件夾許可權賦予hadoop用戶

root@taurus:/usr/local# chown -R hadoop:hadoop hadoop /data

然後切換到hadoop用戶,進入hadoop文件夾下etc/hadoop目錄:

su hadoop
cd etc/hadoop
vim core-site.xml

添加如下內容到core-site.xml文件

預設HDFS路徑

存放數據的公共目錄

設置hadoop安全機制的代理用戶和用戶組

修改hdfs-site.xml文件,添加如下內容:

Namenode文件目錄

Datanode文件目錄

數據快副本

HDFS許可權

接下來配置mapred-site.xml文件:

由於沒有mspred-dite.xml文件,因此需要複製mapred-site.xml.template

cp mapred-site.xml.template mapred-site.xml

vim mapred-site.xml添加如下內容:

制定mapreduce環境為yarn;

配置yarn-site.xml文件,添加如下內容:

為了使mapreduce程式運行起來,需要nodemanager啟動載入shuffle

修改slaves文件:(指定namenode路徑)由於當前配置偽分佈時集群,所以namenode和datanode在同一個節點上。

配置hadoop環境變數:

su root

vim /etc/profile

添加如下內容:

使配置文件生效使用source命令:

source /etc/profile

以上我們就配置完成了,接下來測試運行

su hadoop

進入安裝目錄

cd /usr/local/hadoop

然後格式化namenode

bin/hadoop namenode -format

沒有報錯,接下來我們就可以啟動hadoop了:

cd /usr/lcoal/hadoop
sbin/satrt-all.sh

如果啟動時報Error: JAVA_HOME is not set and could not be found

解決辦法:修改/etc/hadoop/hadoop-env.sh中設的JAVA_HOME。

應當使用絕對路徑:

 export JAVA_HOME=${JAVA_HOME}          //文檔原來的(錯誤)
 export JAVA_HOME=/usr/local/jdk1.7       //正確,應該這麼改

然後再次啟動sbin/start-all.sh

成功後,jps顯示如下:

打開瀏覽器:

訪問http://taurus(對應你本機功能變數名稱):50070 --查看namenode文件和集群的狀態

接下來使用hadoop自帶wordcount程式運行測試

在hadoop文件目錄下,執行如下操作:

vim wordcount.txt
添加如下內容:
alan hadoop
alan hadoop
alan hadoop
保存退出

查看hadoop根目錄下文件:

hadoop fs -ls /

創建一個測試目錄:

hadoop fs -mkdir /taurus

將剛纔創建的文件上傳到測試目錄:

hadoop fs -put /usr/local/hadoop/wordcount.txt /sample

執行wordcount程式:

bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-example-2.2.0.jar wordcount /sample/wordcount.txt  /sample/wordcount-out

在瀏覽器訪問http://taurus(自己的功能變數名稱):8088/cluster/apps

查看程式的運行狀態。

在瀏覽器訪問http://taurus(自己的功能變數名稱):50070

查看程式的運行結果。

至此,hadoop的但節點集群配置就全部完成了。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 行級安全RLS(Row-Level Security)是在數據行級別上控制用戶的訪問,控制用戶只能訪問資料庫表的特定數據行。斷言是邏輯表達式,在SQL Server 2016中,RLS是基於安全斷言(Security Predicate)的訪問控制,Security Predicate是由內聯表值函 ...
  • 一、Spark簡介: 以下是百度百科對Spark的介紹: Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了記憶體分佈數據集,除了能夠提供互動式查詢外,它還可以優化 ...
  • 巡檢是資料庫管理員保證資料庫健康的必要維護項,全面的巡檢可以及早的發現問題、解決問題、預防問題。 很多資料庫維護人員其實對資料庫瞭解的並不深入(常常集中在傳統行業),不是專業的DBA,同時又身兼多職(業務、軟體、網路、硬體),在每天繁雜的工作中已經身心俱疲。這樣的一種狀態也必然讓系統管理員即使有意精 ...
  • 版權聲明:本文發佈於http://www.cnblogs.com/yumiko/,版權由Yumiko_sunny所有,歡迎轉載。轉載時,請在文章明顯位置註明原文鏈接。若在未經作者同意的情況下,將本文內容用於商業用途,將保留追究其法律責任的權利。如果有問題,請以郵箱方式聯繫作者(793113046@q ...
  • 前言 做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。 本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果 經過硬體巡檢,資料庫狀態情況的巡檢無疑是日常運維巡檢的第二步 ...
  • 前言 做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。 本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果 前面兩篇對伺服器軟硬體配置、資料庫概況進行了巡檢,下麵我們要 ...
  • 前言 做好日常巡檢是資料庫管理和維護的重要步驟,而且需要對每次巡檢日期、結果進行登記,同時可能需要出一份巡檢報告。 本系列旨在解決一些常見的困擾: 不知道巡檢哪些東西 不知道怎麼樣便捷體檢 機器太多體檢麻煩 生成報告困難,無法直觀呈現結果 伺服器的硬體情況大多數情況會有硬體組專門負責巡檢,但是作為數 ...
  • 在測試PlateSpine克隆的資料庫伺服器時,由於資源有限,克隆過來的資料庫伺服器只給了9G的記憶體,結果在測試時,老是會出現OOMkiller導致宕機,即out of memory killer,是linux下麵當記憶體耗盡時的的一種處理機制。當記憶體較少時,OOM會遍歷整個進程鏈表,然後根據進程的內... ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...