日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop单机/伪分布式集群搭建(新手向)

發布時間:2025/5/22 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop单机/伪分布式集群搭建(新手向) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


此文已由作者朱笑笑授權網易云社區發布。

歡迎訪問網易云社區,了解更多網易技術產品運營經驗。



本文主要參照官網的安裝步驟實現了Hadoop偽分布式集群的搭建,希望能夠為初識Hadoop的小伙伴帶來借鑒意義。

環境:

(1)系統環境:CentOS 7.3.1611 64位

(2)Java版本:OpenJDK 1.8.0

配置Hadoop單節點集群前準備

1、創建hadoop用戶:

?新建用戶用于hadoop使用:

(1)打開終端,輸入命令su,回車,輸入root的密碼以root用戶登錄,并創建名為hadoop的新用戶:

  • useradd -m Hadoop -s /bin/bash


(2)修改用戶密碼:

  • passwd hadoop


(3)為使用方便,給hadoop用戶提升權限,否則hadoop用戶在使用sudo命令時會報出:hadoop不在sudoers文件中。此事將被報告;

a. 切換到root用戶,查看/etc/sudoers文件權限,默認權限為只讀

? ? ? ?


b. 修改/etc/sudoers文件權限為讀寫權限:chmod 777 /etc/sudoers


?c. 修改/etc/sudoers文件內容,執行visudo或者vim /etc/sudoers


如下圖,在 root ALL=(ALL) ALL 這行下面增加一行內容:hadoop ALL=(ALL) ALL (當中的間隔為tab,說明:格式為{用戶名 網絡中的主機=(執行命令的目標用戶) 執行的命令范圍}),如下圖所示:

? ? ?


若要在執行sudo命令時免輸入密碼,可以將上述添加的內容改為:hadoop ALL=(ALL) NOPASSWD:ALL。

d. 保存退出,恢復/etc/sudoers文件的訪問權限為440;

(4)切換至hadoop用戶;

2、安裝SSH及配置免密碼登錄

?集群和單節點模式都需要使用SSH登陸,一般情況下,CentOS中默認安裝了SSH client、SSH server,可以通過以下命令進行檢驗:

  • rpm -qa | grep ssh


若已經安裝,則返回如下內容,說明已經包含了SSH client和SSH server,無需再安裝:

? ? ? ?


?若沒有安裝SSH client、SSH server,則可以通過yum進行安裝:

  • sudo yum install?openssh-clients

  • sudo yum install?openssh-server


測試SSH是否可用,可輸入如下命令:

  • ssh localhost


首次登陸出現如下提示(圖中為使用root用戶登錄,hadoop用戶同理),輸入yes即可,在用戶的主文件夾(/home/用戶名)下會生成.ssh目錄。然后根據提示輸入hadoop用戶密碼,登陸本機:

? ? ??


我們發現每一次使用ssh登錄都需要輸入密碼,為方便起見,配置ssh為免密碼登錄:

(1)切換為hadoop用戶;

(2)利用ssh-keygen生成密鑰,并將密鑰加入到授權中,修改授權文件權限:

  • cd ~/.ssh/

  • ssh-keygen -t?rsa

  • cat id_rsa.pub >>authorized_keys

  • chmod 600 ./authorized_keys


?此時,使用ssh localhost無需密碼便可登陸。

3、安裝Java環境

Java環境可以選擇Oracle的JDK,或者OpenJDK。按照https://wiki.apache.org/hadoop/HadoopJavaVersions中所說,hadoop 2.7版本及以后的版本至少要求Java 7。CentOS 7.3下默認安裝了OpenJDK 1.8,但只是Java JRE,不是JDK,為便于開發,建議安裝JDK。

建議使用yum進行安裝,默認安裝路徑為/usr/lib/jvm/java-1.8.0-openjdk:

? ? ? ??


安裝成功后配置JAVA_HOME環境變量:

  • vim ~/.bashrc


在最后一行添加變量:

? ? ? ??


使環境變量生效:

  • source ~/.bashrc


設置好后檢驗一下是否正確,輸出一下內容則設置正確:

? ? ? ??

安裝Hadoop

通過http://www.apache.org/dyn/closer.cgi/hadoop/common/下載Hadoop,這里選擇了Hadoop 2.7.3版本,下載時選擇hadoop-2.7.3.tar.gz格式,其中src格式的為Hadoop的源代碼,需要進行編譯后才可使用。

? ? ?安裝Hadoop至/usr/local/中(也可選擇別的路徑),Hadoop解壓后即可使用:

  • sudo tar -zxf ~/Download/hadoop-2.7.3.tar.gz -C /usr/local

  • cd /usr/local/

  • sudo mv ./hadoop-2.7.3/ ./hadoop?

  • sudo chown -R hadoop:hadoop ./hadoop

? ? ?檢查Hadoop是否可用:

  • cd /usr/local/hadoop

  • ./bin/hadoop version

說明:若未進行Java的環境變量配置,想要./bin/hadoop執行成功,則需要修改hadoop的etc/hadoop/hadoop-env.sh文件中的JAVA_HOME變量,指定為java路徑,如圖:

? ? ? ??

至此,Hadoop默認模式即本地模式(單機模式)已經配置成功。

Hadoop偽分布式配置

Hadoop可以在單節點上以偽分布式的方式運行,Hadoop進程以分離的Java進行來運行,節點既作為Namenode也作為DataNode,同時,讀取的是Hdfs中的文件。

偽分布式需要修改2個配置文件core-site.xml和hdfs-site.xml,配置文件位于hadoop的/etc/hadoop文件夾下。

修改core-site.xml為:

? ? ? ??


?修改hdfs-site.xml為:

? ? ? ??


?修改配置文件成功后,通過ssh登陸:

? ? ? ??


?執行NameNode的格式化:

? ? ? ??


出現如圖情況,表示成功,若“Exitting with status 1”則是出錯:

? ? ? ??



?接下去開啟NameNode和DataNode守護進程:

? ? ? ??


若出現SSH的提示,輸入yes即可:

? ? ? ??


啟動完成后,通過jsp來判斷是否成功啟動,若成功啟動則會列出如下進程,如果沒有NameNode或DataNode,則表明配置不成功,需要檢查上述步驟或通過啟動日志排查,日志記錄在hadoop的logs文件夾中:

? ? ? ??


成功啟動后,可以訪問http://localhost:50070來查看NameNode和Datanode信息及HDFS中文件:

? ? ? ??


運行Hadoop偽分布式實例

單機模式grep讀取的是本地數據,偽分布式讀取的則是Hdfs上的數據。

?執行MR任務需要在Hdfs上創建用戶目錄,這里<username>為hadoop:

? ? ? ??


在Hdfs上創建input文件夾作為輸入內容存放的文件目錄,將hadoop中etc/hadoop文件夾中的文件復制到Hdfs中:

? ? ? ??


運行grep任務,偽分布式的MR任務運行方式與單機模式相同,區別在于偽分布式讀取的是HDFS中的文件,單機模式是讀取本地文件:

? ? ? ??


查看運行結果,即Hdfs中output結果:


? ? ? ??

? ? ? ??


? ? ? ? Hadoop運行程序時,輸出目錄不能存在,若要再次執行作業,則需要先刪除輸出文件夾:

  • ./bin/hdfs dfs -rm -r output

? ? ? ? 關閉進程:

? ? ? ??


注意:下次啟動Hadoop時,則無需再次進行NameNode的初始化,只需要運行./sbin/start-dfs.sh即可。

啟動YARN

YARN(Yet Another Resource Negotiator)是新的MapReduce框架,從MapReduce中分離出來,負責資源管理與任務調度。YARN運行于MapReduce之上,提供了高可用性、高擴展性。上述的啟動Hadoop僅僅是啟動了MapReduce的環境。

啟動YARN來進行資源管理和任務調度需要修改幾個配置:

?修改配置mapred-site.xml,首先將etc/hadoop/mapred-site.xml.template重名,然后修改配置:


? ? ? ???


修改yarn-site.xml配置:

? ? ? ??


? ? ?配置完成后可以啟動YARN,通過執行hadoop中./sbin/start-yarn.sh腳本來啟動(執行前先執行./sbin/start-dfs.sh):

? ? ? ??


啟動后通過jps查看,可以看到多了NodeManager和ResourceManager兩個后臺進行,如圖:

? ? ? ??


開啟歷史服務器,便于在Web中查看任務運行情況:

? ? ?


啟動YARN后,運行實例方法與上述一樣。觀察日志信息可以發現,不啟動YARN時,是“mapred.LocalJobRunner”在跑任務,啟用YARN之后,是“mapred.YARNRunner”在跑任務。啟動YARN可以通過Web界面查看任務的運行情況:http://localhost:8088/cluster,如圖:


? ? ?

? ? ?


關閉YARN和歷史服務器:

?


注意:若不想啟動YARN,需要將mapred-site.xml重命名,改回mapred-site.xml.template.

Hadoop環境變量配置

上述內容中,我們都是通過先進入到/usr/local/hadoop目錄中,再執行./sbin/[執行腳本]或./bin/[執行腳本],為便于平時的操作方便,我們可以配置Path環境變量來簡化我們的操作,配置如下,完成后便可直接執行hadoop中./sbin和./bin目錄下的腳本:

?


網易云免費體驗館,0成本體驗20+款云產品!?

更多網易技術、產品、運營經驗分享請點擊。

相關文章:
【推薦】?分布式存儲系統可靠性系列三:設計模式
【推薦】?遭遇各種內容監管,有些企業到底欠缺的是什么,僅僅是價值觀嗎?
【推薦】?NOS跨分區災備設計與實現

轉載于:https://www.cnblogs.com/zyfd/p/9874814.html

總結

以上是生活随笔為你收集整理的Hadoop单机/伪分布式集群搭建(新手向)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。