热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

1、首先,创建好3个Centos7的虚拟机,具体的操作可以参考网上其他教程,这个给个链接《windows环境安装VMware,并且安装CentOS7 虚拟机》

2、完成虚拟机的java环境的搭建,可以参考我的博客《centos7 安装jdk 1.8》

3、关闭或者禁用防火墙, systemctl  stop firewalld.service  关闭防火墙;systemctl disable firewalld.service  关闭防火墙

  firewall-cmd --state  查看状态

  

4、修改hosts文件,vim /etc/hosts ,注释原有的内容,加入如下内容,ip地址为你自己的虚拟机的IP地址:

192.168.10.128 master.hadoop 
192.168.10.129 slave1.hadoop
192.168.10.130 slave2.hadoop

  more /etc/hosts查看是否正确,需要重启后方能生效。重启命令   reboot now

  此处可以添加ssh key,创建无密码的公钥

a、在master机器上输入 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 创建一个无密码的公钥,-t是类型的意思,dsa是生成的密钥类型,-P是密码,’’表示无密码,-f后是秘钥生成后保存的位置
b、在master机器上输入 cat
~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 将公钥id_dsa.pub添加进keys,这样就可以实现无密登陆ssh
c、在master机器上输入 ssh master 测试免密码登陆
d、在slave1
.hadoop主机上执行 mkdir ~/.ssh
e、在slave2
.hadoop主机上执行 mkdir ~/.ssh
f、在master机器上输入 scp
~/.ssh/authorized_keys root@slave1.hadoop:~/.ssh/authorized_keys 将主节点的公钥信息导入slave1.hadoop节点,导入时要输入一下slave1.hadoop机器的登陆密码
g、在master机器上输入 scp
~/.ssh/authorized_keys root@slave2.hadoop:~/.ssh/authorized_keys 将主节点的公钥信息导入slave2.hadoop节点,导入时要输入一下slave2.hadoop机器的登陆密码
h、在三台机器上分别执行
chmod 600 ~/.ssh/authorized_keys 赋予密钥文件权限
i、在master节点上分别输入 ssh slave1
.hadoop和 ssh slave2.hadoop测试是否配置ssh成功

5、进入home目录,mkdir hadoop  创建一个hadoop的文件夹。上传下载好的hadoop包到该目录,hadoop2.9下载地址;

  http://hadoop.apache.org/->左边点Releases->点mirror site->点http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common->下载hadoop-2.9.0.tar.gz;

  tar -zxvf hadoop-2.9.0.tar.gz  解压tar包

6、配置hadoop,此节点可暂时先配置128master,然后通过scp的方式复制到两个从节点

  a、vim /home/hadoop/hadoop-2.9.0/etc/hadoop/core-site.xml,在节点中增加如下内容:

    
fs.default.name
hdfs://master.hadoop:9000


hadoop.tmp.dir
/home/hadoop/tmp


io.file.buffer.size
131702

  b、vim /home/hadoop/hadoop-2.9.0/etc/hadoop/hdfs-site.xml



dfs.namenode.name.dir
file:///home/hadoop/dfs/name


dfs.datanode.data.dir
file:///home/hadoop/dfs/data


dfs.replication
1


dfs.namenode.secondary.http-address
master.hadoop:50090


dfs.webhdfs.enabled
true

  c、cp /home/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml.template /home/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml

    vim /home/hadoop/hadoop-2.9.0/etc/hadoop/mapred-site.xml



mapreduce.framework.name
yarn
true


mapreduce.jobtracker.http.address
master.hadoop:50030


mapreduce.jobhistory.address
master.hadoop:10020


mapreduce.jobhistory.webapp.address
master.hadoop:19888


mapred.job.tracker
http://master.hadoop:9001

  d、vim /home/hadoop/hadoop-2.9.0/etc/hadoop/yarn-site.xml



yarn.nodemanager.aux-services
mapreduce_shuffle

yarn.nodemanager.auxservices.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler


yarn.resourcemanager.address
master.hadoop:8032


yarn.resourcemanager.scheduler.address
master.hadoop:8030


yarn.resourcemanager.resource-tracker.address
master.hadoop:8031


yarn.resourcemanager.admin.address
master.hadoop:8033


yarn.resourcemanager.webapp.address
master.hadoop:8088


yarn.resourcemanager.hostname
master.hadoop


yarn.nodemanager.resource.memory-mb
2048

7、配置/home/hadoop/hadoop-2.9.0/etc/hadoop目录下hadoop.env.sh、yarn-env.sh的JAVA_HOME

取消JAVA_HOME的注释,设置为 export JAVA_HOME=/home/java/jdk1.8.0_11

8、配置/home/hadoop/hadoop-2.9.0/etc/hadoop目录下的slaves,删除默认的localhost,添加2个slave节点:

 

slave1.hadoop
slave2
.hadoop

 

9、将master服务器上配置好的Hadoop复制到各个节点对应位置上,通过scp传送:

scp -r /home/hadoop  192.168.10.129:/home/
scp
-r /home/hadoop 192.168.10.130:/home/

10、启动hadoop。在master节点启动hadoop服务,各个从节点会自动启动,进入/home/hadoop/hadoop-2.9.0/sbin/目录,hadoop的启动和停止都在master上进行;

  a、初始化,输入命令:hdfs namenode -format

  b、启动命令:start-all.sh

  

  c、输入jps命令查看相关信息,master上截图如下:

  

  d、slave节点上输入jps查看:

  

  e、停止命令:stop-all.sh

11、访问,输入http://192.168.10.128:50070,看到如下界面:

 

 

   输入http://192.168.10.128:8088,看到如下界面:

  好了。如果以上都成功,那么基本上完成了hadoop集群的搭建;

 


推荐阅读
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 微信官方授权及获取OpenId的方法,服务器通过SpringBoot实现
    主要步骤:前端获取到code(wx.login),传入服务器服务器通过参数AppID和AppSecret访问官方接口,获取到OpenId ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 使用freemaker生成Java代码的步骤及示例代码
    本文介绍了使用freemaker这个jar包生成Java代码的步骤,通过提前编辑好的模板,可以避免写重复代码。首先需要在springboot的pom.xml文件中加入freemaker的依赖包。然后编写模板,定义要生成的Java类的属性和方法。最后编写生成代码的类,通过加载模板文件和数据模型,生成Java代码文件。本文提供了示例代码,并展示了文件目录结构。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
author-avatar
剡亚军_191
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有