日韩性视频-久久久蜜桃-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集群搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 一区二区三区在线免费观看 | 高清一二三区 | 好男人www社区 | 亚洲视频99| 国产精品无码av在线播放 | 久久精品视频99 | 久热精品视频在线观看 | 国产夫妻av| 在线观看a级片 | 成人免费性生活视频 | 国产三级国产精品国产专区50 | 都市激情自拍偷拍 | 欧美性猛交aaaa片黑人 | 人妻饥渴偷公乱中文字幕 | 国产精品 欧美 日韩 | 长篇乱肉合集乱500小说日本 | 99在线无码精品入口 | 日日噜噜噜噜久久久精品毛片 | 国产嫩草影视 | 欧美天堂 | 国产视频中文字幕 | 蜜桃麻豆视频 | 99热精品在线 | 奇米影视777第四色 2019中文字幕在线免费观看 | 中文字幕在线视频第一页 | 久久久免费 | 亚洲精品无amm毛片 国内一区二区三区 | 538国产视频| 久久在线免费观看视频 | 亚洲免费区| 双性尿奴穿贞c带憋尿 | 无码人妻aⅴ一区二区三区 国产高清一区二区三区四区 | 久久免费视频观看 | 韩国成人在线视频 | √天堂资源在线 | 97在线观看 | 国产精品高潮呻吟久久久 | 久久久久国产一区二区三区 | 欧美比基尼 | 精品久久久久久无码国产 | 亚洲综合无码一区二区 | 久久九九综合 | 久久国产精品久久 | 无码人妻精品一区二区三区99v | 日本免费观看视频 | 国产又粗又长又黄视频 | 三级在线国产 | 久久成人黄色 | 午夜爽视频| 亚洲av综合av一区二区三区 | 成人作爱视频 | 欧美丰满熟妇bbb久久久 | 欧美成人免费在线观看视频 | 毛片一二三区 | 一区二区三区国产精品 | 插插插综合视频 | 日本一区二区不卡在线 | 午夜精品一区二区三区在线视频 | 国产一区二区网 | av丝袜在线 | 日日久 | 夜夜嗨av | 三年大全国语中文版免费播放 | 日韩美一级片 | 欧美粉嫩videosex极品 | 成人一级片视频 | 亚洲网站在线 | 日韩欧美爱爱 | 亚洲午夜精品福利 | a视频免费看| 天天av网| 中文字幕色图 | 水多多在线 | 无码gogo大胆啪啪艺术 | 日本无翼乌邪恶大全彩h | 成年人免费视频观看 | 男生女生搞鸡视频 | 亚洲精品无 | 久久久久亚洲av成人网人人网站 | 国产精品第一国产精品 | 国产精品天天av精麻传媒 | 俄罗斯色片 | 久久99久久99精品蜜柚传媒 | 美女网站在线免费观看 | 天海翼一二三区 | 激情欧美在线 | 日韩第三页 | 日韩一级av毛片 | 老女人毛片50一60岁 | 久久一区二区三区四区 | 亚洲第一视频区 | 久久国产99| 亚洲成人一级片 | www.日本com| 91青青青 | 中国黄色一级毛片 | 午夜精品剧场 | 免费的黄色片 | 欧美在线日韩 |