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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop 集群搭建

發(fā)布時間:2023/12/31 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop 集群搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Hadoop 集群搭建

目標(biāo)


在3臺服務(wù)器上搭建 Hadoop2.7.3 集群,然后測試驗證,要能夠向 HDFS 上傳文件,并成功運行 mapreduce 示例程序

?

?

搭建思路


(1)準(zhǔn)備基礎(chǔ)設(shè)施

準(zhǔn)備3臺服務(wù)器,分別命名為 master、slave1、slave2

互相配置為 SSH 免密碼登錄,并都安裝好 JAVA 環(huán)境

(2)安裝配置 hadoop

在 master 上下載解壓 hadoop,修改相應(yīng)配置文件,包括:

core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves

配置文件比較多,但也比較好理解

core-site.xml?是核心配置,需要為 hadoop 指定基本配置信息

hdfs 和 mapreduce 是核心構(gòu)成,自然要配置相應(yīng)的?hdfs-site.xml?和?mapred-site.xml

mapreduce 用到了?yarn?框架,所以也要設(shè)置對應(yīng)的配置文件?yarn-site.xml

還需要在?slaves?中添加從節(jié)點的IP

配置完成后,把 master 上的 hadoop 目錄復(fù)制到 slave1 slave2

(3)啟動 hadoop

在 master 中進(jìn)行 hdfs 初始化,執(zhí)行啟動命令,打開相應(yīng)網(wǎng)頁查看狀態(tài)信息


搭建過程

?

  • 準(zhǔn)備基礎(chǔ)設(shè)施


(1)為3臺服務(wù)器設(shè)置名稱

修改每臺服務(wù)器的 /etc/hosts,添加

192.168.31.164 master
192.168.31.242 slave1
192.168.31.140 slave2

(改為自己服務(wù)器的IP)

(2)SSH無密碼登陸

在每臺服務(wù)器上都執(zhí)行以下命令

$ ssh-keygen
(執(zhí)行后會有多個輸入提示,不用輸入任何內(nèi)容,全部直接回車即可)
$ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@master
$ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@slave1
$ ssh-copy-id -i /root/.ssh/id_rsa -p 22 root@slave2

?


注:JAVA環(huán)境的安裝配置沒做介紹,請自己準(zhǔn)備好

?

?

  • 安裝配置 hadoop


(1)安裝

在 master 中執(zhí)行

$ cd /home
$ wget http://apache.fayea.com/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
$ tar -xzf hadoop-2.7.3.tar.gz
$ mv hadoop-2.7.3 hadoop
$ cd hadoop
$ mkdir tmp hdfs
$ mkdir hdfs/data hdfs/name

(2)配置

在 master 中執(zhí)行

修改 /home/hadoop/etc/hadoop/core-site.xml

在 <configuration> 塊兒中添加:

??? <property>
??????? <name>fs.defaultFS</name>
??????? <value>hdfs://master:9000</value>
??? </property>
??? <property>
??????? <name>hadoop.tmp.dir</name>
??????? <value>file:/home/hadoop/tmp</value>
??? </property>
??? <property>
??????? <name>io.file.buffer.size</name>
??????? <value>131702</value>
??? </property>

修改 /home/hadoop/etc/hadoop/hdfs-site.xml

在 <configuration> 塊兒中添加:

??? <property>
??????? <name>dfs.namenode.name.dir</name>
??????? <value>file:/home/hadoop/hdfs/name</value>
??? </property>
??? <property>
??????? <name>dfs.datanode.data.dir</name>
??????? <value>file:/home/hadoop/hdfs/data</value>
??? </property>
??? <property>
??????? <name>dfs.replication</name>
??????? <value>2</value>
??? </property>
??? <property>
??????? <name>dfs.namenode.secondary.http-address</name>
??????? <value>master:9001</value>
??? </property>
??? <property>
?? ??? ?<name>dfs.webhdfs.enabled</name>
?? ??? ?<value>true</value>
??? </property>

修改 /home/hadoop/etc/hadoop/mapred-site.xml

這個文件默認(rèn)不存在,需要從 mapred-site.xml.template 復(fù)制過來

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

在 <configuration> 塊兒中添加:

??? <property>
??????? <name>mapreduce.framework.name</name>
??????? <value>yarn</value>
??? </property>
??? <property>
??????? <name>mapreduce.jobhistory.address</name>
??????? <value>master:10020</value>
??? </property>
??? <property>
??????? <name>mapreduce.jobhistory.webapp.address</name>
??????? <value>master:19888</value>
??? </property>

修改 /home/hadoop/etc/hadoop/yarn-site.xml

在 <configuration> 塊兒中添加:

??? <property>
??????? <name>yarn.nodemanager.aux-services</name>
??????? <value>mapreduce_shuffle</value>
??? </property>
??? <property>
??????? <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
??????? <value>org.apache.hadoop.mapred.ShuffleHandler</value>
??? </property>
??? <property>
??????? <name>yarn.resourcemanager.address</name>
??????? <value>master:8032</value>
??? </property>
??? <property>
??????? <name>yarn.resourcemanager.scheduler.address</name>
??????? <value>master:8030</value>
??? </property>
??? <property>
??????? <name>yarn.resourcemanager.resource-tracker.address</name>
??????? <value>master:8031</value>
??? </property>
??? <property>
??????? <name>yarn.resourcemanager.admin.address</name>
??????? <value>master:8033</value>
??? </property>
??? <property>
??????? <name>yarn.resourcemanager.webapp.address</name>
??????? <value>master:8088</value>
??? </property>

修改 /home/hadoop/etc/hadoop/slaves

刪除已有內(nèi)容,添加:

slave1
slave2

修改 /home/hadoop/etc/hadoop/hadoop-env.sh

找到 export JAVA_HOME=${JAVA_HOME},改為自己JAVA_HOME的絕對路徑

?


(3)復(fù)制 hadoop 到 slave1,slave2

在 master 上執(zhí)行

$ scp -r /home/hadoop slave1:/home
$ scp -r /home/hadoop slave2:/home

注意:如果各臺服務(wù)器中JAVA_HOME位置不同,記得對 hadoop-env.sh 進(jìn)行相應(yīng)修改

(4)設(shè)置 hadoop 環(huán)境變量

在每臺服務(wù)器上都執(zhí)行:

$ vim ~/.bashrc

添加:

export PATH=$PATH:/home/hadoop/bin:/home/hadoop/sbin

保存退出

$ source ~/.bashrc

?

  • 啟動 hadoop


在master啟動hadoop,從節(jié)點會自動啟動

初始化

$ hdfs namenode -format

啟動

$ hadoop-daemon.sh start namenode
$ hadoop-daemon.sh start datanode
$ start-dfs.sh
$ start-yarn.sh
$ mr-jobhistory-daemon.sh start historyserver

檢查

查看狀態(tài),在3臺服務(wù)器上分別執(zhí)行

$ jps

?

?

瀏覽器中訪問:

http://master ip:50070/



http://master ip:8088/



可以正常訪問的話,可以說明集群啟動成功了,但不一定可以正常運行,還需要下面的實際驗證

?

測試驗證


(1)hdfs 操作

創(chuàng)建目錄

$ hdfs dfs -mkdir -p /user/hadoop/input

上傳文件,把現(xiàn)有的一些配置文件上傳到剛剛創(chuàng)建的目錄中

$ hdfs dfs -put /home/hadoop/etc/hadoop/kms*.xml /user/hadoop/input

如果沒有返回錯誤信息,說明操作成功

訪問 http://master ip:50070/,在文件瀏覽頁面查看



(2)mapreduce 操作

hadoop 安裝包中提供了一個示例程序,我們可以使用它對剛剛上傳的文件進(jìn)行測試

$ hadoop jar /home/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /user/hadoop/input /user/hadoop/output 'dfs[a-z.]+'

?



注:在執(zhí)行過程中,如果長時間處于 running 狀態(tài)不動,雖然沒有報錯,但實際上是出錯了,后臺在不斷重試,需要到 logs 目錄下查看日志文件中的錯誤信息

?

?

環(huán)境搭建完成,內(nèi)容較長,感謝閱讀,希望對想要搭建hadoop環(huán)境的朋友有點幫助

轉(zhuǎn)載于:https://www.cnblogs.com/jun1019/p/6260540.html

總結(jié)

以上是生活随笔為你收集整理的Hadoop 集群搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。