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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Hadoop 00_hadoop伪分布式,完全分布式,HA搭建

發布時間:2024/2/28 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop 00_hadoop伪分布式,完全分布式,HA搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偽分布式 (single node setup)
---------------------------


安裝jdk、配置環境變量,測試
rpm -i jdk-7u67-linux-x64.rpm
cd /usr/java/jdk1.7.0_67/
vi + /etc/profile
?? ?export JAVA_HOME=/usr/java/jdk1.7.0_67
?? ?PATH=$PATH:$JAVA_HOME/bin
. /etc/profile

免秘鑰
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys


hadoop包安裝并配置環變:hadoop-2.6.5.tar.gz
tar xf hadoop-2.6.5.tar.gz -C /opt/sxt
vi + /etc/profile
?? ?export HADOOP_HOME=/opt/sxt/hadoop-2.6.5
?? ?PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

Hadoop的第二次JAVA_HOME 環境變量配置
cd /opt/sxt/hadoop-2.6.5/etc/hadoop
echo $JAVA_HOME


vi hadoop-env.sh
?? ?export JAVA_HOME=/usr/java/jdk1.7.0_67


vi mapred-env.sh
?? ?export JAVA_HOME=/usr/java/jdk1.7.0_67
?? ?
vi yarn-env.sh
?? ?export JAVA_HOME=/usr/java/jdk1.7.0_67


配置core-site.xml
vi core-site.xml

? ? <property>
? ? ? ? <name>fs.defaultFS</name>
? ? ? ? <value>hdfs://node06:9000</value>
? ? </property>
? ? <property>
? ? ? ? <name>hadoop.tmp.dir</name>
? ? ? ? <value>/var/sxt/hadoop/local</value>
? ? </property>


配置hdfs-site.xml
? ? ? ? ? ? ??
? ? <property>
? ? ? ? <name>dfs.replication</name>
? ? ? ? <value>1</value>
? ? </property>
? ? <property>
? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? <value>node06:50090</value>
? ? </property>
配置slaves文件
? ? ? ? ? ? ? ? ?vi slaves node06
格式化hdfs
? ? ? ? ? hdfs namenode -format ?(只能格式化一次,再次啟動集群不要執行)
啟動集群
? ? ? ? ?start-dfs.sh

角色進程查看:jps
幫助: hdfs?
? ? ? ?hdfs dfs ?? ?

查看web UI: IP:50070
? ? ?創建目錄:hdfs dfs ?-mkdir -p ?/user/root
?? ??? ?
? ? ?查看目錄: ?hdfs dfs -ls ? /
?? ?
? ? ?上傳文件: hdfs dfs -put ?hadoop-2.6.5.tar.gz ? /user/root?? ??? ??? ??? ?
? ??
? ? ? 停止集群:stop-dfs.sh

***************************************************************************************************

全分布安裝
---------------------------------------------
前期準備:

jdk
hostname
hosts
?? ?cat /etc/hosts
date
?? ?date -s "2019-9-29 14:09:50"
network
?? ?cat /etc/sysconfig/network
?? ??? ?NETWORKING=YES
?? ??? ?HOSTNAME=sxt0002

cat /etc/sysconfig/selinux
?? ?SELINUX=disabled


安全機制
?? ??? ?
firewall
windows 域名映射

節點: node06/07/08/09
全分布分配方案:

?? ??? ?NN?? ??? ?SNN?? ??? ?DN
NODE06?? ??? ?*
NODE07?? ??? ??? ??? ?*?? ??? ?*?? ?
NODE08?? ??? ??? ??? ??? ??? ?*
NODE09?? ??? ??? ??? ??? ??? ?*


節點狀態:
?? ?node06: 偽分布
?? ?node07/08/09 : ?ip配置完成
建立各節點通訊(hosts)

設置時間同步:date -s “xxxx-x-xx xx:xx:xx”


秘鑰分發:?
在每個節點上登錄一下自己:產生.ssh目錄
從node06向node07/node08/node09分發公鑰 (公鑰的名稱要變化)
scp ?id_dsa.pub ? node03:`pwd`/node06.pub

各節點把node01的公鑰追加到認證文件里:
cat ~/node06.pub ?>> ~/.ssh/authorized_keys


07/node08/node09安裝jdk環境,node06分發profile給其他節點,并重讀配置文件

分發hadoop部署程序2.6.5 到其他節點


copy node06 下的 hadoop 為 hadoop-local (管理腳本只會讀取hadoop目錄)

[root@node06 etc]# cp -r hadoop ? hadoop-local

配置core-site.xml
?? ?<property>
? ? ? ? ?? ?<name>hadoop.tmp.dir</name>
? ? ? ? ?? ?<value>/var/henu/hadoop/full</value>
? ? ?? ?</property>
配置hdfs-site.xml
?? ?<property>
? ? ?? ? ? ?<name>dfs.replication</name>
? ? ? ? ? ? <value>3</value>
? ? ? ? </property>
?? ?<property>
? ? ? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? ? ? <value>node03:50090</value>
? ? ? ? </property>


配置slaves

分發sxt到其他07,08,09節點

格式化集群:hdfs namenode -format

啟動集群:start-dfs.sh
Jps ?查看各節點進程啟動情況


HA?
------------------------------------------

?? ??? ?NN1?? ??? ?NN2?? ??? ?DN?? ??? ?ZK?? ??? ?ZKFC?? ??? ?JNN
NODE06?? ??? ?*?? ??? ??? ??? ??? ??? ??? ??? ?*?? ??? ?*
NODE07?? ??? ??? ??? ?*?? ??? ?*?? ??? ?*?? ??? ?*?? ??? ?*
NODE08?? ??? ??? ??? ??? ??? ?*?? ??? ?*?? ??? ??? ??? ?*
NODE09?? ??? ??? ??? ??? ??? ?*?? ??? ?*


兩個nn節點免秘鑰
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

-------------------------
進入hadoop-2.6.5/etc目錄 (可以通過變量:cd $HADOOP_HOME)
拷貝hadoop 為 hadoop-full

hdfs.xml
---------------------------------------

去掉snn的配置

?<property>
? ? ? ? ? ? ? ? ? <name>dfs.namenode.secondary.http-address</name>
? ? ? ? ? ?? ? ?<value>node07:50090</value>
?</property>


增加:

<property>
? <name>dfs.nameservices</name>
? <value>mycluster</value>
</property>
<property>
? <name>dfs.ha.namenodes.mycluster</name>
? <value>nn1,nn2</value>
</property>
<property>
? <name>dfs.namenode.rpc-address.mycluster.nn1</name>
? <value>node06:8020</value>
</property>
<property>
? <name>dfs.namenode.rpc-address.mycluster.nn2</name>
? <value>node07:8020</value>
</property>
<property>
? <name>dfs.namenode.http-address.mycluster.nn1</name>
? <value>node06:50070</value>
</property>
<property>
? <name>dfs.namenode.http-address.mycluster.nn2</name>
? <value>node07:50070</value>
</property>

<property>
? <name>dfs.namenode.shared.edits.dir</name>
? <value>qjournal://node06:8485;node07:8485;node08:8485/mycluster</value>
</property>

<property>
? <name>dfs.journalnode.edits.dir</name>
? <value>/var/sxt/hadoop/ha/jn</value>
</property>


<property>
? <name>dfs.client.failover.proxy.provider.mycluster</name>
? <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
? <name>dfs.ha.fencing.methods</name>
? <value>sshfence</value>
</property>
<property>
? <name>dfs.ha.fencing.ssh.private-key-files</name>
? <value>/root/.ssh/id_dsa</value>
</property>

<property>
? ?<name>dfs.ha.automatic-failover.enabled</name>
? ?<value>true</value>
?</property>

core-site.xml
-----------------------------------------

hadoop.tmp.dir的配置要變更:/var/sxt/hadoop-2.6/ha

<property>
? <name>fs.defaultFS</name>
? <value>hdfs://mycluster</value>
</property>

<property>
? ?<name>ha.zookeeper.quorum</name>
? ?<value>node07:2181,node08:2181,node09:2181</value>
</property>


分發 hdfs.xml 和core.xml 給其他節點


安裝zookeeper集群:
----------------------------
1.3節點 java 安裝?

2.所有集群節點創建目錄: mkdir opt/sxt ?

3.zk壓縮包解壓在其他路徑下::
?? ?#?? ?tar xf zookeeper-3.4.6.tar.gz -C /opt/sxt/

4.進入conf目錄,拷貝zoo_sample.cfg zoo.cfg 并配置
? ?dataDir,集群節點。

5.單節點配置環境變量、并分發 ZOOKEEPER_PREFIX,共享模式讀取profile?

6. 共享創建 /var/sxt/zk目錄,進入各自目錄 分別輸出1,2,3 至文件 myid
?? ?echo 1 > /var/sxt/zk/myid
?? ?...

7. 共享啟動zkServer.sh start 集群


8.啟動客戶端 help命令查看


6,7,8節點啟動jn 集群
-------------------------
hadoop-daemon.sh start journalnode

隨意找一個nn節點格式化:
[root@node06 hadoop]# hdfs namenode -format

啟動該節點:
[root@node06 hadoop]# hadoop-daemon.sh start namenode

另一nn節點同步:
[root@node07 sxt]# hdfs namenode -bootstrapStandby

(同步成功,會發現同步另一個nn節點的clusterID 不是秘鑰分發,而是同步過來的)

cat /var/sxt/hadoop/ha/dfs/name/current/VERSION


格式化zkfc,在zookeeper中可見目錄創建:

[root@node06 hadoop]# hdfs zkfc -formatZK

(ha.ActiveStandbyElector: Successfully created /hadoop-ha/mycluster in ZK.)

在zookeeper 客戶端可見:

[zk: localhost:2181(CONNECTED) 1] ls /
[hadoop-ha, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /hadoop-ha
[mycluster]


啟動hdfs集群;

start-dfs.sh


再次查看zk客戶端,可見:
[zk: localhost:2181(CONNECTED) 9] ls /hadoop-ha/mycluster
[ActiveBreadCrumb, ActiveStandbyElectorLock]

或者兩個目錄的數據,誰是主誰被創建:
[zk: localhost:2181(CONNECTED) 11] get /hadoop-ha/mycluster/ActiveBreadCrumb


mr-hd2.x yarn
------------------------------------------------

?? ??? ?NN1?? ??? ?NN2?? ??? ?DN?? ??? ?ZK?? ??? ?ZKFC?? ??? ?JNN?? ??? ?RS?? ??? ?NM
NODE06?? ??? ?*?? ??? ??? ??? ??? ??? ??? ??? ?*?? ??? ?*?? ??? ??? ??? ?
NODE07?? ??? ??? ??? ?*?? ??? ?*?? ??? ?*?? ??? ?*?? ??? ?*?? ??? ??? ??? ?*
NODE08?? ??? ??? ??? ??? ??? ?*?? ??? ?*?? ??? ??? ??? ?*?? ??? ?*?? ??? ?*
NODE09?? ??? ??? ??? ??? ??? ??? ??? ?*?? ??? ??? ??? ??? ??? ?*?? ??? ?*

node06:?

兩個rm節點互免秘鑰:


08節點 .ssh 目錄下: ssh-keygen -t dsa -P '' -f ./id_dsa
?? ??? ? ? ?cat ~id_dsa.pub >> authorized_keys

?? ??? ? ? ?scp id_dsa.pub root@node09:`pwd`/node08.pub

09節點 .ssh 目錄下 :
?? ??? ?cat node08.pub >> authorized_keys
?? ??? ?ssh-keygen -t dsa -P '' -f ./id_dsa
?? ??? ?cat ~id_dsa.pub >> authorized_keys
?? ? ? ? ? ?scp id_dsa.pub root@node08:`pwd`/node09.pub
?? ??? ?
08節點 .ssh 目錄下:
?? ??? ?cat node09.pub >> authorized_keys

(別忘了退出)

重命名: ?mv mapred-site.xml.template mapred-site.xml ?

mapred-site.xml
==============================

<property>
? ? ? ? <name>mapreduce.framework.name</name>
? ? ? ? <value>yarn</value>
</property>


=================================
yarn-site.xml:
=================================

<property>
? ? ? ? <name>yarn.nodemanager.aux-services</name>
? ? ? ? <value>mapreduce_shuffle</value>
? ? </property>
<property>
? ?<name>yarn.resourcemanager.ha.enabled</name>
? ?<value>true</value>
?</property>
?<property>
? ?<name>yarn.resourcemanager.cluster-id</name>
? ?<value>cluster1</value>
?</property>
?<property>
? ?<name>yarn.resourcemanager.ha.rm-ids</name>
? ?<value>rm1,rm2</value>
?</property>
?<property>
? ?<name>yarn.resourcemanager.hostname.rm1</name>
? ?<value>node08</value>
?</property>
?<property>
? ?<name>yarn.resourcemanager.hostname.rm2</name>
? ?<value>node09</value>
?</property>
?<property>
? ?<name>yarn.resourcemanager.zk-address</name>
? ?<value>node07:2181,node08:2181,node09:2181</value>
?</property>


分發兩個文件到:07,08,09節點
scp maprexxxx ? yarn-xxx node07:`pwd`
scp maprexxxx ? yarn-xxx node08:`pwd`
scp maprexxxx ? yarn-xxx node09:`pwd`


啟動:node06:

1 zookeeper
2 hdfs (注意,有一個腳本不要用,start-all)start-dfs.sh
? 如果nn 和 nn2沒有啟動,需要在node06,node07分別手動啟動:
? hadoop-daemon.sh start namenode?? ?
3 start-yarn.sh (啟動nodemanager)
4 在08,09節點分別執行腳本: yarn-daemon.sh start resourcemanager

UI訪問: ip:8088


停止:
node06: stop-dfs.sh?
node06: stop-yarn.sh (停止nodemanager)
node07,node08: yarn-daemon.sh stop resourcemanager (停止resourcemanager)

總結

以上是生活随笔為你收集整理的Hadoop 00_hadoop伪分布式,完全分布式,HA搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

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