一.单机模式

a、配置本机到本机的免密登录

b、解压hadoop压缩包,修改hadoop.env.sh中的JAVA_HOME

c、修改core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.110.222</value>
</property>
</configuration>

d、修改hadfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/softs/hadoop-2.7./namelog</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/softs/hadoop-2.7./datalog</value>
</property>
</configuration>

e、格式化namenode,启动hfds

bin/hdfs namenode -format
sbin/start-dfs.sh

二.高可用配置

a.节点规划

hostname ip software jps
hbase1 192.168.110.51 jdk/hadoop namenode/resourcemanager/zkfc
hbase2 192.168.110.52 jdk/hadoop namenode/resourcemanager/zkfc
hbase3 192.168.110.53 jdk/hadoop/zookeeper datanode/nodemanager/journalnode/quorumpeermain
hbase4 192.168.110.54 jdk/hadoop/zookeeper datanode/nodemanager/journalnode/quorumpeermain
hbase5 192.168.110.55 jdk/hadoop/zookeeper datanode/nodemanager/journalnode/quorumpeermain

b.配置免密登录

c.hadoop主要配置文件

core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://myCluster</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value></value>
</property>
<property>
<name>fs.trash.interval</name>
<value></value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>hbase3:,hbase4:,hbase5:</value>
</property>
</configuration>

hdfs-site.xml

<property>
<name>dfs.namenode.name.dir</name>
<value>file:///root/apps/hadoop-2.7.7/namelogs</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>256m</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///root/apps/hadoop-2.7.7/data</value>
</property>
<!-- the max number of files a datanode will serve at any one time -->
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>4096</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</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>192.168.169.11:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.myCluster.nn2</name>
<value>192.168.169.12:8020</value>
</property>
<!-- 配置nn1,nn2的http通信端口 -->
<property>
<name>dfs.namenode.http-address.myCluster.nn1</name>
<value>192.168.169.11:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.myCluster.nn2</name>
<value>192.168.169.12:50070</value>
</property>
<!-- 指定namenode元数据存储在journalnode中的路劲 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://192.168.169.13:8485;192.168.169.14:8485;192.168.169.15:8485/myCluster</value>
</property>
<!-- 指定journalnode日志文件存储的路劲 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/root/apps/hadoop-2.7.7/journallog</value>
</property>
<!-- 指定HDFS客户端连接active namenode的java类 -->
<property>
<name>dfs.client.failover.proxy.provider.myCluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制为ssh -->
<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.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<property>
<name>mapreduce.task.io.sort.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.task.io.sort.factor</name>
<value>100</value>
</property>
<property>
<name>mapreduce.reduce.shuffle.parallelcopies</name>
<value>50</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hbase1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hbase1:19888</value>
</property>
<!-- 开启uber模式(针对小作业的优化) -->
<property>
<name>mapreduce.job.ubertask.enable</name>
<value>true</value>
</property>
<!-- 配置启动uber模式的最大map数 -->
<property>
<name>mapreduce.job.ubertask.maxmaps</name>
<value>9</value>
</property>
<!-- 配置启动uber模式的最大reduce数 -->
<property>
<name>mapreduce.job.ubertask.maxreduces</name>
<value>1</value>
</property>

yarn-site.xml

<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 启用自动故障转移 -->
<property>
<name>yarn.resourcemanager.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 指定YARN HA的名称 -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yarncluster</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>192.168.169.11</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>192.168.169.12</value>
</property>
<!-- 配置YARN的http端口 -->
<property>
<name>yarn.resourcemanager.webapp.address.rm1</name>
<value>192.168.169.11:8088</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address.rm2</name>
<value>192.168.169.12:8088</value>
</property>
<!-- 配置zookeeper的地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>192.168.169.13:2181,192.168.169.14:2181,192.168.169.15:2181</value>
</property>
<!-- 配置zookeeper的存储位置 -->
<property>
<name>yarn.resourcemanager.zk-state-store.parent-path</name>
<value>/rmstore</value>
</property>
<!-- 开启yarn resourcemanager restart -->
<property>
<name>yarn.resourcemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 配置resourcemanager的状态存储到zookeeper中 -->
<property>
<name>yarn.resourcemanager.store.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
</property>
<!-- 开启yarn nodemanager restart -->
<property>
<name>yarn.nodemanager.recovery.enabled</name>
<value>true</value>
</property>
<!-- 配置nodemanager IPC的通信端口 -->
<property>
<name>yarn.nodemanager.address</name>
<value>0.0.0.0:45454</value>
</property>
<!-- 配置Web Application Proxy安全代理(防止yarn被攻击) -->
<property>
<name>yarn.web-proxy.address</name>
<value>192.168.169.12:8888</value>
</property>
<!-- 开启日志 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

slaves

hbase3
hbase4
hbase5

d.集群初始化

  // 启动zookeeper

  // 格式化zkfc

  // 启动journalnode

  // 格式化hfds

  // 将元数据目录拷贝到stangby节点

  // 关闭journalnode

e.启动集群

《参考:https://blog.csdn.net/carl810224/article/details/52160418

hadoop 2.0安装及HA配置简述的更多相关文章

  1. elasticsearch5.0.0 安装插件及配置过程

    elasticsearch5.0.0 安装插件及配置过程 由于es5.0是里程碑式的更新,所以很多变化的地方,暂时我就插件安装遇到的问题记录一下. 插件安装命令 2.3版本的安装命令 安装Marvel ...

  2. VMware vCenter Server6.0安装及群集配置介绍

    在本项目中,将在VMware Workstation 模拟的Windows Server 2008 R2虚拟机中安装VMware vCenter Server ,并且使用vCenter Server捆 ...

  3. hadoop-2.2.0 的编译安装及HA配置

    一 准备工作 准备工作中要求有 1.centOs 6.4,添加hadoop用户,配置集群内的/etc/hosts文件. 2.安装hadoop用户的ssh,并打通集群内所有机器,(ha执行fencing ...

  4. Hadoop 3.0 安装

    1.      下载Hadoop 3.0 http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3. ...

  5. Hadoop 2.0 安装配置

    1. install jdk 2. install hadoop. 安装包hadoop-2.2.0.tar.gz存放在一个目录.并解压. 3. 修改配置文件,一般配置文件在/etc/hadoop下面. ...

  6. Hadoop 2.0安装以及不停集群加datanode

    Hadoop2.0是对Hadoop1.0全面升级,针对Namenode单点问题,提出了HDFS Federation,让多个NameNode分管不同的目录进而实现访问隔离和横向扩展.诞生了通用的计算框 ...

  7. VMware vCenter 6.0 安装及群集配置介绍

    一.介绍 VMware vCenter Server 提供了一个可伸缩.可扩展的平台,为虚拟化管理奠定了基础.可集中管理VMware vSphere环境,与其他管理平台相比,极大地提高了 IT 管理员 ...

  8. VMware vCenter 6.0 安装及群集配置介绍(转载)

    转载自http://blog.51cto.com/wzlinux/2094598 一.介绍 VMware vCenter Server 提供了一个可伸缩.可扩展的平台,为虚拟化管理奠定了基础.可集中管 ...

  9. debian下 Hadoop 1.0.4 集群配置及运行WordCount

    说明:我用的是压缩包安装,不是安装包 官网安装说明:http://hadoop.apache.org/docs/r1.1.2/cluster_setup.html,繁冗,看的眼花...大部分人应该都不 ...

随机推荐

  1. Java IO系统

    理论上,我们可将任何程序分割为三部分:输入.处理和输出.这意味着 IO(输入/输出)是所有程序最为关键的部分.在这一章中,大家将学习Java 为此提供的各种类,如何用它们读写文件.内存块以及控制台 等 ...

  2. c# @符号后面对 双引号转义

    本文讲述c#中如何转义双引号. c#中转义双引号",使用的转义字符仍然是\. string str = "\"www.itjsxx.com\""; 但 ...

  3. Python相对完美的URL拼接函数

    首先说下什么叫URL拼接,我们有这么一个HTML片段:   <a href="../../a.html">click me</a> 做为一只辛苦的爬虫,我们 ...

  4. 浅析PageRank算法(转)

    浅析PageRank算法 本文首先会讨论搜索引擎的核心难题,同时讨论早期搜索引擎关于结果页面重要性评价算法的困境,借此引出PageRank产生的背景.第二部分会详细讨论PageRank的思想来源.基础 ...

  5. Python 日志模块的定制

    Python标准logging模块中主要分为四大块内容: Logger: 定义应用程序使用的接口 Handler: 将Loggers产生的日志输出到目的地 Filter: 对Loggers产生的日志进 ...

  6. org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x160fd6f04410017 after 0ms

    dubbo报错: org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x160fd6f04410017 after ...

  7. 前端html/css/script基础

    1. 基础模板 <!DOCTYPE html> <html> <head> <meta charert="utf-8" /> < ...

  8. 【我的Android进阶之旅】解决错误:No enum constant com.android.build.gradle.OptionalCompilationStep.FULL_APK

    今天在分支编译代码并允许之后,接着同步主干代码之后,再继续点击[Run]按钮允许程序的时候报错了,错误描述日志如下所示: 一.错误描述 Error:(1, 1) A problem occurred ...

  9. Django组件 - Django请求生命周期、中间件

    一.Django请求生命周期 在学习中间件之前,先了解一下Django的请求生命周期,如下图: 1)client代表浏览器,浏览器内部为我们封装了socket,Django的WSGI模块也封装了soc ...

  10. 学习笔记のsendRedirect &forward

    尽管HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法都可以让浏览器获得另外一个URL所指向的资源,但两者的内部运行机制有着很 ...