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

详解Hadoop运行环境搭建过程

这篇文章主要介绍了Hadoop运行环境搭建过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

一,集群搭建步骤

1.先在一台虚拟机配置jdk,hadoop
2.克隆
3.修改网络等相关配置
当我们使用虚拟机时,可能自然而然的会想上面的步骤一样先搭建一台虚拟机,做好相关配置,然后进行克隆,继而修改一些网络配置来搭建集群,但是在生产过程中是买好的服务器,不存在克隆这一说,所以在此采用的步骤是:
1.建立一台虚拟机(仅带jdk安装包)
2.克隆
3.修改网络等相关配置
4.配置第一个hadoop节点,编写集群分发脚本使其他虚拟机完成配置

二,具体搭建过程

这里使用三台虚拟机来完成集群搭建,hadoop001,hadoop002,hadoop003,把安装包放在/opt/software,建立虚拟机和克隆就不说了,注意一点,在个人用不能使用sudo命令在/opt建立文件,可以先使用root,然后通过chown scq:scq module/ software/ -R把拥有着赋给个人用户即可

修改网络等配置修改sudoer文件

代码如下:
su rootll /etc/sudoerschmod u+w /etc/sudoersvim /etc/sudoers

#当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
修改mac地址,修改ip
代码如下:
sudo vim /etc/udev/rules.d/70-persistent-net.rules

把eth0删除,把eth1改为eth0,同时复制ATTR{address}的值

sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0

把ATTR{address}粘到HWADDR

然后更改IP,ip可以通过图形化界面和命令行两种方式进行更改
这里需要重启一下(可以等所有配置完成后再重启),如果我们只是修改ip,可以通过sudo /etc/rc.d/init.d/network restart 进行网络重启即可,但是修改网卡配置通过这个命令会报错网上说eth0 里仍然记录着旧的MAC地址,但我更新了sudo /etc/sysconfig/network-scripts/ifcfg-eth0仍然不行

BOOTPROTO=static 静态IPBOOTPROTO=dhcp 动态IPBOOTPROTO=none 无(图形化界面修改时BOOTPROTO值为none)

修改主机名

主机名是什么:在命令行中敲入hostname或者命令行每一行中 @后面的内容

sudo vim /etc/sysconfig/network

重启生效,不重启生效的方式不常见,可以自行百度。

修改hosts文件

sudo vim /etc/hosts[/code]关闭防火墙[code]centos6/etc/init.d/iptables status/etc/init.d/iptables start/etc/init.d/iptables stopchkconfig iptables offcentos7systemctl start firewalldfirewall-cmd --statesystemctl stop firewalldsystemctl disable firewalldsystemctl list-unit-files|grep firewalld

注:

1.每次开机时修改一下/etc/resolv.conf文件设置网关

安装hadoop,形成hadoop集群安装单个hadoop

①解压,配置环境变量

②配置文件

对于本地模式,因为本地模式直接运行jvm上,所以不需要对配置文件做配置
对于伪分布式与完全分布式的常见相关配置集中在以下文件中

HDFShadoop-env.shcore-site.xml ---> nameNode节点 + hadoop 运行时产生文件的存储目录hdfs-site.xml 副本数 + SecondaryNameNode地址Yarnyarn-env.sh yarn-site.xml reducer 获取数据的方式 + 指定 YARN 的 ResourceManager 的地址 + 日志信息上传到 HDFS 系统上MapReducemapred-env.sh mapred-site.xml 指定 mr 运行在 yarn 上 + 历史服务器 对于xxx-env.sh 就是考虑JAVA_HOME。hadoop-env.sh添加JAVA_HOME,yarn可以辨别JAVA_HOME,mapreduce-env.sh可以不用配置,当然也可以全部都配置

常见的具体配置

fs.defaultFShdfs://hadoop001:9000
hadoop.tmp.dir/opt/module/hadoop-2.7.2/data/tmp
伪分布式 副本1,无SecondaryNameNode节点dfs.replication3dfs.namenode.secondary.http-address
hadoop004:50090yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.resourcemanager.hostnamehadoop001
yarn.log-aggregation-enabletrueyarn.log-aggregation.retain-seconds604800mapreduce.framework.nameyarn
mapreduce.jobhistory.addresshadoop001:10020mapreduce.jobhistory.webapp.addresshadoop001:19888

编写集群分发脚本

1) scp:secure copy 安全拷贝

(a)将 hadoop001 中/opt/module 目录下的软件拷贝到 hadoop002 上。

[scq@hadoop001 /]$ scp -r /opt/module/* scq@hadoop002:/opt/module

(b)将 hadoop001 服务器上的/opt/module 目录下的软件拷贝到 hadoop003 上。

scq@hadoop003 opt]$ scp -r scq@hadoop101:/opt/module/* hadoop003:/opt/module

(c)在 hadoop003 上操作将 hadoop001 中/opt/module 目录下的软件拷贝到hadoop004 上。

[scq@hadoop003 opt]$ scp -r scq@hadoop001:/opt/module/* scq@hadoop004:/opt/modul

注意一点:

1.用户@主机名:地址,在该主机中,这个用户必须读地址有读权限

2.路径后面记得带*号

2)rsync 远程同步工具

主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync 和 scp 区别: 用 rsync 做文件的复制要比 scp 的速度快, rsync 只对差异文件做更新。 scp 是把所有文件都复制过去。

(1)查看 rsync 使用说明

man rsync | more

(2)基本语法

rsync -rvl $pdir/$fname $user@hadoop$host:$pdir

命令 命令参数 要拷贝的文件路径/名称 目的用户@主机:目的路径

(3) 选项说明

选项 功能
-r 递归
-v 显示复制过程
-l 拷贝符号连接

(4)案例实操

把本机/opt/software 目录同步到 hadoop002 服务器的 root 用户下的/opt/目录

[scq@hadoop001 opt]$ rsync -rvl /opt/software/* hadoop102:/opt/software/

3)rsync 远程同步工具

脚本需求分析:循环复制文件到所有节点的相同目录下。
(1)原始拷贝:

rsync -rvl /opt/module root@hadoop103:/opt/

(2)期望脚本:

xsync 要同步的文件名称
(3)在/home/atguigu/bin 这个目录下存放的脚本, atguigu 用户可以在系统任何地方直接执行。

#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if((pcount==0)); then echo no args;exit;fi#2 获取文件名称p1=$1fname=`basename $p1`echo fname=$fname#3 获取上级目录到绝对路径pdir=`cd -P $(dirname $p1); pwd`echo pdir=$pdir#4 获取当前用户名称user=`whoami`#5 循环for((host=2; host<4; host++)); doecho --------------------- hadoop00$host ----------------rsync -rvl $pdir/$fname $user@hadoop00$host:$pdirdone

注1 对于dirname,记住一下几个场景

输入:dirname // 结果为 /(斜杠)。

输入:dirname /a/b/ 结果为:/a。输入:dirname a 结果为 . (点)。

输入:dirname a/b 结果为路径名 a

.即当前目录,所以脚本中的代码我们使用绝对路径和相对路径都是可行的

2.脚本中并没有使用*,这个应该也不难理解

分发Hadoop,完成集群搭建

[scq@hadoop001 bin]$ ./xsync /opt/module/hadoop-2.7.2

总结

以上所述是小编给大家介绍的Hadoop 运行环境搭建过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


推荐阅读
  • 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的部署管理,写下此系列博客记录一下。为了避免各位做部署这种重复性的劳动,我已经把部署的步骤写成脚本,各位只需要按着本文把脚本执行完,整个环境基本就部署 ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 什么是大数据lambda架构
    一、什么是Lambda架构Lambda架构由Storm的作者[NathanMarz]提出,根据维基百科的定义,Lambda架构的设计是为了在处理大规模数 ... [详细]
  •        在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下:       1、CentOS6.7下安装JDK,地址:http:b ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • MapReduce工作流程最详细解释
    MapReduce是我们再进行离线大数据处理的时候经常要使用的计算模型,MapReduce的计算过程被封装的很好,我们只用使用Map和Reduce函数,所以对其整体的计算过程不是太 ... [详细]
  • Zookeeper为分布式环境提供灵活的协调基础架构。ZooKeeper框架支持许多当今最好的工业应用程序。我们将在本章中讨论ZooKeeper的一些最显着的应用。雅虎ZooKee ... [详细]
  • Azkaban(三)Azkaban的使用
    界面介绍首页有四个菜单projects:最重要的部分,创建一个工程,所有flows将在工程中运行。scheduling:显示定时任务executing:显示当前运行的任务histo ... [详细]
  • Java开发实战讲解!字节跳动三场技术面+HR面
    二、回顾整理阿里面试题基本就这样了,还有一些零星的问题想不起来了,答案也整理出来了。自我介绍JVM如何加载一个类的过程,双亲委派模型中有 ... [详细]
author-avatar
我想飞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有