一、完全分布式集群环境的搭建

  1、配置hosts文件:将三台集群服务器的主机名与IP的对应关系互相配置到对方的hosts文件中,以便对方服务器能通过主机名寻找IP,hosts文件在/etc目录下。

  2、建立hadoop运行账号,这个就不说了。

  3、配置ssh免密码连入,配置这个地方可能会出现问题,具体细节看上一篇博客。

  4、下载并解压hadoop安装包,需要说明的是最好是先chmod更改一下权限,使用tar xzvf 包名 来解压。

  5、在namenode节点上配置hadoop:

    (1)修改~/hadoop-0.20.2/conf目录下的core-size.xml文件内容,用来配置namenode节点IP和断口,如下:

      <configuration>

        <property>

          <name>fs.default.name</name>

          <value>hdfs://namenode服务器ip地址:9000</value>

        </property>

      </configuration>

    (2)修改~/hadoop-0.20.2/conf目录下的hdfs-site.xml文件内如,用来配置备份数据的份数,如下:

      <configuration>

        <property>

          <name>dfs.replication</name>

          <value>2(数据备份两台服务器)</value>

        </property>

      </configuration>

    (3)修改~/hadoop-0.20.2/conf目录下的mapred-site.xml文件内容,用来配置jobtracker服务器的IP和断口,如下:

      <configuration>

        <property>

          <name>mapred.job.tracker</name>

          <value>jobtracker服务器的IP地址:9001</value>

        </property>

      </configuration>

    (4)修改~/hadoop-0.20.2/conf目录下的masters和slaves文件,masters文件中写namenode节点和jobtracker节点的主机名,slaves文件中写datanode和tasktracker的主机名。

    (5)修改~/hadoop-0.20.2/conf目录下的hadoop-env.sh文件,修改hadoop的jkd环境变量,找到export JAVA_HOME这一行,取消注释,更改jdk安装路径。

    (6)将修改完成后的hadoop-0.20.2目录复制到另外两台datanode节点上,我是复制安装包过去解压,namenode上配置好了之后,将其conf目录复制过去覆盖即可。

    (7)格式化分布式文件系统:

       A、cd ~/hadoop-0.20.2/

       B、bin/hadoop namenode -format

       C、当有“successfully formatted”等字符出现时,表面格式化成功。

    (8)在namenode节点的hadoop解压目录下执行命令:bin/start-all.sh,即可启动namenode进程、jobtracker进程、secondarynamenode进程、datanode进程、tasktracker进程。在namenode节点下使用:~/jdk1.6.0_45/bin/jps命令,可以看到启动了NameNode进程、JobTracker进程、econdaryNameNode进程和Jps进程。在datanode节点下使用该命令,可以看到启动了DataNode进程、TaskTracker进程和Jps进程。

二、完成分布式搭建后出现的问题。

  按照上面的步骤,是搭建成功了的,使用JPS命令,也看到对应的守护进程启动了的。可以第二天过来再次用start-all.sh脚本启动进程的时候发现悲剧了,namenode进程和jobtracker进程没有起来,SecondaryNamenode进程倒是跑起来了。在看datanode节点,发现DataNode进程和TaskTracker进程倒是起来了。然后就是逐步解决问题,步骤如下:

  1、NameNode节点没有启动,用hadoop namenode -format命令格式化namenode节点,之后再次启动,发现NameNode进程启动了,但是JobTracker进程没有启动。

  2、继续,删除/tmp目录下的文件,因为进程启动后会生成一些文件默认存放在/tmp目录下,然后删除~/hadoop-0.20.2/data目录下的所有内容,使用stop-all.sh脚本关闭所有进程后再次启动所有进程,发现NameNode进程和JobTracker进程起来了,再到datanode节点下看看,发现DataNode节点没有起来,悲剧!!

  3、继续排错,发现好像是因为格式化namenode次数过多,datanode节点上存放的还是之前的namenodeID,所以删除datanode节点下~/hadoop-0.20.2/data目录下所有内容,再次重启namenode节点上的守护进程,namenode没问题,datanode也没问题,ok终于搞定。

三、注意事项:      

  1、可以不用配置hosts文件,在master、slave文件中给出具体IP就行。

  2、在真实集群环境中,使用以下几步替换上面的几个步骤:

    (1)使用DNS服务器的域名解析功能来替代修改hosts文件。

    (2)使用NFS实现密钥共享,替换ssh免密码登录。

    (3)使用awk工具编写脚本,批量复制hadoop。

hadoop学习(二)hadoop集群的启动的更多相关文章

  1. Hadoop的多节点集群详细启动步骤(3或5节点)

    版本1 利用自己写的脚本来启动,见如下博客 hadoop-2.6.0-cdh5.4.5.tar.gz(CDH)的3节点集群搭建 hadoop-2.6.0.tar.gz的集群搭建(3节点) hadoop ...

  2. kafka学习(二)-zookeeper集群搭建

    zookeeper概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 服务等.Zookeeper是h ...

  3. Hadoop学习12-配置集群环境

    由于之前虚拟机都是用的桥接方式,有时候没有网络可用,想学习的时候,就狠不方便. 于是研究了一下,希望搭建一个多台虚机组成一个局域网的集群,即host-only方式 1.安装VM,网络选择“host-o ...

  4. hadoop 3.x 单机集群配置/启动时的问题处理

    一.修改配置文件(hadoop目录/etc/hadoop/配置文件) 1.修改hadoop-env.sh,指定JAVA_HOME 修改完毕后 2.修改core-site.xml <configu ...

  5. Hadoop的单节点集群详细启动步骤

    见,如下博客 hadoop-2.2.0.tar.gz的伪分布集群环境搭建(单节点) 很简单,不多赘述.

  6. Dubbo学习(二) Dubbo 集群容错模式-负载均衡模式

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  7. rocketmq学习(二) rocketmq集群部署与图形化控制台安装

    1.rocketmq图形化控制台安装 虽然rocketmq为用户提供了使用命令行管理主题.消费组以及broker配置的功能,但对于不够熟练的非运维人员来说,命令行的管理界面还是较难使用的.为此,我们可 ...

  8. hadoop 2.2.0集群安装

    相关阅读: hbase 0.98.1集群安装 本文将基于hadoop 2.2.0解说其在linux集群上的安装方法,并对一些重要的设置项进行解释,本文原文链接:http://blog.csdn.net ...

  9. hadoop学习之hadoop完全分布式集群安装

    注:本文的主要目的是为了记录自己的学习过程,也方便与大家做交流.转载请注明来自: http://blog.csdn.net/ab198604/article/details/8250461 要想深入的 ...

  10. Hadoop学习之Hadoop集群搭建

    1.检查网络状况 Dos命令:ping ip地址,同时,在Linux下通过命令:ifconfig可以查看ip信息2.修改虚拟机的ip地址    打开linux网络连接,在桌面右上角,然后编辑ip地址, ...

随机推荐

  1. Lombok 插件安装和使用

    引言 以前的 Java 项目中,充斥着太多毫无技术含量的代码,比如类属性的 getter/setter/toString 方法,还有就是异常处理.I/O 流的关闭操作等.这些样板代码虽然可以通过 ID ...

  2. 【转-备忘】scatter函数

    1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如下: 4.基本的使用方法如下: #导入必要的模块 import numpy as np import matp ...

  3. 6.1 tar:打包备份

    tar命令     在Linux系统里,tar是将多个文件打包在一起,并且可以实现解压打包的文件的命令.是系统管理员最常用的命令之一,tar命令不但可以实现对多个文件进行打包,还可以对多个文件打包后进 ...

  4. xml 解析之 JDOM解析

    JDOM 是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序.JDOM 是一个开源项目,它基于树形结构,利用纯 Java 的技术对 XML 文档实现解析.生成.序列化及多种操 ...

  5. .NET Core中插件式开发实现

    前言: 之前在文章- AppDomain实现[插件式]开发 中介绍了在 .NET Framework 中,通过AppDomain实现动态加载和卸载程序集的效果. 但是.NET Core 仅支持单个默认 ...

  6. python爬取微信小程序(实战篇)

    python爬取微信小程序(实战篇) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90452656 展开 一.背景介绍 近期有需求需要抓 ...

  7. (续篇)Selenium 安装配置以及如何解决('chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/ch)或者(unknown error:cannot find Chrome binary)问题?

    注:本帖针对小小白哦~~(づ ̄3 ̄)づ╭- 接pip安装的帖子,不需要的直接跳过... 首先上图,出现如下的错误,那你可是找到知己了: 或者: 抱歉抱歉,这图截的不太清晰,凑合着用吧,但是也能看出来错 ...

  8. 从性能角度帮你理解HTTP协议

    因为做性能测试分析的人来说,HTTP 协议可能是绕不过去的一个槛.在讲 HTTP 之前,我们得先知道一些基本的信息. HTTP(HyperText Transfer Protocol,超文本传输协议) ...

  9. NVIDIA安倍架构

    NVIDIA安倍架构 NVIDIA Ampere ArchitectureNVIDIA The Heart of the World's Highest-Performing, Elastic Dat ...

  10. Idea快捷键大全(Windows)

    Ctrl 快捷键 介绍 Ctrl + F 在当前文件进行文本查找 (必备) Ctrl + R 在当前文件进行文本替换 (必备) Ctrl + Z 撤销 (必备) Ctrl + Y 删除光标所在行 或 ...