前驟:
成都創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、網(wǎng)站制作公司、網(wǎng)站營(yíng)銷(xiāo)推廣、網(wǎng)站開(kāi)發(fā)設(shè)計(jì),對(duì)服務(wù)OPP膠袋等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!Hadoop Cluster中的Daemon
HDFS:
NameNode,NN
SecondaryNode,SNN
DataNode:DN
/data/hadoop/hdfs/{nn,snn,dn}
nn:fsp_w_picpath,editlog//鏡像和編輯日志
//hdfs的NN是在內(nèi)存中存放數(shù)據(jù),不斷根據(jù)文件狀態(tài)改變,修改元數(shù)據(jù)
fsp_w_picpath存放了:文件分割后存放在哪些node上
//文件元數(shù)據(jù)的改變,會(huì)寫(xiě)入到editllog中,最后寫(xiě)入到fsp_w_picpath中,因此下次NN重啟后數(shù)據(jù)依然存在,從fsp_w_picpath中讀取數(shù)據(jù),獲取到內(nèi)存中
//一旦nn崩潰,數(shù)據(jù)恢復(fù)需要大量的時(shí)間
snn:在nn崩潰的時(shí)候,及時(shí)頂上去,省去修復(fù)nn,讓nn重新上線的時(shí)間,但是各個(gè)data node報(bào)告數(shù)據(jù)狀態(tài),進(jìn)行修復(fù)的時(shí)間依然需要。
正常情況下:snn負(fù)責(zé)copy nn的fsp_w_picpath和editlog然后在snn上合并
checkpoint:因?yàn)閚n是在不斷變化的,因此snn要指定合并到那個(gè)時(shí)間點(diǎn)上。
//官方建議30個(gè)以上的node構(gòu)建hadoop集群
data是否需要工作于raid//因?yàn)閔dfs已經(jīng)有replicate的功能,因此再次提供冗余的必要性不大
hadoop-daemon.sh 運(yùn)行進(jìn)程
在集群模式中hadoop-daemon.sh start DataNode時(shí),需要自動(dòng)的找每一個(gè)DataNode節(jié)點(diǎn),然后在每一個(gè)DataNode上自動(dòng)啟動(dòng)。
如何找到,或者如何保證命令能夠通過(guò)主控節(jié)點(diǎn),自動(dòng)連接到各從節(jié)點(diǎn),并且有權(quán)限執(zhí)行命令。
在主節(jié)點(diǎn)上:配置
YARN:
ResourceManager
NodeManager:
yarn-daemon.sh start/stop
實(shí)際運(yùn)行進(jìn)程:
【NN】 【SNN】 【RM】
| | |
---------------------------------
[node1/NN] [nod2/NN] [node3/NN]
在node上啟動(dòng):datanode進(jìn)程和nodemanager進(jìn)程即可
實(shí)驗(yàn)?zāi)P停?/p>
【NN/SNN/RM】
|
-----------------------------------------
[node1/NN] [nod2/NN] [node3/NN]
主控節(jié)點(diǎn)上運(yùn)行:namenode,secondarynamenode,resourcemanager三個(gè)進(jìn)程
其他node上啟動(dòng):datanode進(jìn)程和nodemanager進(jìn)程
預(yù)備:
1.ntpdate 同步
tzselect,
timedatactl //查看時(shí)區(qū)設(shè)置
timedatectl list-timezones # 列出所有時(shí)區(qū)
timedatectl set-local-rtc 1 # 將硬件時(shí)鐘調(diào)整為與本地時(shí)鐘一致, 0 為設(shè)置為 UTC 時(shí)間
timedatectl set-timezone Asia/Shanghai # 設(shè)置系統(tǒng)時(shí)區(qū)為上海
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //最簡(jiǎn)單的方案
2.hosts通信
172.16.100.67 node1.mt.com node1 master
172.16.100.68 node2.mt.com node2
172.16.100.69 node3.mt.com node3
172.16.100.70 node4.mt.com node4
如果需要通過(guò)master節(jié)點(diǎn)啟動(dòng)或停止整個(gè)集群,需要在master上配置運(yùn)行服務(wù)的用戶,如hdfs和yarn能夠基于密鑰ssh鏈接
node1:
一、前奏
(1)配置環(huán)境
vim /etc/profile.d/java.sh
JAVA_HOME=/usr
yum install java-1.8.0-openjdk-devel.x86_64
scp /etc/profile.d/java.sh node2:/etc/profile.d/
scp /etc/profile.d/java.sh node3:/etc/profile.d/
scp /etc/profile.d/java.sh node4:/etc/profile.d/
vim /etc/profile.d/hadoop.sh
export HADOOP_PREFIX=/bdapps/hadoop
export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin
export HADOOP_YARN_HOME=${HADOOP_PREFIX}
export HADOOP_MAPPERD_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
. /etc/profile.d/hadoop.sh
scp /etc/profile.d/hadoop.sh node2:/etc/profile.d/
scp /etc/profile.d/hadoop.sh node3:/etc/profile.d/
scp /etc/profile.d/hadoop.sh node4:/etc/profile.d/
(2)修改hosts文件
vim /etc/hosts
172.16.100.67 node1.mt.com node1 master
172.16.100.68 node2.mt.com node2
172.16.100.69 node3.mt.com node3
172.16.100.70 node4.mt.com node4
scp 到 node2,node3,node4
(3)hadoop 密鑰登錄
useradd hadoop //node2,3,4都有一個(gè)hadoop用戶
echo "hadoop" | passwd --stdin hadoop
useradd -g hadoop hadoop //這里都使用一個(gè)用戶,也可以分別創(chuàng)建yarn和hdfs用戶
su - hadoop
ssh-keygen
for i in 2 3 4; do ssh-copy-id -i .ssh/id_rsa.pub hadoop@node${i}; done
驗(yàn)證:
ssh node2 'date'
ssh node3 'date'
ssh node4 'date'
二、安裝部署hadoop
(1)解壓
mkdir -pv /bdapps/ /data/hadoop/hdfs/{nn,snn,dn} //這里的dn是用不到的,因?yàn)橹骺毓?jié)點(diǎn)是不存儲(chǔ)數(shù)據(jù)的,可以不創(chuàng)建
chown -R hadoop:hadoop /data/hadoop/hdfs
tar xvf hadoop-2.6.2.tar.gz -C /bdapps/
cd /bdapps/
ln -sv hadoop-2.6.2 hadoop
cd hadoop
mkdir logs
chown g+w logs
chown -R hadoop:hadoop ./*
(2)配置文件修改
1.core-site.xml 配置
vim etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
//hdfs的訪問(wèn)接口,master如果不能解析,用ip地址也可以
<final>true</final>
</property>
</configuration>
//core指向NN
2.yanr-site.xml文件配置
vim etc/hadoop/yarn-site.xml
<configuration>
<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>
<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.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
</configuration>
//%s/localhost/master/g //替換localhost為master
//指向ResourceManager
3.hdfs-site.xml配置
vim etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name> //dfs的副本數(shù)量
<value>2</value>
</property>
<proporty>
<name>dfs.namenode.name.dir</name>
<value>file:///data/hadoop/hdfs/nn</value>
</property>
<proporty>
<name>dfs.datanode.data.dir</name>
<value>file:///data/hadoop/hdfs/dn</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
<property>
<name>fs.checkpoint.edits.dir</name>
<value>file:///data/hadoop/hdfs/snn</value>
</property>
</configuration>
4.
mapred-site.xml 是唯一不需要修改的
默認(rèn)的就是yarn就可以
5.
vim slaves
node2
node3
node4
//slaves是datanode和nodemanager
(3)
在node2,node3,node4指定到該步驟后:chown -R hadoop:hadoop ./*
su - hadoop
scp /bdapps/hadoop/etc/hadoop/* node2:/bdapps/hadoop/etc/hadoop/
scp /bdapps/hadoop/etc/hadoop/* node3:/bdapps/hadoop/etc/hadoop/
scp /bdapps/hadoop/etc/hadoop/* node4:/bdapps/hadoop/etc/hadoop/
三.格式化然后啟動(dòng)
su - hadoop
hdfs namenode -format
顯示/data/hadoop/hdfs/nn hash been successful formatted 表示成功
啟動(dòng)hadoop方式有兩種:
1.在各節(jié)點(diǎn)上分別啟動(dòng)要啟動(dòng)的服務(wù)
啟動(dòng)yarn服務(wù)要使用yarn用戶身份
master節(jié)點(diǎn):NameNode服務(wù)和ResourceManager服務(wù)
su - hdfs -c 'hadoop-daemon.sh start namenode'
su - hdfs -c 'yarn-daemon.sh start resourcemanager'
slave節(jié)點(diǎn):DataNode服務(wù)和NodeManager服務(wù)
su - hdfs -c 'hadoop-daemon.sh start datanode'
su - hdfs -c 'yarn-daemon.sh start nodemanager'
2.在master上啟動(dòng)整個(gè)集群
su - hdfs -c 'start-dfs.sh'
su - hdfs -c 'start-yarn.sh'
老版本通過(guò)start-all.sh和stop-all.sh來(lái)控制hdfs和mapreduce
啟動(dòng)服務(wù):
su - hdfs -c 'start-dfs.sh'
su - hdfs -c 'stop-dfs.sh' //關(guān)閉hdfs
會(huì)提示在,2,3,4節(jié)點(diǎn)上啟動(dòng)
su - hdfs -c 'start-yarn.sh'
master啟動(dòng)resourcemanager
slave上啟動(dòng)nodemanager
測(cè)試:
node3: su - hadoop
jps //查看DataNode進(jìn)程和NodeManager進(jìn)程
node1:su - hadoop
jps //啟動(dòng)的有secondaryNameNode和NameNode進(jìn)程
hdfs dfs -mkdir /test
hdfs dfs -put /etc/fstab /test/fstab
hdfs dfs -ls -R /test
hdfs dfs -cat /test/fstab
node3:
ls /data/hadoop/hdfs/dn/current/..../blk,... 存儲(chǔ)在這里
注意:node2,3,4中有一個(gè)是沒(méi)有存儲(chǔ)該文件的,因?yàn)槎x的slaves 為2個(gè)
vim etc/hadoop/hdfs-site.xml
<name>dfs.replication</name> //dfs的副本數(shù)量
<value>2</value>
Web接口查看:
172.16.100.67:8088
內(nèi)存顯示為24G,因?yàn)?G,每個(gè)node的物理內(nèi)存代大小為8G
172.16.100.67:50070
datanode: 有三個(gè)
單個(gè)文件太小的是不會(huì)被切割的,大于64M的文件會(huì)被切片
可以直接上傳壓縮文件,會(huì)被切塊
運(yùn)行任務(wù)測(cè)試:
yarn jar /bdapps/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-example-2.6.jar wordcount /test/fstab /test/functions /test/wc
hdfs dfs cat /test/wc/part-r-0000
四、其他節(jié)點(diǎn)
node2:
user hadoop
echo "hadoop" | passwd --stdin hadoop
mkdir -pv /bdapps /data/hadoop/hdfs/{nn,snn,dn} //只有dn有用
chown -R hadoop:hadoop /data/hadoop/hdfs/
tar xvf hadoop-2.6.2.tar.gz -C /bdapps/
cd /bdapps/
ln -sv hadoop-2.6.2 hadoop
cd hadoop
mkdir logs
chown g+w logs
chown -R hadoop:hadoop ./*
//可以在修改配置文件后,直接復(fù)制到node3和node4上因?yàn)榕渲枚家粯?/p>
node3:
user hadoop
echo "hadoop" | passwd --stdin hadoop
mkdir -pv /bdapps /data/hadoop/hdfs/{nn,snn,dn} //只有dn有用
chown -R hadoop:hadoop /data/hadoop/hdfs/
tar xvf hadoop-2.6.2.tar.gz -C /bdapps/
cd /bdapps/
ln -sv hadoop-2.6.2 hadoop
cd hadoop
mkdir logs
chown g+w logs
chown -R hadoop:hadoop ./*
node4:
user hadoop
echo "hadoop" | passwd --stdin hadoop
mkdir -pv /bdapps /data/hadoop/hdfs/{nn,snn,dn} //只有dn有用
chown -R hadoop:hadoop /data/hadoop/hdfs/
tar xvf hadoop-2.6.2.tar.gz -C /bdapps/
cd /bdapps/
ln -sv hadoop-2.6.2 hadoop
cd hadoop
mkdir logs
chown g+w logs
chown -R hadoop:hadoop ./*
=====================================================
yarn的集群管理命令
yarn [--config confdir] COMMAND
resourcemanager-format-state-store //刪除RMStateStore
resourcemanager //運(yùn)行ResourceManager
nodemanaer //運(yùn)行nodemanager on each slave
timelineserver //運(yùn)行timelineserver,任務(wù)編排,時(shí)間線
rmadmin //resourcemanager管理
version
jar //運(yùn)行jar文件
application //顯示application信息
report/kill application
applicationattempt //嘗試運(yùn)行相關(guān)報(bào)告
container //容器相關(guān)信息
node //顯示node
queue //報(bào)告隊(duì)列信息
logs //備份容器日志
classpath //顯示java運(yùn)行程序時(shí)的類加載路徑
daemonlog //獲取守護(hù)進(jìn)程的日志級(jí)別
jar,application,node,logs,classpath,version 是常用的用戶命令
resourcemanager,nodemanager,proxyserver,rmadmin,daemon是常用的管理類命令
yarn application [options]
-status ApplicationID 狀態(tài)信息
yarn application -status application_1494685700454_0001
-list 列出yarn上的application列表
-appTypes:MAPREDUCE,YARN
-appStates:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED,KILLED
yarn application -appStates=all
-kill ApplicationID
yarn node
-list //例出node列表
-states: NEW,RUNNING,UNHEALTHY不健康,DECOMMISSION退役的,LOST,REBOOTED
-staus Node-ID //顯示節(jié)點(diǎn)信息
logs:顯示已經(jīng)完成的YARN程序的日志(及狀態(tài)為:FAILED,KILLED,FINISHED)
如果需要在命令行查看日志需要配置yarn-site.xml
yarn.log-aggregation-enable 屬性值為true
yarn logs -applicationId [applicationID] [options]
-applicationId applicationID必備選項(xiàng),用于從ResourceManager獲取其詳細(xì)信息。
-appOwner APPOwner默認(rèn)為當(dāng)前用戶,可選
-nodeAddress NodeAddress -containerId containerID:獲取當(dāng)前指定節(jié)點(diǎn)上指定容器的相關(guān)信息;其中NodeAddress的格式同NodeId
classpath:
yarn calasspath //加載java程序路徑
管理命令:
rmadmin
nodemanager
timelineserver
rmadmin是ResourceManager的客戶端程序,可用于刷新訪問(wèn)控制策略、調(diào)度器隊(duì)列及注冊(cè)到RM上的節(jié)點(diǎn)等。
刷新之后,無(wú)需重啟即可生效。
yarn rmadmin [options]
-help
-refreshQueues:重載隊(duì)列的acl,狀態(tài)及調(diào)用器隊(duì)列;它會(huì)根據(jù)配置文件中的配置信息重新初始化調(diào)度器
-refreshNodes:為RM刷新主機(jī)信息,它通過(guò)讀取RM節(jié)點(diǎn)的include和exclude文件來(lái)更新集群需要包含或排除的節(jié)點(diǎn)列表。
-refreshUserToGroupMappings:根據(jù)配置的Hadoop安全組映射,通過(guò)刷新組緩存中的信息來(lái)更新用戶和組之間的映射關(guān)系。
-refreshSuperUserGroupsConfiguration:刷新超級(jí)用戶代理組映射,以及更新代理主機(jī)和core-site.xml配置文件中的hadoop.proxyuser屬性定義的代理組
-refreshAdminAcls:根據(jù)yarn站點(diǎn)配置文件或默認(rèn)配置文件的yarn.admin.acl屬性刷新RM的管理ACL;
-refreshServiceAcl:重載服務(wù)級(jí)別授權(quán)策略文件,而后RM將重載授權(quán)策略文件;它會(huì)檢查hadoop安全授權(quán)是否啟用并為IPC Server,ApplicationMaster,Client及Resource tracker刷新ACL;
DaemonLog:查看或更細(xì)
http://host:port/logLevel?log=name service?
yarn daemonlog [options] args
-getLevel host:port name:顯示指定守護(hù)進(jìn)程的日志級(jí)別
-getLevel host:port level:設(shè)置守護(hù)進(jìn)程的日志級(jí)別
運(yùn)行YARN application
yarn application可以是一個(gè)shell腳本,MapReduce作業(yè)或者其他類型的任意作業(yè)。
步驟:
1.Application初始化提交 //client端完成
2.分配內(nèi)存并啟動(dòng)AM //RM完成
3.AM注冊(cè)及資源分配 //AM在nodemanager上完成
4.啟動(dòng)并監(jiān)控容器 //AM向NM報(bào)告,NM報(bào)告RM完成
5.Application進(jìn)度報(bào)告 //AM完成
6.Application進(jìn)度完成 //
利用ambari部署hadoop集群
https://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.5.0
IBM官方技術(shù)論壇:https://www.ibm.com/developerworks/cn/opensource/
Ambari 2.2.2 下載資源
OS Format URL
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz
HDP 2.4.2 下載資源
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/HDP-2.4.2.0-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
標(biāo)題名稱:hadoo分布式安裝-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://jinyejixie.com/article10/egego.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、商城網(wǎng)站、云服務(wù)器、網(wǎng)站營(yíng)銷(xiāo)、網(wǎng)站導(dǎo)航、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容