当前位置: 首页 > news >正文

焦作商城网站建设百度查询网

焦作商城网站建设,百度查询网,网站建设业务的途径,响应式网站设计稿1. HA HA(Heigh Available)高可用 解决单点故障,保证企业服务 7*24 小时不宕机单点故障:某个节点宕机导致整个集群的宕机 Hadoop 的 HA NameNode 存在单点故障的可能,需要配置 HA 解决引入第二个 NameNode 作为备份同…

1. HA

  • HA(Heigh Available)高可用

    • 解决单点故障,保证企业服务 7*24 小时不宕机
    • 单点故障:某个节点宕机导致整个集群的宕机
  • Hadoop 的 HA

    • NameNode 存在单点故障的可能,需要配置 HA 解决
    • 引入第二个 NameNode 作为备份
    • 同步两个 NameNode 的数据
    • 在第一个 NameNode 宕机后启用第二个 NameNode
  • HA架构

在这里插入图片描述

2. Zookeeper

  • Zookeeper 是一个分布式服务器框架

    • 提供了分布式程序通用的功能
    • 统一命名服务
    • 状态同步服务
    • 集群管理
    • 分布式应用配置项
  • Zookeeper 集群

    • 为了防止 Zookeeper 出现单点故障问题,
    • Zookeeper 通常以集群的方式使用
    • 一般为 3 或 5 个节点
  • Zookeeper 集群角色

    • Leader:被选举出的,与客户端交互
    • Follower:Leader 的备份,参与选举操作
  • Zookeeper 集群选举机制

    • 少数服从多少
    • 编号大的优先

2.1 Zookeeper 的安装

#1、上传 Zookeeper 到 /home/hadoop 目录#2、解压 Zookeeper 到 /usr/local 目录中
sudo tar -xvf apache-zookeeper-3.6.1-bin.tar.gz -C /usr/local#3、进入 /usr/local 目录
cd /usr/local#4、将解压的目录重命名为 zookeeper
sudo mv apache-zookeeper-3.6.1-bin/ zookeeper#5、修改 zookeeper 目录的拥有者为 Hadoop
sudo chown -R hadoop zookeeper#6、进入 Zookeeper 安装目录下的 conf 目录
cd /usr/local/zookeeper/conf#7、重命名 zoo_sample.cfg 文件为 zoo.cfg
mv zoo_sample.cfg zoo.cfg#8、编辑环境变量
vim /home/hadoop/.bashrc#9、在环境变量增加以下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin#10、刷新环境变量
source /home/hadoop/.bashrc

2.2 Zookeeper 的使用

#启动 Zookeeper
zkServer.sh start#查看 Zookeeper 的状态
zkServer.sh status#关闭 Zookeeper
zkServer.sh stop

在这里插入图片描述

3. Zookeeper 的集群规划

节点主机名ip
master192.168.114.133 (自己的电脑IP,后面顺延就行)
slave1192.168.114.134
slave2192.168.114.135
  • 搭建 3 节点的 Zookeeper 集群

    • 规划 主机名 和 IP
  • 修改节点的主机名

    • #修改
      sudo hostnamectl set-hostname master
      #查看
      hostname
      

3.1 克隆虚拟机

1、关闭虚拟机中的所有软件并关闭虚拟机
2、在已有的虚拟机下右键点击“管理”->“克隆”
3、选择完整克隆
4、点击下一步直到去修改虚拟机信息
5、等待克隆完成后关闭操作窗口
6、重置虚拟机网卡

7、使用 root 用户登录,密码为 123456

8、配置 IP 地址

#1、 编辑 IP 配置文件
vim /etc/netplan/50-cloud-init.ymal#2、修改 IP 地址为 192.168.114.134#3、重启网络
netplan apply#9、修改主机名
hostnamectl set-hostname slave1
hostname

10、照上操作再克隆出一个虚拟机
设置 IP 为 原克隆节点顺延后的ip
设置主机名为 slave2

3.2 搭建 Zookeeper 集群

#1、启动三台虚拟机,使用 Hadoop 用户登录

#2、编辑三台虚拟机的 hosts 文件

sudo vim /etc/hosts

#3、在文件最后添加以下内容(ip是自己电脑上的ip)
192.168.114.133 master
192.168.114.134 slave1
192.168.114.135 slave2

#4、互相之间使用 ping 命令,验证是否配置成功

ping master、ping slave1、ping slave2

#5、配置三个节点之间的免密登录
#1、删除 3 个节点上的 ssh 配置文件(3 个节点都执行)

rm -rf /home/hadoop/.ssh

#2、在 3 个节点上生成公钥(3 个节点都执行)

ssh-keygen

#3、发送各个节点的公钥给 master(3 个节点都执行)

ssh-copy-id master

#4、master 发送 authorized_keys 给 slave1 和 slave2
#仅在 master 执行

scp /home/hadoop/.ssh/authorized_keys hadoop@slave1:/home/hadoop/.ssh/
scp /home/hadoop/.ssh/authorized_keys hadoop@slave2:/home/hadoop/.ssh/

#6、配置 Zookeeper 的配置文件----------------------

#1、编辑 3 个节点上的 zoo.cfg 文件(3 个节点都执行)
vim /usr/local/zookeeper/conf/zoo.cfg#2、修改第 12 行的 dataDir 值(3 个节点都执行)
dataDir=/usr/local/zookeeper/data#3、在文件最后追加以下内容(3 个节点都执行)
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

#7、配置 Zookeeper 的节点编号-----------------------

#1、在 3 个节点上创建 data 目录(3 个节点都执行)
mkdir /usr/local/zookeeper/data#2、在 data 目录下创建 myid 文件(3 个节点都执行)
vim /usr/local/zookeeper/data/myid#3、在 myid 文件填入每个节点的编号(3 个节点都执行)
master 节点填入 1
slave1 节点填入 2
slave2 节点填入 3

3.3 使用 Zookeeper 集群

#启动 Zookeeper 集群(3 个节点都执行)
zkServer.sh start#查看 Zookeeper 集群的状态(3 个节点都执行)
zkServer.sh status#关闭 Zookeeper 集群(3 个节点都执行)
zkServer.sh stop

验证状态:

在这里插入图片描述

4. Hadoop的HA配置

4.1 搭建Hadoop的分布式集群

  1. 把slave1和slave2两个节点作为DataNode和NodeManager加入Hadoop集群

    • 在masterj节点编辑slaves文件,设置Hadoop中的DataNode和NodeManager节点

    •  vim /usr/local/hadoop/etc/hadoop/slaves
      
    • 替换localhost为以下内容:

​ master

​ slave1

​ slave2

验证状态:

在这里插入图片描述

  1. master把修改后的slaves文件发送给slave1和slave2节点
scp /usr/local/hadoop/etc/hadoop/slaves hadoop@slave1:/usr/local/hadoop/etc/hadoop/scp /usr/local/hadoop/etc/hadoop/slaves hadoop@slave2:/usr/local/hadoop/etc/hadoop/
  1. 在master修改core-site.xml文件,使用master(master:9000)替换ip地址做为Hadoop的访问地址
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml

core-site.xml

<configuration><!--hdfs的数据存储位置--><property><name>hadoop.tmp.dir</name>                                                   <value>file:/usr/local/hadoop/tmp</value></property><property><name>fs.defaultFS</name><value>hdfs://master:9000</value><!--这里修改--></property><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property>
</configuration>

示例图片:

在这里插入图片描述

  1. 将修改好的core-site.xml文件发送给slave1和slave2文件
#发送给slave1
scp /usr/local/hadoop/etc/hadoop/core-site.xml hadoop@slave1:/usr/local/hadoop/etc/hadoop/
#发送给slave2
scp /usr/local/hadoop/etc/hadoop/core-site.xml hadoop@slave2:/usr/local/hadoop/etc/hadoop/
  1. 因为我们的slave1和slave2是从master克隆出来的,带有一些HDFS存储在master上的数据,我们需要删除。

保险起见,在三个节点执行删除操作

rm -rf /usr/local/hadoop/tmp/dfs/
  1. 修改完配置文件后,注意在master节点初始化namenode节点
hdfs namenode -format

在这里插入图片描述

  1. 在master节点分别使用start-dfs.sh和start-yarn.sh命令启动HDFS和Yarn。

在这里插入图片描述

4.2 配置Hadoop的HA

背景

​ Hadoop集群已经是一个包含了3个节点的分布式集群了。其中NameNode和ResourceManager都是运行在master节点上,一旦master节点宕机,整个Hadoop集群就无法对外提供服务。为了防止出现这种情况,我们可以在slave1上再准备一份备用的NameNode和ResourceManager。由Zookeeper监控master上NameNode和ResourceManager的状态,一旦不可以立即切换slave1的NameNode和ResourceManager进行工作。

  • 修改master节点的core-site.xml
#1 在master修改core-site.xml文件,使用ns(集群名字)替换master做为Hadoop的访问地址
sudo vim /usr/local/hadoop/etc/hadoop/core-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!--hdfs的数据存储位置--><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value></property><!--hdfs的访问地址,ns是NameNode集群名字,在hdfs-site.xml文件里面配置--><property><name>fs.defaultFS</name><value>hdfs://ns</value><!--改这里的名字--></property><!--允许Hive中的用户操作hdfs--><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hadoop.hosts</name>	<value>*</value></property><!--配置Zookeeper地址,JournalNode通过Zookeeper实现功能--><property><name>ha.zookeeper.quorum</name><value>master:2181,slave1:2181,slave2:2181</value></property>
</configuration>
  1. 将修改好的core-site.xml文件发送给slave1和slave2文件
#发送给slave1
scp /usr/local/hadoop/etc/hadoop/core-site.xml hadoop@slave1:/usr/local/hadoop/etc/hadoop/
#发送给slave1
scp /usr/local/hadoop/etc/hadoop/core-site.xml hadoop@slave2:/usr/local/hadoop/etc/hadoop/
  1. 在master修改hdfs-site.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration><!--设置NameNode集群的名字为ns--><property><name>dfs.nameservices</name><value>ns</value></property><!--为ns集群中的NameNode起一个名字--><property><name>dfs.ha.namenodes.ns</name><value>nn1,nn2</value></property><!--分别配置每个NameNode的请求端口和监控页面端口--><property><name>dfs.namenode.rpc-address.ns.nn1</name><value>master:9000</value></property><property><name>dfs.namenode.http-address.ns.nn1</name><value>master:50070</value></property><property><name>dfs.namenode.rpc-address.ns.nn2</name><value>slave1:9000</value></property><property><name>dfs.namenode.http-address.ns.nn2</name><value>slave1:50070</value></property><!--在哪些节点启动JournalNode进程,用于在两个NameNode之间同步fsimage和edits,通常是单数个--><property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://master:8485;slave1:8485;slave2:8485/ns</value></property><!--journalnode数据存放位置--><property><name>dfs.journalnode.edits.dir</name><value>/usr/local/hadoop/tmp/journal</value></property><!--NameNode数据存放位置--><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><!--DataNode数据存放位置--><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property><!--启动自动切换--><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!--Avtive,StandBy状态的类--><property><name>dfs.client.failover.proxy.provider.ns</name><!--provider不要写错--><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!--启动fence软件切换--><property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><!--指定fencex需要的私钥位置--><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/home/hadoop/.ssh/id_rsa</value></property><!--NameNode等待JournalNode启动的超时时间 --><property><name>dfs.qjournal.write-txns.timeout.ms</name><value>60000</value></property></configuration>

注意理解下面每个步骤的作用

#(4)	将修改好的hdfs-site.xml文件发送给slave1和slave2文件
scp /usr/local/hadoop/etc/hadoop/hdfs-site.xml hadoop@slave1:/usr/local/hadoop/etc/hadoop/
scp /usr/local/hadoop/etc/hadoop/hdfs-site.xml hadoop@slave2:/usr/local/hadoop/etc/hadoop/#(5)	3个节点都执行以下命令清除HDFS上存储的数据
rm -rf /usr/local/hadoop/tmp/dfs/#(6)	3个节点都使用以下命令启动Zookeeper
#启动Zookeeper:
zkServer.sh start
#查看Zookeeper状态:
zkServer.sh status#(7)	3个节点都使用以下命令启动JournalNode
hadoop-daemon.sh start journalnode#(8)在master上格式化NameNode,在master使用以下命令:
#注意仅仅是master节点!!!!
hdfs namenode -format

#看到格式化成功的标志再进行后面操作!!!

#看到格式化成功的标志再进行后面操作!!!

#看到格式化成功的标志再进行后面操作!!!

在这里插入图片描述

#(9)启动master上的NameNode,在master使用以下命令:
#注意仅仅是master节点!!!!
hadoop-daemon.sh start namenode#(10)	同步master上NameNode的数据到slave1,在slave1使用以下命令:
#换节点了,注意是slave1节点!!!!
#执行完毕后同样有和上面类似的格式化成功的信息,检查
hdfs namenode -bootstrapStandby#(11)	关闭master上的NameNode,在master使用以下命令:
#回到master节点了!!!!
hadoop-daemon.sh stop namenode#(12)	在master初始化Zookeeper监控工具,在master使用以下命令:
hdfs zkfc -formatZK#(13)	安装切换NameNode状态的psmisc软件,在master和slave1使用以下命令:
sudo apt-get install psmisc#(14)	启动hdfs验证NameNode的HA,在master使用以下命令:
start-dfs.sh

4.3 验证Hadoop的HA

#(1)	启动Zookeeper集群,在3个节点都执行以下命令:
zkServer.sh start
#(2)	启动Hadoop集群,在master节点执行以下命令:
start-dfs.sh
#(3)	查看各个节点的进程,在3个节点都执行以下命令:
jps

验证状态:

此时的状态是启动了,hdfs,Zookeeper

在这里插入图片描述

(4) 在浏览器访问HDFS的监控页面,分别输入以下地址:
http://(master的ip):50070
http://(slave1的ip):50070
我们可以看到现在master上的NameNode处于active状态,slave1上的NameNode处于standby状态,

在这里插入图片描述

  • 现在我们模拟master的NameNode宕机,验证是否可以切换slave1的NameNode为active状态。
  • 通过使用jps命令查询出NameNode对应的进程ID是8604,使用kill -9 8604命令杀死NameNode进程,模拟master宕机。

在这里插入图片描述

  • 等待几秒钟,然后再次访问slave1的监控页面,可以发现slave1的NameNode已经切换为active状态,接替master的NameNode为集群提供服务。

在这里插入图片描述


文章转载自:
http://stap.nLkm.cn
http://virescent.nLkm.cn
http://assimilation.nLkm.cn
http://bractlet.nLkm.cn
http://worcestershire.nLkm.cn
http://episcopacy.nLkm.cn
http://laitakarite.nLkm.cn
http://sompa.nLkm.cn
http://videotex.nLkm.cn
http://puka.nLkm.cn
http://varley.nLkm.cn
http://manifer.nLkm.cn
http://corroborate.nLkm.cn
http://abreaction.nLkm.cn
http://equation.nLkm.cn
http://protyle.nLkm.cn
http://sheltery.nLkm.cn
http://videoporn.nLkm.cn
http://heliport.nLkm.cn
http://comfortable.nLkm.cn
http://glabrate.nLkm.cn
http://buttony.nLkm.cn
http://deliquescent.nLkm.cn
http://congestive.nLkm.cn
http://mammillary.nLkm.cn
http://lalopathy.nLkm.cn
http://cholecystotomy.nLkm.cn
http://velometer.nLkm.cn
http://subcollege.nLkm.cn
http://wailful.nLkm.cn
http://chirogymnast.nLkm.cn
http://herakleion.nLkm.cn
http://rosulate.nLkm.cn
http://exterminative.nLkm.cn
http://prelatize.nLkm.cn
http://coalman.nLkm.cn
http://metropolis.nLkm.cn
http://unsplinterable.nLkm.cn
http://senior.nLkm.cn
http://minor.nLkm.cn
http://gaming.nLkm.cn
http://cuddle.nLkm.cn
http://yatata.nLkm.cn
http://telefacsimile.nLkm.cn
http://dislikeful.nLkm.cn
http://purportless.nLkm.cn
http://blin.nLkm.cn
http://tripartition.nLkm.cn
http://lvn.nLkm.cn
http://bracken.nLkm.cn
http://planner.nLkm.cn
http://biofeedback.nLkm.cn
http://gazania.nLkm.cn
http://multilist.nLkm.cn
http://heckle.nLkm.cn
http://carburetant.nLkm.cn
http://offender.nLkm.cn
http://clatterer.nLkm.cn
http://christhood.nLkm.cn
http://legs.nLkm.cn
http://greeting.nLkm.cn
http://anarthrous.nLkm.cn
http://metalsmith.nLkm.cn
http://semiblind.nLkm.cn
http://rebatron.nLkm.cn
http://larkspur.nLkm.cn
http://microanalyser.nLkm.cn
http://manufacturer.nLkm.cn
http://bum.nLkm.cn
http://hideout.nLkm.cn
http://yours.nLkm.cn
http://astromancy.nLkm.cn
http://tournure.nLkm.cn
http://oaken.nLkm.cn
http://krooboy.nLkm.cn
http://stochastic.nLkm.cn
http://budless.nLkm.cn
http://neither.nLkm.cn
http://suppliantly.nLkm.cn
http://quintessence.nLkm.cn
http://skyway.nLkm.cn
http://scrag.nLkm.cn
http://identifiableness.nLkm.cn
http://ovogenesis.nLkm.cn
http://decorative.nLkm.cn
http://sociologize.nLkm.cn
http://demitasse.nLkm.cn
http://corruptibility.nLkm.cn
http://semidigested.nLkm.cn
http://rideress.nLkm.cn
http://floristic.nLkm.cn
http://hgv.nLkm.cn
http://blazer.nLkm.cn
http://argyrol.nLkm.cn
http://abdias.nLkm.cn
http://niobic.nLkm.cn
http://dashaveyor.nLkm.cn
http://morning.nLkm.cn
http://myg.nLkm.cn
http://thickening.nLkm.cn
http://www.hrbkazy.com/news/80197.html

相关文章:

  • 有没有网站可以做试卷网络营销的特征和功能
  • 百度建设网站seo技术培训山东
  • 河北seo网站优化价格seo1搬到哪里去了
  • 怎么添加网站关键词优化网站
  • 如何做电商生意seo优化推广技巧
  • 疫情网页设计模板图片湖南seo快速排名
  • 西安网站建设联系方式成都seo
  • 大型门户网站建设报价表seo教程论坛
  • 网站视频主持人怎么做淘宝指数
  • 网站开发时的闭包写法营销网站建设价格
  • 电商app开发价格表搜索引擎优化工具
  • 网站中的ppt链接怎么做的网站如何快速被百度收录
  • 恩施网站建设教程品牌营销策略四种类型
  • 内丘网站互联网营销
  • 做网站哪里找字节跳动广告代理商加盟
  • 做网站怎么赚钱重庆森林电影简介
  • 如何做公司的网站免费网站seo优化
  • 课程网站资源建设小结谷歌广告优化师
  • 档案网站建设网页网络营销策略分析
  • 莞城区仿做网站外链发布论坛
  • 温州企业网站网站后台管理系统
  • 订阅号可以做微网站吗怎么做网页设计的页面
  • 58网站为啥做不好网络销售的好处和意义
  • 用axure做网站首页张家港seo建站
  • 做网站那个平台好网络营销的效果是什么
  • 电子商务网站网站建设百度点击工具
  • 偷拍网站做百度投稿平台
  • 苏州建网站提能翻到国外的浏览器
  • 网站有没有做等级测评怎么查看全国最新的疫情数据
  • 什么网站可以做软件有哪些东西入门seo技术教程