詳解Hadoop 運(yùn)行環(huán)境搭建過(guò)程
一,集群搭建步驟
1.先在一臺(tái)虛擬機(jī)配置jdk,hadoop
2.克隆
3.修改網(wǎng)絡(luò)等相關(guān)配置
當(dāng)我們使用虛擬機(jī)時(shí),可能自然而然的會(huì)想上面的步驟一樣先搭建一臺(tái)虛擬機(jī),做好相關(guān)配置,然后進(jìn)行克隆,繼而修改一些網(wǎng)絡(luò)配置來(lái)搭建集群,但是在生產(chǎn)過(guò)程中是買好的服務(wù)器,不存在克隆這一說(shuō),所以在此采用的步驟是:
1.建立一臺(tái)虛擬機(jī)(僅帶jdk安裝包)
2.克隆
3.修改網(wǎng)絡(luò)等相關(guān)配置
4.配置第一個(gè)hadoop節(jié)點(diǎn),編寫集群分發(fā)腳本使其他虛擬機(jī)完成配置
二,具體搭建過(guò)程
這里使用三臺(tái)虛擬機(jī)來(lái)完成集群搭建,hadoop001,hadoop002,hadoop003,把安裝包放在/opt/software,建立虛擬機(jī)和克隆就不說(shuō)了,注意一點(diǎn),在個(gè)人用不能使用sudo命令在/opt建立文件,可以先使用root,然后通過(guò)chown scq:scq module/ software/ -R
把擁有著賦給個(gè)人用戶即可
修改網(wǎng)絡(luò)等配置修改sudoer文件
#當(dāng)用戶執(zhí)行sudo時(shí),系統(tǒng)會(huì)主動(dòng)尋找/etc/sudoers文件,判斷該用戶是否有執(zhí)行sudo的權(quán)限
把eth0刪除,把eth1改為eth0,同時(shí)復(fù)制ATTR{address}的值
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
把ATTR{address}粘到HWADDR
然后更改IP,ip可以通過(guò)圖形化界面和命令行兩種方式進(jìn)行更改
這里需要重啟一下(可以等所有配置完成后再重啟),如果我們只是修改ip,可以通過(guò)sudo /etc/rc.d/init.d/network restart
進(jìn)行網(wǎng)絡(luò)重啟即可,但是修改網(wǎng)卡配置通過(guò)這個(gè)命令會(huì)報(bào)錯(cuò)網(wǎng)上說(shuō)eth0 里仍然記錄著舊的MAC地址,但我更新了sudo /etc/sysconfig/network-scripts/ifcfg-eth0
仍然不行
BOOTPROTO=static 靜態(tài)IPBOOTPROTO=dhcp 動(dòng)態(tài)IPBOOTPROTO=none 無(wú)(圖形化界面修改時(shí)BOOTPROTO值為none)
修改主機(jī)名
主機(jī)名是什么:在命令行中敲入hostname或者命令行每一行中 @后面的內(nèi)容
sudo vim /etc/sysconfig/network
重啟生效,不重啟生效的方式不常見,可以自行百度。
修改hosts文件
sudo vim /etc/hosts[/code]關(guān)閉防火墻[code]centos6/etc/init.d/iptables status/etc/init.d/iptables start/etc/init.d/iptables stopchkconfig iptables offcentos7systemctl start firewalldfirewall-cmd --statesystemctl stop firewalldsystemctl disable firewalldsystemctl list-unit-files|grep firewalld
注:
1.每次開機(jī)時(shí)修改一下/etc/resolv.conf文件設(shè)置網(wǎng)關(guān)
安裝hadoop,形成hadoop集群安裝單個(gè)hadoop
①解壓,配置環(huán)境變量
②配置文件
對(duì)于本地模式,因?yàn)楸镜啬J街苯舆\(yùn)行jvm上,所以不需要對(duì)配置文件做配置
對(duì)于偽分布式與完全分布式的常見相關(guān)配置集中在以下文件中
HDFShadoop-env.shcore-site.xml ---> nameNode節(jié)點(diǎn) + hadoop 運(yùn)行時(shí)產(chǎn)生文件的存儲(chǔ)目錄hdfs-site.xml 副本數(shù) + SecondaryNameNode地址Yarnyarn-env.sh yarn-site.xml reducer 獲取數(shù)據(jù)的方式 + 指定 YARN 的 ResourceManager 的地址 + 日志信息上傳到 HDFS 系統(tǒng)上MapReducemapred-env.sh mapred-site.xml 指定 mr 運(yùn)行在 yarn 上 + 歷史服務(wù)器 對(duì)于xxx-env.sh 就是考慮JAVA_HOME。hadoop-env.sh添加JAVA_HOME,yarn可以辨別JAVA_HOME,mapreduce-env.sh可以不用配置,當(dāng)然也可以全部都配置
常見的具體配置
<property><name>fs.defaultFS</name><value>hdfs://hadoop001:9000</value> </property><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-2.7.2/data/tmp</value> </property>偽分布式 副本1,無(wú)SecondaryNameNode節(jié)點(diǎn)<property><name>dfs.replication</name><value>3</value></property><property><name>dfs.namenode.secondary.http-address</name> <value>hadoop004:50090</value></property><!-- reducer 獲取數(shù)據(jù)的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!-- 指定 YARN 的 ResourceManager 的地址 --><property><name>yarn.resourcemanager.hostname</name><value>hadoop001</value></property> <!-- 日志聚集功能使能 --><property><name>yarn.log-aggregation-enable</name><value>true</value></property><!-- 日志保留時(shí)間設(shè)置 7 天 --><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property><!-- 指定 mr 運(yùn)行在 yarn 上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property> <!-- 配置歷史服務(wù)器--><property><name>mapreduce.jobhistory.address</name><value>hadoop001:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>hadoop001:19888</value> </property>
編寫集群分發(fā)腳本
1) scp:secure copy 安全拷貝
(a)將 hadoop001 中/opt/module 目錄下的軟件拷貝到 hadoop002 上。
[scq@hadoop001 /]$ scp -r /opt/module/* scq@hadoop002:/opt/module
(b)將 hadoop001 服務(wù)器上的/opt/module 目錄下的軟件拷貝到 hadoop003 上。
scq@hadoop003 opt]$ scp -r scq@hadoop101:/opt/module/* hadoop003:/opt/module
(c)在 hadoop003 上操作將 hadoop001 中/opt/module 目錄下的軟件拷貝到hadoop004 上。
[scq@hadoop003 opt]$ scp -r scq@hadoop001:/opt/module/* scq@hadoop004:/opt/modul
注意一點(diǎn):
1.用戶@主機(jī)名:地址,在該主機(jī)中,這個(gè)用戶必須讀地址有讀權(quán)限
2.路徑后面記得帶*號(hào)
2)rsync 遠(yuǎn)程同步工具
主要用于備份和鏡像。具有速度快、避免復(fù)制相同內(nèi)容和支持符號(hào)鏈接的優(yōu)點(diǎn)。
rsync 和 scp 區(qū)別: 用 rsync 做文件的復(fù)制要比 scp 的速度快, rsync 只對(duì)差異文件做更新。 scp 是把所有文件都復(fù)制過(guò)去。
(1)查看 rsync 使用說(shuō)明
man rsync | more
(2)基本語(yǔ)法
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
命令 命令參數(shù) 要拷貝的文件路徑/名稱 目的用戶@主機(jī):目的路徑
(3) 選項(xiàng)說(shuō)明
選項(xiàng) 功能
-r 遞歸
-v 顯示復(fù)制過(guò)程
-l 拷貝符號(hào)連接
(4)案例實(shí)操
把本機(jī)/opt/software 目錄同步到 hadoop002 服務(wù)器的 root 用戶下的/opt/目錄
[scq@hadoop001 opt]$ rsync -rvl /opt/software/* hadoop102:/opt/software/
3)rsync 遠(yuǎn)程同步工具
腳本需求分析:循環(huán)復(fù)制文件到所有節(jié)點(diǎn)的相同目錄下。
(1)原始拷貝:
rsync -rvl /opt/module root@hadoop103:/opt/
(2)期望腳本:
xsync 要同步的文件名稱
(3)在/home/atguigu/bin 這個(gè)目錄下存放的腳本, atguigu 用戶可以在系統(tǒng)任何地方直接執(zhí)行。
#!/bin/bash#1 獲取輸入?yún)?shù)個(gè)數(shù),如果沒(méi)有參數(shù),直接退出pcount=$#if((pcount==0)); then echo no args;exit;fi#2 獲取文件名稱p1=$1fname=`basename $p1`echo fname=$fname#3 獲取上級(jí)目錄到絕對(duì)路徑pdir=`cd -P $(dirname $p1); pwd`echo pdir=$pdir#4 獲取當(dāng)前用戶名稱user=`whoami`#5 循環(huán)for((host=2; host<4; host++)); doecho --------------------- hadoop00$host ----------------rsync -rvl $pdir/$fname $user@hadoop00$host:$pdirdone
注1 對(duì)于dirname,記住一下幾個(gè)場(chǎng)景
輸入:dirname // 結(jié)果為 /(斜杠)。
輸入:dirname /a/b/ 結(jié)果為:/a。輸入:dirname a 結(jié)果為 . (點(diǎn))。
輸入:dirname a/b 結(jié)果為路徑名 a
.即當(dāng)前目錄,所以腳本中的代碼我們使用絕對(duì)路徑和相對(duì)路徑都是可行的
注
2.腳本中并沒(méi)有使用*,這個(gè)應(yīng)該也不難理解
分發(fā)Hadoop,完成集群搭建
[scq@hadoop001 bin]$ ./xsync /opt/module/hadoop-2.7.2
總結(jié)
以上所述是小編給大家介紹的Hadoop 運(yùn)行環(huán)境搭建過(guò)程,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Keras搭建Efficientdet目標(biāo)檢測(cè)平臺(tái)的實(shí)現(xiàn)思路
EfficientNet模型具有很獨(dú)特的特點(diǎn),這個(gè)特點(diǎn)是參考其它優(yōu)秀神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)出來(lái)的,本文以Efficientnet-B0和Efficientdet-D0為例,進(jìn)行Efficientdet的解析,感興趣的朋友一起看看吧2021-06-06Maui Blazor 使用攝像頭實(shí)現(xiàn)代碼
由于Maui Blazor中界面是由WebView渲染,所以再使用Android的攝像頭時(shí)無(wú)法去獲取,因?yàn)樵臄z像頭需要綁定界面組件,這篇文章主要介紹了Maui Blazor 使用攝像頭實(shí)現(xiàn),需要的朋友可以參考下2023-01-01Trie樹_字典樹(字符串排序)簡(jiǎn)介及實(shí)現(xiàn)
有時(shí),我們會(huì)碰到對(duì)字符串的排序,若采用一些經(jīng)典的排序算法,則時(shí)間復(fù)雜度一般為O(n*lgn),但若采用Trie樹,則時(shí)間復(fù)雜度僅為O(n)2014-03-03動(dòng)態(tài)語(yǔ)言、動(dòng)態(tài)類型語(yǔ)言、靜態(tài)類型語(yǔ)言、強(qiáng)類型語(yǔ)言、弱類型語(yǔ)言介紹
這篇文章主要介紹了動(dòng)態(tài)語(yǔ)言、動(dòng)態(tài)類型語(yǔ)言、靜態(tài)類型語(yǔ)言、強(qiáng)類型語(yǔ)言、弱類型語(yǔ)言介紹,需要的朋友可以參考下2015-04-04多種語(yǔ)言下獲取當(dāng)前頁(yè)完整URL及其參數(shù)
多種語(yǔ)言下獲取當(dāng)前頁(yè)完整URL及其參數(shù)...2007-04-04編程知識(shí)點(diǎn)(1)關(guān)鍵詞之存儲(chǔ)類型
這篇文章主要介紹了編程知識(shí)點(diǎn)(1)關(guān)鍵詞之存儲(chǔ)類型的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2020-07-07vscode調(diào)用HTML文件的實(shí)現(xiàn)步驟
利用Vscode軟件編寫html的時(shí)候,一般都想右鍵選擇html文件,本文主要介紹了vscode調(diào)用HTML文件的實(shí)現(xiàn)步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12