hadoop集群搭建(亲自操作成功步骤!值得信赖!)

1.1集群简介

hadoop的核心组件:

  HDFS(分布式文件系统)

  YARN(运算资源调度系统)

  MapReduce(分布式运算编程框架)

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起

HDFS集群:

  负责海量数据的存储,集群中的角色主要有 NameNode / DataNode

YARN集群:

  负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

(那mapreduce是什么呢?它其实是一个应用程序开发包)

 

本集群搭建案例,以5节点为例进行搭建,角色分配如下:

hdp-node-01    NameNode  SecondaryNameNode

hdp-node-02    ResourceManager

hdp-node-03 DataNode    NodeManager

hdp-node-04 DataNode    NodeManager

hdp-node-05 DataNode    NodeManager

部署图如下:

1.2服务器准备

本案例使用虚拟机服务器来搭建HADOOP集群,所用软件及版本:

  Vmware 10.0

  Centos  6.7  64bit

1.3网络环境准备

  采用NAT方式联网

  网关地址:192.168.33.1

  3个服务器节点IP地址:192.168.33.201、192.168.33.202、192.168.33.203

  子网掩码:255.255.255.0

1.4服务器系统设置

  添加HADOOP用户

    useradd hadoop

    passwd hadoop

  为HADOOP用户分配sudoer权限

    su root

    vi /etc/sudoers

      hadoop ALL=(ALL)ALL

  同步时间

  设置主机名

    hadoop1

    hadoop2

    hadoop3

  配置内网域名映射:

    192.168.33.201          hadoop1

    192.168.33.202          hadoop2

    192.168.33.203          hadoop3

  配置ssh免密登陆

    设置三个机器的本机免密登录(三台机器配置一样):

      ssh-keygen -t rsa   ---一直回车即可

      cd /root/.ssh/    ---生成了公钥和私钥

      cat id_rsa.pub >> authorized_keys   ---将公钥追加到授权文件中

      more authorized_keys   ---可以查看到里面追加的公钥

      ssh hadoop1

    配置两两之间的免密登录:

      将hadoop1中的公钥复制到hadoop2中ssh-copy-id -i hadoop2         验证一下:ssh hadoop2

        将hadoop3中的公钥复制到hadoop2中ssh-copy-id -i hadoop2   验证一下:ssh hadoop2

      这样hadoop2中的授权文件就有三个机器的公钥,再把hadoop2中的授权文件复制给hadoop1和hadoop3

        scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/

        scp /root/.ssh/authorized_keys hadoop3:/root/.ssh/

      这样就ok了!

  关闭防火墙

    #查看防火墙状态

      service iptables status

    #关闭防火墙

      service iptables stop

    #查看防火墙开机启动状态

      chkconfig iptables --list

    #关闭防火墙开机启动

      chkconfig iptables off

1.5 Jdk环境安装

  上传jdk安装包

  规划安装目录  /usr/local/jdk

  解压安装包

  配置环境变量 /etc/profile

1.6 HADOOP安装部署

  上传HADOOP安装包

  规划安装目录  /usr/local/hadoop

  解压安装包(编译后的hadoop压缩包)

    tar -zxvf hadoop-2.6.4.tar.gz

  配置环境变量  $HADOOP_HOME/bin:$HADOOP_HOME/sbin

  修改配置文件  $HADOOP_HOME/etc/hadoop/

最简化配置如下:

vi  hadoop-env.sh(修改)

# The java implementation to use.

export JAVA_HOME=/usr/local/jdk

vi  core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://hadoop1:9000</value>      默认端口9000

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/usr/local/hadoop/tmp</value>

</property>

</configuration>

vi  hdfs-site.xml(可以不用配置,全部使用默认值)

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>/usr/local/hadoop/data/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>/usr/local/hadoop/data/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>       默认HDFS副本数为3个

</property>

<property>

<name>dfs.secondary.http.address</name>

<value>hadoop1:50090</value>

</property>

</configuration>

vi  mapred-site.xml(重命名mv mapred-site.xml.template mapred-site.xml)

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>    指定mapreduce运行在yarn平台上,默认为local

</property>

</configuration>

vi  yarn-site.xml

<configuration>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>hadoop1</value>   指定yarn的resourcemanager的地址

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>    reducer获取数据的方式

</property>

</configuration>

把hadoop1中的jdk、hadoop文件夹复制到其他两个节点:

  scp -r /usr/local/jdk hadoop2:/usr/local/
  scp -r /usr/local/jdk hadoop3:/usr/local/
  scp -r /usr/local/hadoop hadoop2:/usr/local/
  scp -r /usr/local/hadoop hadoop3:/usr/local/

将hadoop1中的环境变量复制到其他两个节点中:
  scp /etc/profile hadoop2:/etc/
  scp /etc/profile hadoop3:/etc/
复制完了以后,在hadoop2和hadoop3中分别都执行source /etc/profile

vi  slaves(/usr/local/hadoop/etc/hadoop/slaves写上从节点的主机名,slaves主要是为了自动化启动脚本使用的,不修改的话,hadoop集群照样能启动)

hadoop2

hadoop3

1.7 启动集群

初始化HDFS(hadoop1)

bin/hadoop  namenode  -format

NameNode只能在hadoop1上启动,因为配置在hadoop1上

  hadoop-daemon.sh start namenode

DataNode三个节点上都可以启动

  Hadoop-daemon.sh start datanode

在hadoop1上,start-all.sh启动集群,可以jps,查看相关进程是否开启了。http://hadoop1:50070

启动HDFS

sbin/start-dfs.sh

启动YARN

sbin/start-yarn.sh

hadoop2.6.4集群的搭建的更多相关文章

  1. Hadoop-2.7.1集群环境搭建

    摘自:http://blog.csdn.net/u014039577/article/details/49813531 由于日志数据量越来越大,数据处理的逻辑越来越复杂,同时还涉及到大量日志需要批处理 ...

  2. 分享一份关于Hadoop2.2.0集群环境搭建文档

    目录 一,准备环境 三,克隆VM 四,搭建集群 五,Hadoop启动与测试 六,安装过程中遇到的问题及其解决方案 一,准备环境 PC基本配置如下: 处理器:Intel(R) Core(TM) i5-3 ...

  3. Hadoop-2.7.2集群的搭建——集群学习日记

    前言 因为比赛的限制是使用Hadoop2.7.2,估在此文章下面的也是使用Hadoop2.7.2,具体下载地址为Hadoop2.7.2 开始的准备 目前在我的实验室上有三台Linux主机,因为需要参加 ...

  4. HBase0.99.2集群的搭建步骤(在hadoop2.6.4集群和zookeeper3.4.5集群上)

    HBase介绍(NoSql,不是关系型数据库) HBase是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群. HBase ...

  5. CentOS6.4上搭建hadoop-2.4.0集群

    公司Commerce Cloud平台上提供申请主机的服务.昨天试了下,申请了3台机器,搭了个hadoop环境.以下是机器的一些配置: emi-centos-6.4-x86_64medium | 6GB ...

  6. 懒人记录 Hadoop2.7.1 集群搭建过程

    懒人记录 Hadoop2.7.1 集群搭建过程 2016-07-02 13:15:45 总结 除了配置hosts ,和免密码互连之外,先在一台机器上装好所有东西 配置好之后,拷贝虚拟机,配置hosts ...

  7. centos7 下搭建hadoop2.9 分布式集群

    首先说明,本文记录的是博主搭建的3节点的完全分布式hadoop集群的过程,环境是centos 7,1个nameNode,2个dataNode,如下: 1.首先,创建好3个Centos7的虚拟机,具体的 ...

  8. hadoop2集群环境搭建

    在查询了很多资料以后,发现国内外没有一篇关于hadoop2集群环境搭建的详细步骤的文章. 所以,我想把我知道的分享给大家,方便大家交流. 以下是本文的大纲: 1. 在windows7 下面安装虚拟机2 ...

  9. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十)安装hadoop2.9.0搭建HA

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

随机推荐

  1. HGOI20180814 (NOIP 模拟Day1)

    100pts=40+60+0 rank 56 若串联那么显然是这样: 若并联那么显然是这样: 串联时C<1,并联时C>1,贪心策略<1时尽可能串联,>1时尽可能并联 考虑这样一 ...

  2. hdu5242 Game (贪心+dfs序)

    dfs序后用线段树来记每个节点的前缀和 每次找一个前缀和最大的节点,然后把它到根的路径上的每个之前没被走过的点 对应的dfs序的区间 减掉那个点的权值 每个点最多被减一次,复杂度是$O(nlogn)$ ...

  3. 解题:九省联考2018 秘密袭击CoaT

    题面 按照*Miracle*的话来说,网上又多了一篇n^3暴力的题解 可能是因为很多猫题虽然很好,但是写正解性价比比较低? 直接做不可做,转化为统计贡献:$O(n)$枚举每个权值,直接统计第k大大于等 ...

  4. Libre 6006 「网络流 24 题」试题库 / Luogu 2763 试题库问题 (网络流,最大流)

    Libre 6006 「网络流 24 题」试题库 / Luogu 2763 试题库问题 (网络流,最大流) Description 问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同 ...

  5. Zabbix应用五:Zabbix监控多Tomcat

    利用Zabbix Trapper方式监控多Tomcat实例 Zabbix自带的模版(JMX Tomcat.JMX Generic)默认只能在一台机器上监控一个tomcat实例(因为监控项中的key不能 ...

  6. 在“安装”阶段发生异常。 System.Security.SecurityException: 未找到源,但未能

    写Windows服务的时候,运行了一下,就是没反应,命令框一闪而过,查了一下异常,大致是题目的那样.原因是因为权限不足.但是在网上搜的方法都不顶用. 解决方法如下: (1)以管理员身份运行CMD: ( ...

  7. Linux 磁盘自动挂载

    磁盘代号或者装置的Label 挂载点 档案系统格式 档案系统参数 是否用dump备份 是否用fsck检查扇区         0 0         1 1         2 2 下面来写一个代表的 ...

  8. Java SpringMVC框架学习(三)springMVC的执行流程

    具体执行逻辑如下: 浏览器提交请求到中央调度器. 中央调度器将请求转给处理器映射器. 处理器映射器根据请求, 找到请求对应的处理器, 并将其封装为处理器执行链返回给中央调度器. 中央调度器根据处理器执 ...

  9. 《Linux命令行与shell脚本编程大全》第十一章 构建基本脚本

    11.1使用多个命令 $date;who   //  命令列表,加入分号就可以,这样会依次执行.参见5.2.1节 注意区分$(date;who),这个是进程列表,会生成一个子shell来执行 Shel ...

  10. 【NOI】2017 蚯蚓排队(BZOJ 4943,LOJ 2303) 模拟+hash

    [题目]#2303. 「NOI2017」蚯蚓排队 [题意]给定n条长度不超过6的蚯蚓,初始各自在一个队伍.m次操作:1.将i号蚯蚓和j号蚯蚓的队伍合并(保证i为队尾,j为队首).2.将i号蚯蚓和它后面 ...