目錄
成都創(chuàng)新互聯(lián)公司是一家業(yè)務范圍包括IDC托管業(yè)務,網(wǎng)站空間、主機租用、主機托管,四川、重慶、廣東電信服務器租用,德陽機房服務器托管,成都網(wǎng)通服務器托管,成都服務器租用,業(yè)務范圍遍及中國大陸、港澳臺以及歐美等多個國家及地區(qū)的互聯(lián)網(wǎng)數(shù)據(jù)服務公司。
前言
一、HADOOP HA之NameNode HA集群配置
1、修改hadoop-env.sh
2、修改core-site.xml
3、修改hdfs-site.xml
4、修改workers
5、同步配置文件
6、啟動zookeeper集群
7、啟動journalnode
8、格式化namenode
9、同步元數(shù)據(jù)
10、格式化ZKFC
11、啟動HDFS
二、HADOOP HA之NameNode HA集群應用
1、查看兩個NameNode的運行狀態(tài)
(1)命令行? (nn2是?NameNode的名字,可以換成nn1)
(2)Hadoop的Web UI界面
2、關閉集群中的原Active NameNode,查看原Standby NameNode的運行狀態(tài)
3、重新啟動原Active NameNode,依次查看原Active NameNode和原Standby NameNode的運行狀態(tài)
問題
1、Active NameNode關閉后Standby NameNode沒有自動切換成Active NameNode
2、兩個NameNode的運行狀態(tài)都是Standby
3、Standby NameNode啟動不了
參考
本文只講解HADOOP HA的NameNode HA集群配置與應用,Yarn HA不作講解。
集群基礎環(huán)境準備:
1、已經(jīng)搭建好Hadoop和zookeeper集群
2、在本地主機的 /etc/hosts文件修改集群各個主機名和IP的映射關系(訪問Hadoop的Web UI界面時需要)
3、配置好ssh免登陸
找到你配置hadoop的目錄,想不起來可以用which hadoop命令行查看,在bin的同級目錄etc下找到hadoop配置文件所在目錄,進行修改配置文件。
vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk-8u162-linux-x64/jdk1.8.0_162
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/opt/module
export PATH=$HADOOP_HOME/bin:$PATH
export PATH=$HADOOP_HOME/sbin:$PATH
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root
把jdk和hadoop的配置路徑換成你自己的,可以用which java和which hadoop命令行查看。
2、修改core-site.xmlvi core-site.xml
fs.defaultFS hdfs://mycluster hadoop.tmp.dir file:/home/hadoop/tmp io.file.buffer.size 131702 ha.zookeeper.quorum hadoop1:2181,hadoop2:2181,hadoop3:2181
我Hadoop集群的主機名是hadoop1、hadoop2、hadoop3(記得完成主機名和ip地址映射,不然會出問題),換成你自己集群的主機名。
3、修改hdfs-site.xmlvi hdfs-site.xml
dfs.namenode.name.dir file:/home/hadoop/hdfs_name dfs.datanode.data.dir file:/home/hadoop/hdfs_data dfs.replication 2 dfs.webhdfs.enabled true dfs.nameservices mycluster dfs.ha.namenodes.mycluster nn1,nn2 dfs.namenode.rpc-address.mycluster.nn1 hadoop1:8020 dfs.namenode.http-address.mycluster.nn1 hadoop1:9870 dfs.namenode.rpc-address.mycluster.nn2 hadoop2:8020 dfs.namenode.http-address.mycluster.nn2 hadoop2:9870 dfs.namenode.shared.edits.dir qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/mycluster dfs.journalnode.edits.dir /home/hadoop/data/journaldata dfs.ha.automatic-failover.enabled true dfs.client.failover.proxy.provider.mycluster org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider dfs.ha.fencing.methods sshfence
shell(/bin/true) dfs.ha.fencing.ssh.private-key-files /root/.ssh/id_rsa dfs.ha.fencing.ssh.connect-timeout 30000
集群的主機名和存放數(shù)據(jù)的目錄換成你自己的。
4、修改workersvi workers
hadoop1
hadoop2
hadoop3
換成你自己集群的主機名。
5、同步配置文件返回上一層目錄,把hadoop目錄下的配置文件同步給集群中的其他主機,-r后加目錄路徑,@后加主機名,如果新建了存放數(shù)據(jù)的目錄也要同步給集群中的其他主機。
cd ..
scp -r hadoop root@hadoop2:$PWD
6、啟動zookeeper集群在集群中的每臺主機上啟動zookeeper,在zookeeper安裝目錄下輸入:
bin/zkServer.sh start
查看狀態(tài):一般是一個leader,兩個follower
bin/zkServer.sh status
7、啟動journalnode在集群中的每臺主機上啟動journalnode,用jps命令行查看進程,可以看到JournalNode進程
hdfs --daemon start journalnode
jps
8、格式化namenode格式化和啟動namenode,在hadoop1上執(zhí)行命令:
hdfs namenode -format
hdfs --daemon start namenode
9、同步元數(shù)據(jù)在hadoop2上執(zhí)行命令:
hdfs namenode -bootstrapStandby
10、格式化ZKFC在哪臺主機上執(zhí)行,哪臺主機就將成為第一次的Active Namenode
hdfs zkfc -formatZK
11、啟動HDFS在hadoop1上執(zhí)行命令:
start-dfs.sh
二、HADOOP HA之NameNode HA集群應用
1、查看兩個NameNode的運行狀態(tài)有兩種方式可以查看:
(1)命令行? (nn2是?NameNode的名字,可以換成nn1)hdfs haadmin -getServiceState nn2
(2)Hadoop的Web UI界面在瀏覽器網(wǎng)址欄輸入:http://hadoop1:9870/? 和??http://hadoop2:9870/
我是用docker在虛擬機里搭建hadoop集群的,所以用虛擬機主機里的瀏覽器查看,如果是開了三臺虛擬機搭建hadoop集群的話,在電腦本地的瀏覽器查看即可。如果用主機名+端口訪問不了,應該是主機號和ip地址映射沒做好,可以直接用ip地址+端口號訪問;如果還是訪問不了那就是配置文件沒改好,或者是防火墻沒關閉等等。
? hadoop1的NameNode原來是Active NameNode,hadoop2的NameNode原來是Standby NameNode,所以在hadoop1中關閉NameNode,輸入:
hdfs --daemon stop namenode
? 也可以用jps查看進程號,kill -9 進程號,結束NameNode進程。刷新網(wǎng)頁后,發(fā)現(xiàn)hadoop1的NameNode訪問不了,hadoop2的NameNode變成了Active NameNode。
在hadoop1中輸入:
hdfs --daemon start namenode
刷新網(wǎng)頁后,hadoop1的NameNode可以訪問且變成了Standby NameNode,hadoop2的NameNode是Active NameNode。
問題 1、Active NameNode關閉后Standby NameNode沒有自動切換成Active NameNode解決方法:CentOS可能沒有自帶fuster 程序,但是在hdfs-site.xml中用到了fuster 程序,所以得自己安裝(每臺主機上都要安裝),安裝完如果還是不行,可以重啟所有虛擬機再試試。
yum -y install psmisc
2、兩個NameNode的運行狀態(tài)都是Standby解決方法:強制選定一個NameNode為Active NameNode,nn1是名稱節(jié)點的名字,換成你選定的
NameNode的名字
hdfs haadmin -transitionToActive --forcemanual nn1
3、Standby NameNode啟動不了解決方法:從Active NameNode拉取FSimage和元數(shù)據(jù),再啟動Standby NameNode
hdfs namenode -bootstrapStandby
參考黑馬程序員:HADOOP HA集群搭建
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文題目:HADOOPHA之NameNodeHA集群配置與應用-創(chuàng)新互聯(lián)
分享鏈接:http://aaarwkj.com/article2/gieic.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、定制網(wǎng)站、動態(tài)網(wǎng)站、網(wǎng)站維護、網(wǎng)站排名、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內容