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

在云主机上安装hadoop分布式模式

一、 背景

最近这两周在UCloud公司实习,第一周尝试了云计算,第二周尝试并研究了大数据生态中的hadoop、yarn、spark、mapreduce等技术,并在公司提供的云主机上分别安装了hadoop伪分布式模式、hadoop分布式模式、yarn、spark以及在hadoop分布式模式上提交与查看作业。
本文介绍在一台云主机上安装hadoop完全分布模式。

二、 实验目标

在部署的3台主机m1、m2、m3中,分别安装hadoop,修改配置文件,实现hadoop的完全分布式。

三、 实验环境

3台云主机操作系统:CentOS7
jdk.1.8.0_191及以上已安装,具体JAVA版本与hadoop版本的对应关系,请参考https://cwiki.apache.org/confluence/display/HADOOP2/HadoopJavaVersions

四、 实验过程

1.关闭防火墙和SELinux(后面步骤会详细介绍做法)

2.修改IP映射关系
编辑/etc/hosts文件,添加如下内容(具体格式为:内网IP+tab+主机名,这里的内网IP是为了便于描述,实际的IP可能并不相邻,但一定在同一网段):
192.168.1.1 m1
192.168.1.2 m2
192.168.1.3 m3

3.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

4.关闭SELinux
vim /etc/selinux/config,修改第7行(如果有)enforcing为disabled

5.安装openssh客户端
yum –y install psmisc openssh-clients

6.重启所有服务器

7.配置各主机之间的ssh免密登录(此处不再赘述)
这里注意,一定要免密登录,否则每次互相通信都要输入密码,很繁琐,效率低下。
ssh免密登录的测试方法:
在m1中输入 ssh m2,看是否可以在不提示输密码的情况下,登录到m2中,其他主机之间同理(都要互相测试一下,否则可能有些主机之间通了,有些主机之间没有通)。

8.从hadoop官网下载hadoop包:http://www.apache.org/dyn/closer.cgi/hadoop/common/
这里选择hadoop2.8.5
在云主机上安装hadoop分布式模式

9.将下载的hadoop-2.8.5.tar.gz通过winscp传入主机中,解压到云主机,位置自定
在云主机上安装hadoop分布式模式

10.配置环境变量
编辑 /etc/profile 文件,在末尾追加如下内容(具体路径要根据自己解压hadoop的路径而做出改变):
export JAVA_HOME=/home/yourUserName/module/jdk1.8.0_201
export PATH=PATH:PATH:JAVA_HOME/bin
export HADOOP_HOME=/home/yourUserName/module/hadoop-2.7.2
export PATH=PATH:PATH:HADOOP_HOME/bin
export PATH=PATH:PATH:HADOOP_HOME/sbin

11. 刷新环境变量 source /etc/profile

12.在m1中,修改hadoop的配置文件hadoop-env.sh
把${JAVA_HOME}改为绝对路径,如export JAVA_HOME=/home/name/module/jdk1.8.0_201

13.在m1中,修改hadoop的配置文件mapred-env.sh
在第16行,删除#后把${JAVA_HOME}改为绝对路径,如export JAVA_HOME=/home/name/module/jdk1.8.0_201

14.在m1中,修改hadoop的配置文件yarn-env.sh
在第23行,删除#后把${JAVA_HOME}改为绝对路径,如export JAVA_HOME=/home/name/module/jdk1.8.0_201

15.在m1中,修改hadoop的配置文件core-site.xml
在云主机上安装hadoop分布式模式

16.在m1中,修改hadoop的配置文件hdfs-site.xml
在云主机上安装hadoop分布式模式

17. 在m1中,修改hadoop的配置文件mapred-site.xml
在云主机上安装hadoop分布式模式

18. 在m1中,修改hadoop的配置文件yarn-site.xml
在云主机上安装hadoop分布式模式

19. 在m1中,修改hadoop的配置文件slaves
slaves设定了datanode,我的配置中,设定m2与m3为datanode,所以我的salves中为:
m2
m3

20.m1通过scp命令,将配置文件分发到其他各节点
scp -r /home/name/module [email protected]:/home/name/
scp -r /home/name/module [email protected]:/home/name/

21.格式化namenode,输入命令 hdfs namenode -format
在云主机上安装hadoop分布式模式

22.启动hdfs集群,输入命令start-dfs.sh

23.输入指令jps,查看进程
预期:
m1上会出现NameNode的服务;
m2上会出现SecondaryNameNode、DataNode的服务
m3上会出现DataNode的服务

24. 启动yarn集群,输入命令start-yarn.sh
预期:
m1上出现ResourceManager的服务;
m2上出现NodeManager的服务;
m3上出现NodeManager的服务

五、 收获及心得

经过了前两天的工作,我已经学会了如何配置hadoop本地模式、伪分布式模式、JAVA环境等必要前提,并在查阅了相关资料后,大致理解了hadoop集群的工作原理。主要参考的文档还是官方教程。
在配置的过程中,我注重对每一步意义的理解,并查阅文档深入学习了hadoop相关配置文件的作用和语法,以及配置文件中各个参数的作用。对这戏东西了解之后,在之后的hadoop其它模式的配置或hadoop运行时,应该会更加高效,遇到问题也能在理解可能造成问题的原因的基础上,更快的解决问题。
ps:官方文档有些步骤跨越比较大,在每一步之间,如果想深入理解这一步配置的意义,还要自己查阅资料。

六、 参考资料

https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html


推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Hadoop2.6.0 + 云centos +伪分布式只谈部署
    3.0.3玩不好,现将2.6.0tar.gz上传到usr,chmod-Rhadoop:hadophadoop-2.6.0,rm掉3.0.32.在etcp ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • Kylin 单节点安装
    软件环境Hadoop:2.7,3.1(sincev2.5)Hive:0.13-1.2.1HBase:1.1,2.0(sincev2.5)Spark(optional)2.3.0K ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • 前言折腾了一段时间hadoop的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Annotation的大材小用
    为什么80%的码农都做不了架构师?最近在开发一些通用的excel数据导入的功能,由于涉及到导入的模块很多,所以开发了一个比较通用的e ... [详细]
  • 进入配置文件目录:[rootlinuxidcresin-4.0.]#cdusrlocalresinconf查看都有哪些配置文件:[rootlinuxid ... [详细]
  • 1、打开etcsysconfiggrub,   #vimetcsysconfiggrub   内容如下: ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
author-avatar
qk墨砚轩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有