搭建Hadoop平臺(新手入門)

来源:http://www.cnblogs.com/gwxaizxh/archive/2017/10/13/7660288.html
-Advertisement-
Play Games

剛剛大學畢業,接觸大數據有一年的時間了,把自己的一些學習筆記分享給大家,希望同熱愛大數據的伙伴們一起學習,成長! 資料準備: Hadoop-2.7.1下載:http://pan.baidu.com/s/1o7LKaSU 密碼:64du Jdk下載(文中使用1.7,這裡給得1.8,不影響使用):htt ...


剛剛大學畢業,接觸大數據有一年的時間了,把自己的一些學習筆記分享給大家,希望同熱愛大數據的伙伴們一起學習,成長!

 資料準備:

  Hadoop-2.7.1下載:http://pan.baidu.com/s/1o7LKaSU 密碼:64du

  Jdk下載(文中使用1.7,這裡給得1.8,不影響使用):http://pan.baidu.com/s/1kVEEJ91 密碼:r22t

安裝步驟:

0.關閉防火牆

執行:service iptables stop 這個指令關閉完防火牆後,如果重啟,防火牆會重新建立,所以,如果想重啟後防火牆還關閉,需額外執行:chkconfig iptables off

1.配置主機名

執行: vim /etc/sysconfig/network

編輯主機名

註意:主機名里不能有下滑線,或者特殊字元#$,不然會找不到主機導致無法啟動

這種方式更改主機名需要重啟才能永久生效,因為主機名屬於內核參數。

如果不想重啟,可以執行:hostname hadoop01但是這種更改是臨時的,重啟後會恢復 原主機名。

所以可以結合使用。先修改配置文件,然後執行:hostname hadoop01 。可以達到不重啟或重啟都是主機名都是同一個的目的

 

2.配置hosts文件

執行:vim /etc/hosts(192.168.161.41是我自己機器的ip,這裡必須寫入自己本機的ip)

3.配置免秘鑰登錄

在hadoop01節點執行(執行過hostname hadoop01):

執行:ssh-keygen

然後一直回車,直到出現類似的圖形:

 

生成節點的公鑰和私鑰,生成的文件會自動放在/root/.ssh目錄下

然後把公鑰發往遠程機器,比如hadoop01向hadoop02發送

執行:ssh-copy-id root@hadoop01

此時,hadoop02節點就是把收到的hadoop秘鑰保存在

/root/.ssh/authorized_keys 這個文件里,這個文件相當於訪問白名單,凡是在此白明白存儲的 秘鑰對應的機器,登錄時都是免密碼登錄的。

hadoop01再次通過ssh遠程登錄hadoop02時,發現不需要輸入密碼了。

 

hadoop02節點執行上述上述步驟,讓hadoop02節點連接hadoop01免密碼登錄

4.配置自己節點登錄的免密碼登錄

如果是單機的偽分散式環境,節點需要登錄自己節點,即hadoop01要登錄hadoop01

但是此時是需要輸入密碼的,所以要在hadoop01節點上

執行:ssh-copy-id root@hadoop01(上面已經給出)

5.安裝和配置jdk

1)安裝jdk

mkdir /usr/local/src/java

rz 上傳jdk tar

tar -xvf jdk-7u51-linux-x64.tar.gz

配置環境變數

1:vi /etc/profile

2:在尾行添加

#set java environment

JAVA_HOME=/usr/local/src/java/jdk1.7.0_51

JAVA_BIN=/usr/local/src/java/jdk1.7.0_51/bin

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

保存退出

3:source /etc/profile 使更改的配置立即生效

4:java -version 查看JDK版本信息。如顯示1.7.0證明成功。

執行: vi /etc/profile

2)在尾行添加

#set java environment

JAVA_HOME=/usr/local/src/java/jdk1.7.0_51

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOMEPATH CLASSPATH

保存退出

3)source /etc/profile 使更改的配置立即生效

4)java -version 查看JDK版本信息。如顯示1.7.0證明成功。

6.上傳和解壓hadoop安裝包

執行:tar -xvf hadoop……(包名)

目錄說明:

bin目錄:命令腳本

etc/hadoop:存放hadoop的配置文件

lib目錄:hadoop運行的依賴jar包

sbin目錄:啟動和關閉hadoop等命令都在這裡

libexec目錄:存放的也是hadoop命令,但一般不常用

最常用的就是bin和etc目錄

7.配置hadoop-env.sh

這個文件里寫的是hadoop的環境變數,主要修改hadoop的java_home路徑

切換到 etc/hadoop(cd etc/hadoop)目錄

執行:vim hadoop-env.sh

修改java_home路徑和hadoop_conf_dir 路徑(自己本機的安裝目錄)

然後執行:source hadoop-env.sh 讓配置立即生效

8.修改core-site.xml

在 etc/hadoop 目錄下

執行:vim core-site.xml

配置如下:

 

<configuration>

<!--用來指定hdfs的上司,namenode的地址-->

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop01:9000<value>

</property>

<!--用來指定hadoop運行時產生文件的存放目錄-->

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/soft/hadoop-2.7.1/tmp</value>

</property>

</configuration>

9.修改vim hdfs-site .xml

配置如下:

 

<configuration>

<!--指定hdfs保存數據副本的數量,包括自己,預設值是3-->

<!--如果是偽分佈模式,此值是1-->

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

<!--設置 hdfs 的操作許可權, false 表示任何用戶都可以在 hdfs 上操作文件-->

<property>

<name>dfs.permissions</name>

<value>false</value>

</property>

</configuration>

10.修改vim mapred-site.xml

這個文件初始時是沒有的,有的是模板文件,mapred-site.xml.template

所以需要拷貝一份,並重命名為mapred-site.xml

執行:cp mapred-site.xml.template mapred-site.xml

配置如下:

<configuration>

<property>

<!--指定mapreduce運行在yarn上-->

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

yarn是資源協調工具,

11.修改vim yarn-site.xml

配置如下:

 

<configuration>

<!--Site specific YARN configuration properties -->

<property>

<!--指定yarn的老大resoucemanager的地址-->

<name>yarn.resourcemanager.hostname</name>

<value>hadoop01</value>

</property>

<property>

<!--NodeManager獲取數據的方式-->

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

12.配置vim slaves文件

13.配置hadoop的環境變數 

配置代碼:vim /etc/profile

HADOOP_HOME=/usr/soft/hadoop-2.7.1JAVA_HOME=/usr/local/src/java/jdk1.7.0_51

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export JAVA_HOME PATH CLASSPATH HADOOP_HOME

14.格式化namenode

為什麼要格式化?

執行:hadoop namenode -format

如果不好使,可以重啟linux

當出現:successfully,證明格式化成功

 

15.啟動Hadoop

cd hadoop-2.7.1/sbin (進入hadoop安裝目錄後執行)

./start-dfs.sh或者sh start-dfs.sh

16.停止Hadoop

./stop-dfs.sh 或者sh stop-dfs.sh

註:如果在啟動時,報錯:Cannot find configuration directory: /etc/hadoop

解決辦法:

編輯etc/hadoop下的hadoop-env.sh 文件,添加如下配置信息:

export HADOOP_CONF_DIR=/home/software/hadoop-2.7.1/etc/hadoop

然後執行source hadoop-env.sh 使配置立即生效

執行:start-yarn.sh 啟動yarn相關的服務

在瀏覽器訪問:

192.168.161.41:50070 來訪問 hadoop 的管理頁面(必須是自己本機的ip)

 

大家若感興趣,轉載本文,請註明出處


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

-Advertisement-
Play Games
更多相關文章
  • 什麼叫做覆蓋索引? 解釋一: 就是select的數據列只用從索引中就能夠取得,不必從數據表中讀取,換句話說查詢列要被所使用的索引覆蓋。 解釋二: 索引是高效找到行的一個方法,當能通過檢索索引就可以讀取想要的數據,那就不需要再到數據表中讀取行了。如果一個索引包含了(或覆蓋了)滿足查詢語句中欄位與條件的 ...
  • 一、基本查詢 對於ORACLE,最常關註的無非就是關於ORACLE的查詢之類的語句了,而在PL/SQL上面,筆者使用的一般有兩種不同的查詢視窗:CommandWindow和SQLWindow兩種不同的視窗。 1.1現在將一些需要在CommandWindow使用的命令羅列如下: 上述分別是查詢當前用戶 ...
  • 1、mysqlfrm安裝 由於mysqlfrm是mysql-utilities工具一部分,那麼我們安裝mysql-utilities即可,下載好對應的源碼包,進行編譯安裝。 shell> tar -xvzf mysql-utilities-1.6.4.tar.gz shell> cd mysql-u ...
  • SQL語句中的三個關鍵字:MINUS(減去),INTERSECT(交集)和UNION ALL(並集); 關於集合的概念,中學都應該學過,就不多說了.這三個關鍵字主要是對資料庫的查詢結果進行操作,正如其中文含義一樣:兩個查詢,MINUS是從第一個查詢結果減去第二個查詢結果,如果有相交部分就減去相交部分 ...
  • 作業介紹 SQL SERVER的作業是一系列由SQL SERVER代理按順序執行的指定操作。作業可以執行一系列活動,包括運行Transact-SQL腳本、命令行應用程式、Microsoft ActiveX腳本、Integration Services 包、Analysis Services 命令和查 ...
  • 參考文檔: 本文涉及postgresql基於非同步方式的主從複製的配置驗證。 一.主從複製簡介 1. 基於文件的日誌傳送 創建一個高可用性(HA)集群配置可採用連續歸檔,集群中主伺服器工作在連續歸檔模式下,備伺服器工作在連續恢復模式下(1台或多台可隨時接管主伺服器),備持續從主伺服器讀取WAL文件。 ...
  • 用A庫來還原B庫 對正在使用的B庫執行還原,還原時修改資料庫名稱,還原出錯,提示資料庫正在使用。刪除B庫,仍然提示正在使用,感覺像僵屍 重啟SQL SERVER,因B庫已刪除,在A庫上點擊還原按鈕,但在對話中將目標庫名改為B,奇跡來了,B庫還原成功,A庫卻永久進入還原狀態 執行RESTORE DAT... ...
  • 還原資料庫時,提示還原成功,可是資料庫列表中該資料庫顯示正在還原中: 執行此命令即可: RESTORE DATABASE EnterPriseBuilding WITH RECOVERY 1. 至少有一個誤刪除之前的資料庫完全備份。 2. 資料庫的恢復模式(Recovery mode)是“完整(Fu ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...