基础

主机映射

vi /etc/hosts 192.168.176.46 master 192.168.176.47 slave1 192.168.176.48 slave2

主机名

vi /etc/hostname

防火墙

systemctl stop firewalld systemctl disable firewalld

密钥

ssh-keygen -t rsa ssh-copy-id root@主机名(映射里的)|id

时间同步

date --s "20200615 10:11:02"每台机子输入

zookeeper配置

三个节点

1,master:

1,解压zookeeper压缩包,

2,进入conf,然后cp zoo_sample.cfg zoo.cfg (mkdir 无法创建目录“”:删除模板)

3,写zoo.cfg:ps

dataDir=/usr/local/src/zookeeper-3.4.5/DataZk
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

4,创建/usr/local/src/zookeeper-3.4.5/DataZk

5,进入DataZk :

echo 1 > myid

2,复制到另外两个节点:scp -r 路径 root@namenode2:路径

3,修改myid :2 3 (对应zoo.cfg的server)

4,启动:到bin目录:./zkServer.sh start 三台

5,三台都启动后查看状态:./zkServer.sh status

hadoop配置

三个节点,

1,将hadoop压缩包解压到/usr/local/src

tar -zxvf hadoop-2.6.0.tar.gz -C /usr/local/src

2,进入hadoop的etc/hadoop目录

cd /usr/local/src/hadoop-2.6.0/etc/hadoop/

3,修改hadoop-env.sh

export JAVA_HOME=/usr/local/src/jdk1.8.0_221 export HADOOP_HOME=/usr/local/src/hadoop-2.6.0 export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

4,配置core-site.xml,,(集群名字,tmp,zookeeper)

<configuration><!--用来指定hdfs的老大:ns (namespace)--><property><name>fs.defaultFS</name><value>hdfs://ns</value></property><!--执行zookeeper地址--><property><name>ha.zookeeper.quorum</name><value>master:2181,slave1:2181,slave2:2181</value></property><!--用来指定hadoop运行时产生文件的存放目录--><property><name>hadoop.tmp.dir</name><value>/usr/local/src/hadoop-2.6.0/tmp</value></property>
</configuration>

5,hdfs-site.xml(集群名字,双namenode,元数据备份,故障转移,隔离,数据保存,备份和权限)

<configuration><!--执行hdfs的nameservice为ns,和core-site.xml的fs.defaultFS值保持一致--><property><name>dfs.nameservices</name><value>ns</value></property><!--ns下有两个namenode,分别是nn1、nn2--><property><name>dfs.ha.namenodes.ns</name><value>nn1,nn2</value></property><!--nn1的RPC通信地址--><property><name>dfs.namenode.rpc-address.ns.nn1</name><value>master:9000</value></property><!--nn1的http通信地址--><property><name>dfs.namenode.http-address.ns.nn1</name><value>master:50070</value></property><!--nn2的RPC通信地址--><property><name>dfs.namenode.rpc-address.ns.nn2</name><value>slave1:9000</value></property><!--nn2的http通信地址--><property><name>dfs.namenode.http-address.ns.nn2</name><value>slave1:50070</value></property><!--指定namenode的元数据在JournalNode上的存放位置,这样,namenode2可以从jn集群里获取最新的namenode的信息,达到热备的效果--><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/src/hadoop-2.6.0/journal</value></property><!--开启namenode故障时自动切换--><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value></property><!--配置切换的实现方式,客户端故障转移代理提供者--><property><name>dfs.client.failover.proxy.provider.ns</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><!--配置隔离机制:通过秘钥隔离机制--><property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property><!--配置隔离机制的ssh登录秘钥所在的位置--><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value></property><!--配置namenode数据存放的位置,可以不配置,如果不配置,默认用的是core-site.xml里配置的hadoop.tmp.dir的路径--><property><name>dfs.namenode.name.dir</name><value>file:///usr/local/src/hadoop-2.6.0/tmp/namenode</value></property><!--配置datanode数据存放的位置,可以不配置,如果不配置,默认用的是core-site.xml里配置的hadoop.tmp.dir的路径--><property><name>dfs.datanode.data.dir</name><value>file:///usr/local/src/hadoop-2.6.0/tmp/datanode</value></property><!--配置block副本数量--><property><name>dfs.replication</name><value>3</value></property><!--设置hdfs的操作权限,false表示任何用户都可以在hdfs上操作文件--><property><name>dfs.permissions</name><value>false</value></property></configuration>

6.配置mapred-site.xml

<configuration><property><!--指定mapreduce运行在yarn上--><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>

7.配置yarn-site.xml(开启高可用,名字,双rm,故障转移,设置主,nm处理)

<configuration><!-- Site specific YARN configuration properties --><!--开启YARN HA --><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><!--指定两个resourcemanager的名称--><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><!--配置rm1,rm2的主机--><property><name>yarn.resourcemanager.hostname.rm1</name><value>master</value></property><property><name>yarn.resourcemanager.hostname.rm2</name><value>slave1</value></property><!--开启yarn恢复机制--><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><!--执行rm恢复机制实现类--><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property><!--配置zookeeper的地址--><property><name>yarn.resourcemanager.zk-address</name><value>master:2181,slave1:2181,slave2:2181</value><description>For multiple zk services, separate them with comma</description></property><!--指定YARN HA的名称--><property><name>yarn.resourcemanager.cluster-id</name><value>yarn-ha</value></property><property><!--指定yarn的老大resoucemanager的地址--><name>yarn.resourcemanager.hostname</name><value>master</value></property><property><!--NodeManager获取数据的方式--><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property></configuration>     

8.创建tmp和journal,在 hadoop-2.6.0目录中

mkdir  journal
mkdir tmp
cd tmp
mkdir namenode
mkdir datanode

9.修改slaves

vi slaves
master
slave1
slave2

10.环境变量

JAVA_HOME=/usr/local/src/jdk1.8.0_221
ZK_HOME=/usr/local/src/zookeeper-3.4.5
HADOOP_HOME=/usr/local/src/hadoop-2.6.0
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$ZK_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport PATH ZK_HOME CLASSPATH HADOOP_HOME

11, 和拷贝

scp

启动hadoop集群

先格式化zookeeper:master

[root@master]# hdfs zkfc -formatZK

1,格式化:在master节点上

hdfs zkfc -formatZK

2.启动journalNode集群,在datanode1、2、3上输入

hadoop-daemon.sh start journalnode

3,格式化namenode1节点的namenode,在namenode1上输入

hadoop namenode -format

4,启动namenode1节点的namenode(active),在namenode1上输入

hadoop-daemon.sh start namenode

5,设置namenode2为备用节点,在namenode2上输入

hdfs namenode -bootstrapStandby

6,启动namenode2的namenode(备用),在namenode2上输入

hadoop-daemon.sh start namenode

7,启动datanode,在namenode1上输入

hadoop-daemons.sh start datanode

8,在namenode1和namenode2启动zkfc,在这两个节点上输入

hadoop-daemon.sh start zkfc

9,启动yarn,在namenode1和namenode2上输入

start-yarn.sh

10,在本地电脑上做映射C:\Windows\System32\drivers\etc

192.168.176.46 master
192.168.176.47 slave1
192.168.176.48 slave2

11,下载包:

yum -y install psmisc

12,在浏览地址上输入namenode1:5007

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. CLOUD 04:zookeeper,kafka,hadoop高可用

    zookeeper 安装 1 禁用防火墙和 selinux 2 设置 /etc/hosts ip 主机名对应关系 3 安装 openjdk zookeeper 角色,选举 leader 集群主节点 f ...

  4. HA:HADOOP高可用机制

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

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

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

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

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

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

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

  8. HADOOP 高可用搭建

    首先先说一下大概的步骤,就用四台为例,简单适合新手操作. 流程是:创建虚拟机,配置好:搭建linux系统:安装jdk(因为后面好多都依赖jkd):免密登录ssh:安装zookeeper:最后就是搭建高 ...

  9. Hadoop 高可用集群(HA)

    1. 配置 1.修改 core-site.xml <configuration><!-- 指定hdfs的nameservice为ns1 --><property>& ...

最新文章

  1. SAP QM 在Quality Notification里维护Internal Note
  2. 第十六届智能车竞赛参赛队伍提问-2021-6-15
  3. golang install/build 生成的文件命名和路径
  4. H.264 视频的 RTP 载荷格式
  5. java判断五张牌中有一对,同花大顺-扑克牌问题一副扑克牌中任意取出五张牌,那五 – 手机爱问...
  6. REVERSE-PRACTICE-BUUCTF-20
  7. Impersonate让你的子线程也具有主线程的执行权限
  8. 【液晶模块系列基础视频】3.2fatfs接口函数的使用2
  9. FreeRTOS快速入门-初探FreeRTOS
  10. 22道接口测试面试题答案,记住轻松挑战年薪50万
  11. python四大数据类型——python筑基系列
  12. CDN内容分发网络(上)
  13. component组件
  14. Core.bitwise_and()函数解释
  15. 腾讯QQ至尊宝功能停止申请 已试运营三年
  16. 2022全球品牌价值500强排行榜全部名单
  17. SpringCloud Netfilx全家桶+ Alibaba(nacos、sentinel、seata) 快速配置,快速启动
  18. [乐意黎]全国公共 DNS 服务器 IP 地址
  19. MySQL登录时出现 Access denied for user 'root'@'xxx.xxx.xxx.xxx' (using password: YES) 的原因及解决办法
  20. Rosetta中文教程(二)

热门文章

  1. win7 下anaconda TensorFlow tensorboard使用
  2. 树莓派4安装homeassistant(官方系统Home Assistant OS)
  3. 跑马问题--36匹马,跑道每次最多只能有6匹马进行比赛,最少进行多少次比赛能比出前3名?
  4. UCGUI中的实现透明窗体的原理
  5. unity websockt一些知识:
  6. maven打包的命令
  7. 经典算法——筛选法求素数(素数筛选)
  8. 详解CSS中的display属性
  9. 文件加载出现 _pickle.UnpicklingError: could not find MARK
  10. JVM性能调优篇07-阿里巴巴Arthas工具详解