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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Hadoop-2.8.5的HA集群搭建

發布時間:2025/6/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop-2.8.5的HA集群搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Hadoop HA 機制的學習

  1.1、Hadoop 2.X 的架構圖

    

  2.x版本中,HDFS架構解決了單點故障問題,即引入雙NameNode架構,同時借助共享存儲系統來進行元數據的同步,共享存儲系統類型一般有幾類,如:Shared NAS+NFS、BookKeeper、BackupNode 和 Quorum Journal Manager(QJM),上圖中用的是QJM作為共享存儲組件,通過搭建奇數結點的JournalNode實現主備NameNode元數據操作信息同步。

  1.2、QJM原理

  QJM全稱是Quorum Journal Manager, 由JournalNode(JN)組成,一般是奇數點結點組成。每個JournalNode對外有一個簡易的RPC接口,以供NameNode讀寫EditLog到JN本地磁盤。當寫EditLog時,NameNode會同時向所有JournalNode并行寫文件,只要有N/2+1結點寫成功則認為此次寫操作成功,遵循Paxos協議。其內部實現框架如下:

?

?1.3、主備切換機制

  要完成HA,除了元數據同步外,還得有一個完備的主備切換機制,Hadoop的主備選舉依賴于ZooKeeper。下面是主備切換的狀態圖:

  

  上面介紹了下關于HadoopHA機制,歸納起來主要是兩塊:元數據同步和主備選舉。元數據同步依賴于QJM共享存儲,主備選舉依賴于ZKFC和Zookeeper。整個過程還是比較復雜的,如果能理解Paxos協議,那也能更好的理解這個。

  詳細請參考:https://www.cnblogs.com/qcloud1001/p/7693476.html

?

二、hadoop2.8.5 的HA 集群搭建準備

  2.1、集群搭建準備

    這里使用的是:  CentOS7.0   VMware Workstation 14  SecureCRT連接工具

             Hadoop-2.8.5   jdk-1.8.0_191  zookeeper-3.4.6

    apache全系列資源官網下載:http://mirror.bit.edu.cn/apache/

  2.2、虛擬機設置

    打開VMware Workstation 14? 通過ALT+E+N打開虛擬網絡編輯器

以下1、2、3 需要記錄,需要在虛擬機中配置

  通過cmd也能找到網卡設置

    cmd? >? ?ipconfig??

  2.3、虛擬機設置

  虛擬機安裝可以參考:?https://www.cnblogs.com/sxdcgaq8080/p/7466529.html

  網絡適配器:NAT

  內存:512MB~1024MB即可

  安裝可以選擇:最小安裝

  安裝一臺虛擬機即可,其他幾臺可以使用克隆方法:(其他幾臺虛擬機也可以在單機配置完畢后進行復制)

?    

  2.4、各虛擬機設置

    2.4.1 靜態ip的設置

    2.4.2 主機名的設置

    2.4.3 hosts設置

    2.4.3 ssh密鑰的設置

    下面進行設置:可以參考我這里的配置

  

    修改靜態ip

  這里的ifcfg-ens33需要根據個人虛擬機的網絡名

cd /etc/sysconfig/network-scripts ls vi ifcfg-ens33

    這里修改:ONBOOT=yes,BOOTPROTO=static

      添加:IPADDR=192.168.182.135  #參考前面的網卡設置
   ?      ?NETMASK=255.255.255.0  #參考前面的網卡設置
         GATEWAY=192.168.182.2 #參考前面的網卡設置
         DNS1=8.8.8.8

      

service network restart

  進行網絡重啟后連接測試(個人/外網):ping 主機ip/www.baidu.com

  其他三臺虛擬機設置如上,只有ip需要修改

  主機名修改:

hostname node1 su vi /etc/sysconfig/network vi /etc/hostname
reboot

  network中添加:NETWORKING=yes

         HOSTNAME=node1

  hostname中添加:node1

  之后重啟:reboot

  其他三臺虛擬機設置如上,分別修改主機名為node2,node3,node4

  hosts的設置:

vi /etc/hosts

  node1的修改如下:

  其他三臺虛擬機設置如上,沒有變化

  ssh密鑰的設置:

    以下命令用于生成ssh鍵值對,復制公鑰形成 id_rsa.pub 到authorized_keys 文件中,并提供擁有者具有authorized_keys文件的讀寫權限。

ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys

  

  其他三臺虛擬機執行以上命令后,需要對node1進行設置,以后能通過node1免密訪問其他主機。

  通過SecureCRT分別連接4臺虛擬機,需要將node1的公鑰發送到其他主機進行記錄

scp ~/.ssh/id_rsa.pub root@node2:~/.ssh/id_rsa_n1.pub scp ~/.ssh/id_rsa.pub root@node3:~/.ssh/id_rsa_n1.pub scp ~/.ssh/id_rsa.pub root@node4:~/.ssh/id_rsa_n1.pub

  

   發送完畢后,將id_rsa_n1.pub中的內容追加到authorized_keys中

cat ~/.ssh/id_rsa_n1.pub >> ~/.ssh/authorized_keys

  

  三臺虛擬機完成上面操作可在node1主機中進行驗證

ssh node2 ssh node3

  正確的設置下登陸是不需要密碼的,用exit退出登錄

?

?

?  2.5、jdk1.8.0的設置安裝及hadoop2.8.5的安裝

    2.5.1 jdk1.8的安裝

  首先卸載原centOS系統中附帶的jdk

    通過以下兩個命令查找系統中的jdk

rpm -qa | grep jdk rpm -qa | grep gcj

  可能的結果是:(也有可能有其他的)

    libgcj-4.1.2-42.el5?

    java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

  之后通過  yum -y remove <file>命令卸載

yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115

  最后輸入java -version驗證虛擬機中是否還有jdk

?

  接下來是安裝的過程

1、通過SecureCRT將linux版本的jdk,hadoop,zookeeper(為了后面的搭建)發送到虛擬機上

通過SFTP進行發送

?

?  發送后的tar.gz文件在~文件夾內

    ?

使用 tar -zxvf <file> 進行解壓 之后使用 mv ~/<file> /usr/local/java/ 移動到/usr/local目錄下

  這里我的目錄是在/usr/local下

  

2、各種環境的配置

  linux的環境配置在/etc/profile中

vi /etc/profile

  在文件的最后添加如下的配置(后面的也一并配置了)

?  這里注意各個軟件的目錄位置

export HADOOP_HOME=/usr/local/hadoop2.8.5 export JAVA_HOME=/usr/local/java/jdk1.8.0 export ZOOKEEPER_HOME=/usr/local/zookeeperexport HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_INSTALL=$HADOOP_HOMEexport PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$ZOOKEEPER_HOME/bin:$PATH

  后面使用  source /etc/profile  刷新文件即可

  下面進行驗證:

  到這里驗證通過就說明安裝成功了。

?三、HA集群搭建的設置

  

以上是各node上的分布:

NN:namenode  DN:datanode  ZK : zookeeper(QuorumPeerMain)  

ZKFC :?DFSZKFailoverController  JN : JournalNode  RM:ResourceManager  

DM:DataNode、NodeManager  

以下配置參考hadoop HA 官網配置:http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HDFSHighAvailabilityWithQJM.html

?  各hadoop文件配置:

cd $HADOOP_HOME ls cd etc/hadoop

  該目錄下進行hadoop的配置(均在configuration標簽中配置):

hadoop-env.sh

修改(JDK的路徑):export JAVA_HOME=/usr/local/java/jdk1.8.0

添加:export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

core-site.xml

<property><name>fs.defaultFS</name><value>hdfs://mycluster</value> </property> <property><name>ha.zookeeper.quorum</name><value>node1:2181,node2:2181,node3:2181</value> </property> <property><name>hadoop.tmp.dir</name><value>/opt/hadoopHA</value> </property> View Code

hdfs-site.xml

<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>node1:8020</value></property><property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>node2:8020</value></property><property><name>dfs.namenode.http-address.mycluster.nn1</name><value>node1:50070</value></property><property><name>dfs.namenode.http-address.mycluster.nn2</name><value>node2:50070</value></property><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://node2:8485;node3:8485;node4:8485/mycluster</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_rsa</value></property><property><name>dfs.journalnode.edits.dir</name><value>/opt/journal/data</value></property><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property> View Code cp mapred-site.xml.template mapred-site.xml

  通過這個創建mapred-site.xml配置

mapred-site.xml

<property><name>mapreduce.framework.name</name><value>yarn</value> </property> View Code

yarn-site.xml

<property><name>yarn.resourcemanager.hostname</name><value>node1</value> </property> <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value> </property> <property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> View Code

編輯slaves文件,添加以下內容

node2 node3 node4 View Code

所有配置完成之后,要全部同步到其他幾臺虛擬機

scp ./* root@node2:/usr/local/hadoop2.8.5/etc/hadoop/ scp ./* root@node3:/usr/local/hadoop2.8.5/etc/hadoop/ scp ./* root@node4:/usr/local/hadoop2.8.5/etc/hadoop/

?

?

  對于zookeeper進行配置

cd $ZOOKEEPER_HOME/conf cp zoo_sample.cfg zoo.cfg vi zoo.cfg

修改:dataDir=/opt/zookeeper  #這里指定zookeeper的data數據目錄(沒有,需要手動創建)
在最后添加:

server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

現在保存并去創建zookeeper的data數據目錄,在該目錄下

vi myid

  在該文件中不同zookeeper虛擬機中配置不同(不能有錯),跟zoo.cfg后面配置的server有關,myid文件中只有1個數字即可。

node1:1

node2:2

node3:3

四、集群服務的啟動驗證

1、(node1,node2,node3)虛擬機上的zookeeper啟動

  cd $ZOOKEEPER_HOME/bin

  ./zkServer.sh start

  啟動完成后可通過  ./zkServer.sh status  進行查看

2、在node1上進行驗證

  2.1、格式化操作

    cd $HADOOP_HOME/bin

     zkfc格式化:hdfs zkfc -format

     hdfs格式化:hdfs namenode -format

  2.2、HA的啟動

    cd $HADOOP_HOME/sbin

    ./start-dfs.sh(啟動HDFS)

    ./start-yarn.sh(啟動YARN)

  2.3、HA的驗證

    各node主機的hadoop端口驗證

?

?

  zookeeper各節點驗證

  2.4 、外部網站驗證

?

?

            

轉載于:https://www.cnblogs.com/null-/p/10000309.html

總結

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

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

主站蜘蛛池模板: 中日精品一色哟哟 | 无码无遮挡又大又爽又黄的视频 | 国产在线一区二区视频 | 国产精品久久久久久久免费看 | 夜夜操夜夜摸 | 91av视频在线观看 | 亚洲视频在线看 | 久久午夜鲁丝 | 日本特级片 | 无码精品国产一区二区三区 | 欧美性大战久久久久久 | 国产成人福利视频 | 综合一区 | 中文字幕在线观看不卡 | 成年人免费在线视频 | 久久在线精品视频 | 99成人免费视频 | 国产亚洲久一区二区 | 激情视频网址 | 对白超刺激精彩粗话av | 六月婷婷中文字幕 | 亚洲日本护士毛茸茸 | 朋友人妻少妇精品系列 | 一区二区三区免费在线视频 | 女女互磨互喷水高潮les呻吟 | 在线中文字幕日韩 | 国产又爽又黄的激情精品视频 | 射久久久 | 婷婷丁香六月 | 69视频网址 | 久久久久亚洲av无码专区 | √8天堂资源地址中文在线 欧美精品在线一区二区 | 国产精品宾馆在线精品酒店 | 农村少妇久久久久久久 | 在线观看国产一区二区 | 亚洲最新av网站 | 久久高清内射无套 | 男人懂的网站 | 少妇人妻偷人精品一区二区 | 五月婷婷六月天 | 肉嫁高柳在线 | 亚洲精选一区二区 | 九色精品 | 亚洲欧美色图在线 | 三年中文在线观看中文版 | 亚洲精品视频在线观看免费视频 | 亚洲一区二区黄 | 在线精品视频免费观看 | 男女操操视频 | 久久激情综合网 | 囯产精品一品二区三区 | 日本免费一区二区三区最新 | 国产黄色视屏 | 狼性av懂色av禁果av | 一区在线观看视频 | 玖玖爱在线精品视频 | 小毛片| 国产精品精东影业 | 黄色大片网址 | 我和公激情中文字幕 | 欧美日批 | 婷婷久久久久 | 已婚少妇美妙人妻系列 | 成人无码精品1区2区3区免费看 | 日韩激情国产 | 久久国产精品精品国产色婷婷 | 奇米色777| 日产电影一区二区三区 | 高潮毛片无遮挡免费看 | 蜜桃成人在线观看 | 熟妇人妻久久中文字幕 | 欧美视频一区二区三区四区 | 舐め犯し波多野结衣在线观看 | 精品人妻一区二区三区四区五区 | 国产激情在线 | 经典三级视频 | 五月天啪啪 | 九九视频在线免费观看 | 毛片在线免费观看网站 | 亚洲AV无码精品一区二区三区 | 视频一区二区三区在线 | 亚洲第一视频在线 | 不许穿内裤随时挨c调教h苏绵 | 国产91国语对白在线 | 亚洲成人精品在线 | 97精品人人a片免费看 | 成人中文字幕在线 | 91九色视频在线 | 欧美色图校园春色 | 短视频在线观看 | 亚洲丁香网 | 在线观看国产免费av | 日本人性爱视频 | 91蜜桃传媒精品久久久一区二区 | 国产美女喷水视频 | 非洲一级黄色片 | 亚洲精品香蕉 | 国产色91 | 黄色在线观看网站 |