hadoop配置文件修改

个人配置文件压缩包地址:
hadoop配置文件压缩包地址点此下载

tar -zxvf 你的压缩包路径/hadoop.tar.gz -C /usr/hadoop(你的hadoop路径)/etc/hadoop/

需要修改的配置文件在$HADOOP_HOME/etc/hadoop目录下面,具体修改内容如下:

core-site.xml
<configuration>
<!-- 指定hdfs的nameservice为ns -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<!--指定hadoop数据临时存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hdfs/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>fs.checkpoint.period</name>
<value>60</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>zhw1:2181,zhw2:2181,zhw3:2181</value>
</property>
</configuration>
hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 -->
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!-- ns下面有两个NameNode,分别是zhw1,zhw2 -->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>zhw1,zhw2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/hdfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/hdfs/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.secondary.http-address.ns.zhw1</name>
<value>zhw1:9001</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address.ns.zhw2</name>
<value>zhw2:9001</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.zhw1</name>
<value>zhw1:9000</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.zhw2</name>
<value>zhw2:9000</value>
</property> <property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property> <property>
<name>dfs.support.append</name>
<value>true</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>shell(/bin/true)</value>
</property>
<!-- 使用隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>~/.ssh/id_rsa</value>
</property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://zhw1:8485;zhw2:8485;zhw3:8485/ns</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/data/install/hadoop-2.7.3/journal</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
</property>
</configuration>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.address</name>
<value>zhw1:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>zhw1:18030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>zhw1:18088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>zhw1:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>zhw1:18141</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property> </configuration>
hadoop-env.sh添加如下内容
export JAVA_HOME=/usr/java/jdk1.8.0_281

启动命令

注意首次初始化启动命令和之后启动的命令是不同的,首次启动比较复杂,步骤不对的话就会报错,不过之后就好了

首次启动命令

1.首先启动各个节点的Zookeeper,在各个节点上执行以下命令:
bin/zkServer.sh start
2.初始化zookeeper

在zhw1机器上进行zookeeper的初始化,其本质工作是创建对应的zookeeper节点

bin/hdfs zkfc -formatZK
3.在每个journalnode节点用如下命令启动journalnode

三台机器执行以下命令启动journalNode,用于我们的元数据管理

sbin/hadoop-daemon.sh start journalnode
4.初始化journalNode

zhw1机器上准备初始化journalNode (如果不行就<4.初始化journalNode>中的上下两步调换顺序)

bin/hdfs namenode -initializeSharedEdits -force

zhw1机器上准备初始化namenode

hdfs namenode -format
5.启动namenode
bin/hdfs namenode
6.同步数据(备用节点)

在备用namenode节点执行以下命令,这个是把备用namenode节点的目录格式化并把元数据从主namenode节点copy过来,并且这个命令不会把journalnode目录再格式化了!

hdfs namenode -bootstrapStandby
7.结束

zhw2同步完数据后,紧接着在zhw1按Ctrl+C结束namenode进程,然后关闭所有Journalnode
三台操作

sbin/hadoop-daemon.sh stop journalnode

最后

日常启停命令:

sbin/start-all.sh
sbin/stop-all.sh

如果第二台备用namenode出现故障自动消失,请重新整一次启动过程 我个人是删掉了两台里的name与data目录并重新按照启动顺序执行

第一种与第二种方法均可,上面第一种较为方便

第二种首次启动方法
第一步:初始化zookeeper
在zhw1机器上进行zookeeper的初始化,其本质工作是创建对应的zookeeper节点

[root@zhw1 hadoop]$ bin/hdfs zkfc –formatZK

第二步:启动journalNode
三台机器执行以下命令启动journalNode,用于我们的元数据管理

sbin/hadoop-daemon.sh start journalnode

第三步:在主namenode节点格式化namenode和journalnode目录

hdfs namenode -format ns

第四步:启动namenode
zhw1机器上启动namenode

[root@zhw1 hadoop]$ sbin/hadoop-daemon.sh start namenode

zhw2机器上启动namenode
在备用namenode节点执行第一行命令,这个是把备namenode节点的目录格式化并把元数据从主namenode节点copy过来,并且这个命令不会把journalnode目录再格式化了!然后用第二个命令启动备namenode进程!

[root@zhw2 hadoop]$ bin/hdfs namenode -bootstrapStandby
[root@zhw2 hadoop]$ sbin/hadoop-daemon.sh start namenode

第五步:启动所有节点的datanode进程
在zhw1机器上启动所有节点的datanode进程

[root@zhw1 hadoop]$ sbin/hadoop-daemons.sh start datanode

第六步:启动zkfc
在zhw1机器上面启动zkfc进程

[root@zhw1 hadoop]$ sbin/hadoop-daemon.sh start zkfc

在zhw2机器上面启动zkfc进程

[root@zhw2 hadoop]$ sbin/hadoop-daemon.sh start zkfc

第八步:启动jobhsitory
zhw1节点启动jobhistoryserver

[root@zhw1 hadoop]$ sbin/mr-jobhistory-daemon.sh start historyserver

hadoop集群环境搭建--双NameNode的更多相关文章

  1. hadoop集群环境搭建之安装配置hadoop集群

    在安装hadoop集群之前,需要先进行zookeeper的安装,请参照hadoop集群环境搭建之zookeeper集群的安装部署 1 将hadoop安装包解压到 /itcast/  (如果没有这个目录 ...

  2. hadoop集群环境搭建准备工作

    一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...

  3. hadoop集群环境搭建之zookeeper集群的安装部署

    关于hadoop集群搭建有一些准备工作要做,具体请参照hadoop集群环境搭建准备工作 (我成功的按照这个步骤部署成功了,经实际验证,该方法可行) 一.安装zookeeper 1 将zookeeper ...

  4. Hadoop集群环境搭建步骤说明

    Hadoop集群环境搭建是很多学习hadoop学习者或者是使用者都必然要面对的一个问题,网上关于hadoop集群环境搭建的博文教程也蛮多的.对于玩hadoop的高手来说肯定没有什么问题,甚至可以说事“ ...

  5. 大数据 -- Hadoop集群环境搭建

    首先我们来认识一下HDFS, HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.它其实是将一个大文件分成若干块保存在不同服务器的多个节点中.通过联网 ...

  6. Spark集群环境搭建——Hadoop集群环境搭建

    Spark其实是Hadoop生态圈的一部分,需要用到Hadoop的HDFS.YARN等组件. 为了方便我们的使用,Spark官方已经为我们将Hadoop与scala组件集成到spark里的安装包,解压 ...

  7. 简单Hadoop集群环境搭建

    最近大数据课程需要我们熟悉分布式环境,每组分配了四台服务器,正好熟悉一下hadoop相关的操作. 注:以下带有(master)字样为只需在master机器进行,(ALL)则表示需要在所有master和 ...

  8. Hadoop集群环境搭建(一)

    1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有 NameNode / DataN ...

  9. Java+大数据开发——Hadoop集群环境搭建(一)

    1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有 NameNode / DataN ...

  10. Hadoop(4)-Hadoop集群环境搭建

    准备工作 开启全部三台虚拟机,确保hadoop100的机器已经配置完成 分发脚本 操作hadoop100 新建一个xsync的脚本文件,将下面的脚本复制进去 vim xsync #这个脚本使用的是rs ...

随机推荐

  1. mysql系列基础篇01---通用的语法及分类

    通用语法及分类 DDL: 数据定义语言,用来定义数据库对象(数据库.表.字段) DML: 数据操作语言,用来对数据库表中的数据进行增删改 DQL: 数据查询语言,用来查询数据库中表的记录 DCL: 数 ...

  2. Fabric-ca server端与client端交互

    本文介绍Fabric-ca server端和client端的交互过程. 在server端执行Start()命令时,会调用registerHandlers()函数,其作用就是注册处理客户端请求的程序: ...

  3. lua开发和调试环境

    Lua开发环境搭建 Lua官网提供源码下载需要自己编译,Lua官网:https://www.lua.org/ftp/ lua for windows.exe(占二十多MB那个) 目前在网络上没有找到 ...

  4. Linux系统NTP校时的微调模式

    前言: Linux系统有两个时间同步服务:ntpd和chrony,一般较低版本的系统使用ntpd,新版本系统使用chrony. ntpd有两种校时策略slew和step: slew是平滑.缓慢的渐进式 ...

  5. MarkDown书写语法(常用格式)

    实际上每个 Markdown 应用程序都实现了稍有不同的 Markdown 语法,熟悉MarkDown书写语法常用格式,满足日常文字编辑需求 1.标题 请在单词或短语前面添加井号 (#) .# 的数量 ...

  6. Linux NFS挂载报错wrong fs type, bad option, bad superblock

    1.故障现象 2.解决方案 1.故障现象 我的测试环境有一个NAS,之前配置都是按照测试需求在/etc/fstab里添加配置挂载选项: vi /etc/fstab 192.168.1.2:/mnt/H ...

  7. phpwind论坛,后台老是有缓存 不及时更新,操作无效等问题的解决方法。

  8. 《ASP.ENT Core 与 RESTful API 开发实战》-- (第6章)-- 读书笔记(上)

    第 6 章 高级查询和日志 6.1 分页 在 EF Core 中,数据的查询通过集成语言查询(LINQ)实现,它支持强类型,支持对 DbContext 派生类的 DbSet 类型成员进行访问,DbSe ...

  9. Teams基础功能与会议介绍

    目录 Teams基本功能介绍 活动 聊天 如何查找联系人 如何开启语音或视频通话 如何共享自己的屏幕 如何新建群聊 发送文件的多种方式 快速安排一个会议 重要与紧急的消息 文件 分享的文件 OneDr ...

  10. mysql5.7 大量sleep连接解决方法

    show processlist 查看发现有大量sleep进程 查看当前数据库设置的最大连接数 show variables like 'max_connections'; 如果是生产环境需要紧急处理 ...