zookeeper 安装

1 禁用防火墙和 selinux
2 设置 /etc/hosts ip 主机名对应关系
3 安装 openjdk

zookeeper 角色,选举
leader 集群主节点
follower 参与选举的附属节点
observer 不参与选举的节点,同步 leader 的命名空间

1 拷贝配置文件
/usr/local/zookeeper/conf/zoo_sample.cfg 到
/usr/local/zookeeper/conf/zoo.cfg

2 修改配置文件vim /usr/local/zookeeper/conf/zoo.cfg
29 server.1=zk1:2888:3888
30 server.2=zk2:2888:3888
31 server.3=zk3:2888:3888
32 server.4=zk4:2888:3888:observer

3 创建目录 zookeeper 配置文件里面的 dataDir 指定的目录
mkdir /tmp/zookeeper
4 在目录下创建 myid 文件,写入自己的 id 值
echo 主机ID > /tmp/zookeeper/myid
如:
echo 1 > /tmp/zookeeper/myid
5 启动集群,查看角色
/usr/local/zookeeper/bin/zkServer.sh start
/usr/local/zookeeper/bin/zkServer.sh status

kafka 集群安装
1 禁用防火墙和 selinux
2 设置 /etc/hosts ip 主机名对应关系
3 安装 openjdk
4 安装 kafka 到 /usr/local/kafka
5 修改配置文件 /usr/local/kafka/config/server.properties
broker.id= id值不能相同
zookeeper.connect=zk1:2181,zk4:2181

启动 kafka
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

同步到其他机器
rsync -zaSH m11:/usr/local/kafka /usr/local/
vim kafka/config/server.properties
broker.id= id值不能相同

验证:
jps 能看到 kafka
netstat 能看到 9092 被监听

创建主题
bin/kafka-topics.sh --create --zookeeper zk4:2181 --replication-factor 1 --partitions 1 --topic nsd1703

查看显示已存在的主题
bin/kafka-topics.sh --list --zookeeper zk4:2181

查看主题的详细信息
bin/kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181 --topic nsd1703

生存者发布信息
bin/kafka-console-producer.sh --broker-list zk1:9092,zk3:9092 --topic nsd1703

消费者消费信息
bin/kafka-console-consumer.sh --zookeeper zk1:2181,zk2:2181 --topic nsd1703 --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server zk1:9092,zk4:9092 --topic nsd1703

--from-beginning 是从头开始消费消息

hadoop 高可用
初始化 4.20 机器
设置/etc/hosts 可以ping通所有
关闭selinux,firewalld
安装openjdk jps
设置 免密码登陆4.10到所有机器 4.20到所有机器

core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://mycluster</value>  </property><property><name>hadoop.tmp.dir</name><value>/var/hadoop</value></property><property><name>ha.zookeeper.quorum</name><value>node1:2181,node2:2181,node3:2181</value></property><property><name>hadoop.proxyuser.nfsuser.groups</name><value>*</value></property><property><name>hadoop.proxyuser.nfsuser.hosts</name><value>*</value></property>
</configuration>

hdfs-site.xml

<configuration><property><name>dfs.replication</name><value>2</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>master1:8020</value></property><property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>master2:8020</value></property><property><name>dfs.namenode.http-address.mycluster.nn1</name><value>master1:50070</value></property><property><name>dfs.namenode.http-address.mycluster.nn2</name><value>master2:50070</value></property><property><name>dfs.namenode.shared.edits.dir</name>    #使用连接组<value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value></property><property><name>dfs.journalnode.edits.dir</name><value>/var/hadoop/journal</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>   #使用SSH切换</property><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value>           #默认密钥路径</property><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value>   #失败自动切换</property>
</configuration>

同步配置到所有集群机器

在其中一台初始化 zookeeper 集群
在master执行
bin/hdfs zkfc -formatZK
在定义的节点启动 journalnode
在m11,m12,m13执行
sbin/hadoop-daemon.sh start journalnode
在其中一台 namenode 上执行格式化命令
在master执行
bin/hdfs namenode –format
格式化以后把数据目录拷贝到另一台 namenode
在master上执行
rsync -azSH --delete /var/hadoop new:/var/

初始化 JournalNode
在另一台 namenode #new机器上
./bin/hdfs namenode -initializeSharedEdits
停止 JournalNode
在m11,m12,m13执行
sbin/hadoop-daemon.sh stop journalnode
启动 dfs
在master
./sbin/start-dfs.sh
验证配置
bin/hadoop dfsadmin -report

查看集群状态 bin/hdfs haadmin -getServiceState nn1 bin/hdfs haadmin -getServiceState nn2
bin/hadoop fs -ls hdfs://mycluster/

bin/hadoop fs -mkdir hdfs://mycluster/input
验证高可用,关闭 active namenode
sbin/hadoop-daemon.sh stop namenode

<configuration><!-- Site specific YARN configuration properties --><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.ha.rm-ids</name><value>rm1,rm2</value></property><property><name>yarn.resourcemanager.hostname.rm1</name><value>master1</value></property><property><name>yarn.resourcemanager.hostname.rm2</name><value>master2</value></property><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property><property><name>yarn.resourcemanager.zk-address</name><value>node1:2181,node2:2181,node3:2181</value></property><property><name>yarn.resourcemanager.cluster-id</name><value>yarn-ha</value></property>
</configuration>

启动服务,检查状态
sbin/start-yarn.sh
bin/yarn rmadmin -getServiceState rm1
bin/yarn rmadmin -getServiceState rm2

转载于:https://blog.51cto.com/13478354/2082643

CLOUD 04:zookeeper,kafka,hadoop高可用相关推荐

  1. hadoop 查看节点主备装填_基于ZooKeeper搭建Hadoop高可用集群

    作者博客:https://blog.csdn.net/m0_37809146/ 一.高可用简介 Hadoop 高可用 (High Availability) 分为 HDFS 高可用和 YARN 高可用 ...

  2. hadoop高可用安装教程(刘浩)

    hadoop高可用安装 date: 2020-06-18 21:11:28 categories: 大数据 hadoop 前期准备 准备好四台安装了centos系统的虚拟机,并在其中一台完成伪分布式的 ...

  3. HA:HADOOP高可用机制

    课程大纲(HADOOP高可用机制) HA运作机制 什么是HA HADOOP如何实现HA HDFS-HA详解 HA集群搭建 目标: 掌握分布式系统中HA机制的思想 掌握HADOOP内置HA的运作机制 掌 ...

  4. 大数据-HADOOP高可用、联邦机制- 学习笔记 -BH4

    HADOOP高可用.联邦机制 正式引入HA机制是从hadoop2.0开始,之前的版本中没有HA机制 HA的运作机制 hadoop-HA集群运作机制介绍 所谓HA,即高可用(7*24小时不中断服务),实 ...

  5. Hadoop高可用集群下namenode格式化失败问题解决

    Hadoop高可用集群下namenode格式化失败问题解决 输入hdfs namenode -format报如下错误 解决方法: 1.在zookeeper目录下执行./bin/zkServer.sh ...

  6. hadoop高可用hdfs搭建(三节点)

    hadoop高可用HDFS搭建(三节点) 一:准备工作 本次搭建使用的hadoop版本是2.6.5,使用虚拟机准备三个干净的节点服务器,我们从零开始搭建.规范下三个节点的主机名分别是node003,n ...

  7. Spring Cloud Eureka(三)实现一个高可用的注册中心

    Spring Cloud Eureka(三)实现一个高可用的注册中心 实现一个高可用的注册中心 在微服务结构这样的分布式环境中,我们需要充分考虑发生故障的情况,所以在生产环境中必须为服务的各个组件进行 ...

  8. 第七章 :Hadoop+Zookeeper 3节点高可用集群搭建和原理解释

    一,原理 先说一下Zookeeper在Hadoop集群的作用,以前我们学习Hadoop伪分布式的时候没有用到Zookeeper是因为伪分布式只有一个NameNode,没有Active和Standby状 ...

  9. Kafka学习之路 (三)Kafka的高可用

    一.高可用的由来 1.1 为何需要Replication 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的Partition数据都不可被消费, ...

最新文章

  1. tensorflow tf.keras.utils.plot_model 画深度学习神经网络拓扑图
  2. 中等职业教育计算机教学案例范文,职业中学计算机教学案例
  3. 历史:2007年总结与2008年展望
  4. Flex3双向绑定完善版
  5. (读书随笔)接口和抽象类的一些区别总结
  6. mysql error nr.2003_[MySQL]在安装windows版MySQL时遇到过如下问题Error Nr.1045和Error.Nr.2003,相应解决办法如下...
  7. python爬虫对炒股有没有用_使用python爬虫实现网络股票信息爬取的demo
  8. Linux操作系统的诞生及主要特性
  9. 什么时候会用到拷贝构造函数?
  10. Java并发工具类之CountDownLatch
  11. 果园机器人作文开头_【360教育】写作技巧丨写作技巧小学高年级作文最全技巧100条,建议收藏!...
  12. 《深入理解Java虚拟机》第2版挖的坑终于在第3版中被R大填平了
  13. Android-Handler机制简述
  14. 如何将WebRoot部署到tomcat中
  15. 面试准备:计算机网络常见面试题
  16. 麒麟座V3.1接入OneNET平台初体验--上传温湿度
  17. python文件路径path
  18. 光电耦合器原理及应用介绍
  19. 激活具有 eSIM 功能的消费类物联网设备的 4 种方法
  20. 开源增强型zigbee协议栈

热门文章

  1. 微信小程序购物商城系统开发系列-工具篇
  2. 内嵌在客户端的网页出现刷新问题
  3. System Memory Management in Windows CE .NET
  4. SpringSide 3 中的 Struts 2
  5. java学习笔记(二) ----基本数据类型应用
  6. Windows核心编程 第二十章 DLL的高级操作技术
  7. hdu1255 扫描线,矩形重叠面积(两次以上)
  8. 计算机网络-信道的极限容量
  9. 【数字信号处理】傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )
  10. 【数字信号处理】相关函数应用 ( 时差估计 | TOA 时差估计使用场景 | TDOA 时差估计使用场景 )