一、准备工作:

  1、找3台以上的主机(因为HDFS文件系统中保存的文件的blocak在datanode中至少要有3份或3份以上的备份,备份不能放于同一个机架上,更不能放于同一台主机上),我这里使用的是4台,分别是hadoop1、hadoop2、hadoop3和hadoop4。

  2、安装每台主机的基本环境:linux CentOS6.5 64x系统,启动每台主机的系统,配置好网络和主机名《====》ip的映射。

    配置网络的文件在:/etc/sysconfig/network-scripts/ifcfg-eth0文件中

      

      注:每一台主机都要配置,但是IP不能重复。

    主机名与IP的映射文件在:/etc/hosts文件中

      

  3、关闭每台主机的防火墙。注:必须关闭,千万不能忘记,我已经在这个上面吃亏很多次了。

    Command:service iptables stop

  4、同步每台主机的时间,这里使用的是上海交通大学网络中心NTP服务器来同步时间。

    Command:ntpdate ntp.sjtu.edu.cn

二、安装并配置zookeeper服务器:这里将主机名为hadoop1、hadoop2和hadoop3的主机定为zookeeper服务器。

  1、在hadoop1中安装zookeeper。自己从zookeeper官方网站上下载,我这里使用的是zookeeper-3.4.6,安装步骤不在这里详解了。

  2、使用vim 编辑器修改zookeeper安装目录中conf下的zoo_sample.cfg文件,即zookeeper的配置文件。vim是vi编辑器的升级版,可自行安装,使用vi也可以。

    Command:vi /root/zookeeper-3.4.6/conf/zoo_sample.cfg

     

  3、在zoo_sample.cfg文件的末尾添加:

    

  4、通过网络拷贝命令将hadoop1上的zookeeper安装目录拷贝到hadoop2和hadoop3的相同目录下:

    Command:
      scp /root/zookeeper-3.4.6 root@hadoop2:/root/
      scp /root/zookeeper-3.4.6 root@hadoop3:/root/

  5、为各zookeeper服务器主机创建/home/zk_data目录

    Command:
      mkdir /home/zk_data

  6、为各zookeeper服务器配置myid文件,myid这个文件是不存在的,使用vim编辑器编辑保存后会自动创建该文件,该文件的内容为上述配置文件中为其zookeeper服务器在server.x=hadoopx:2888:3888中server后面的x代表的id,编辑保存即可。每台zookeeper服务器主机都要配置。

    Command:
      vim /home/zk_data/myid

    

  7、启动3台zookeeper服务器

    Command:
      /root/zookeeper-3.4.6/bin/zkServer.sh start

  8、到zookeeper安装目录的父目录中查看日志文件,看是否启动成功

三、配置HDFS中的namenode、JN,这里将hadoop1和hadoop4定为namenode,将hadoop1-3定为JN。

  1、在hadoop1主机中安装hadoop,我这里安装的是hadoop-2.5.1。

  2、修改hadoop1配置文件中hdfs-site.cfg文件   

    

  3、修改hadoop1配置文件中core-site.cfg文件

    

  4、通过网络拷贝命令将hadoop1中hadoop的安装目录拷贝到另外三台机器中。

  Command:
    scp /root/hadoop-2.5.1 root@hadoop2:/root/
    scp /root/hadoop-2.5.1 root@hadoop3:/root/
    scp /root/hadoop-2.5.1 root@hadoop4:/root/

  5、启动hadoop1-3主机中的JN

  Command:
    /root/hadoop-2.5.1/sbin/hadoop-daemon.sh start journalnode

  6、初始化主机hadoop1中的hadoop

  Command:
     /root/hadoop-2.5.1/bin/hdfs namenode -format

  7、在hadoop1中执行:

  Command:
    /root/hadoop-2.5.1/sbin/hadoop-daemon.sh start namenode

  8、在hadoop4中执行:

  Command:
    /root/hadoop-2.5.1/bin/hdfs namenode -bootstrapStandby

  9、关闭hadoop1的namenode

  Command:
    /root/hadoop-2.5.1/sbin/hadoop-daemon.sh stop namenode

  10、在ZK中创建znode来存储automatic Failover的数据,在hadoop1中执行:

  Command:
    /root/hadoop-2.5./bin/hdfs zkfc -formatZK

  11、从hadoop1启动namenode

  Command:
    /root/hadoop-2.5.1/sbin/start-dfs.sh

 

hadoop完全分布式文件系统集群搭建的更多相关文章

  1. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  2. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  3. 高可用Hadoop平台-HBase集群搭建

    1.概述 今天补充一篇HBase集群的搭建,这个是高可用系列遗漏的一篇博客,今天抽时间补上,今天给大家介绍的主要内容目录如下所示: 基础软件的准备 HBase介绍 HBase集群搭建 单点问题验证 截 ...

  4. Hadoop初期学习和集群搭建

    留给我学习hadoop的时间不多了,要提高效率,用上以前学的东西.hadoop要注重实战,把概念和原理弄清楚,之前看过一些spark,感觉都是一些小细节,对于理解hadoop没什么帮助.多看看资料,把 ...

  5. Hadoop HA高可用集群搭建(2.7.2)

    1.集群规划: 主机名        IP                安装的软件                            执行的进程 drguo1  192.168.80.149 j ...

  6. Zookeeper(四)Hadoop HA高可用集群搭建

    一.高可就集群搭建 1.集群规划 2.集群服务器准备 (1) 修改主机名(2) 修改 IP 地址(3) 添加主机名和 IP 映射(4) 同步服务器时间(5) 关闭防火墙(6) 配置免密登录(7) 安装 ...

  7. hadoop HA+kerberos HA集群搭建

    IP.主机名规划 hadoop集群规划: hostname IP hadoop 备注 hadoop1 110.185.225.158 NameNode,ResourceManager,DFSZKFai ...

  8. 3.环境搭建-Hadoop(CDH)集群搭建

    目录 目录 实验环境 安装 Hadoop 配置文件 在另外两台虚拟机上搭建hadoop 启动hdfs集群 启动yarn集群 本文主要是在上节CentOS集群基础上搭建Hadoop集群. 实验环境 Ha ...

  9. Hadoop HA 高可用集群搭建

    一.首先配置集群信息 vi /etc/hosts 二.安装zookeeper 1.解压至/usr/hadoop/下 .tar.gz -C /usr/hadoop/ 2.进入/usr/hadoop/zo ...

随机推荐

  1. C++友元概念

    采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口. 但是,有时需要定义一些函数,这些函数不是类的一部分,但又需要频繁地访问类 ...

  2. ES6 随记(1)-- let 与 const

    1. const(声明一个只读的常量) 这个是很好理解的,且声明时就必须赋值而不能以后再赋,不然会报错. 而个人认为它最大的用处还是在于 {} 和 [] 上,const 保证了它的内存地址(指针)不变 ...

  3. WebSocket 的后记

    一个美好的概念可以让策划无比幼稚和疯狂, 比如 H5 改变世界呀,小程序替代 APP 呀,现在即时通信也被公司里的他们认为 so easy 了. 这很尴尬好吧,WebSocket(以下简称 ws) 的 ...

  4. Windos Server 2008 NFS 服务安装使用

    系统环境:Windos 2008 R2 x64位 安装服务:NFS 文件服务 我的电脑-->右击管理-->功能-->添加功能 选择网络文件系统服务工具 安装服务 添加角色 下一步 选 ...

  5. 2018.7.12训练赛 -G

    第二道水题 前边说了很多话,但就最后两段有用. 就是给你一个序列,然后你判断一下这个序列是不是递增的,是就输出yes,否则输出no. 所以以后不管题目看起来多长.多复杂,都要读一遍. 代码就不贴了.

  6. char,uchar,0xff

    如果:char test = 0xFF: 此时:test != 0xFF://因为test为char类型,0xFF为int,所以编译器会将test转为int(-1),所以不等于 如果:uchar te ...

  7. JMeter学习(八)JDBC Request

    [step_1]:“测试计划”--(右键)à添加à线程组: [step_2]:选择step_1中添加的线程组—(右键)à添加à配置元件àJDBC Connection Configuration,添加 ...

  8. 【bzoj1925】地精部落[SDOI2010](dp)

    题目传送门:1925: [Sdoi2010]地精部落 这道题,,,首先可以一眼看出他是要我们求由1~n的排列组成,并且抖来抖去的序列的方案数.然后再看一眼数据范围,,,似乎是O(n^2)的dp?然后各 ...

  9. java——base64 加密和解密

    base64 一.加密 *.若有要求输入字符必须为UTF-8: 则需str.getByte("utf-8");  //在getByte()中指定utf-8编码,否则中文字符将被加密 ...

  10. javascript 时间日期处理相加相减

    var d = new Date("2008/04/15"); d.setMonth(d.getMonth() + 1 + 1);//加一个月,同理,可以加一天:getDate() ...