美文网首页好程序员大数据
Hadoop2.X的环境配置与运行官方案例

Hadoop2.X的环境配置与运行官方案例

作者: ab6973df9221 | 来源:发表于2019-05-09 16:12 被阅读5次

好程序员大数据培训分享Hadoop2.X的环境配置与运行官方案例

一、安装之前的准备

1.1修改主机名称

进入Linux 系统查看本机的主机名。通过 hostname 命令查看。

[root@localhost ~]# hostnamelocalhost.localdomain

如果此时需要修改主机名则可以按照如下的方式进行修改

范例一:临时修改主机名称为Hadoop01 hostname hadoop01 重启之后失效

范例二:永久修改主机名称为Hadoop01

vi /etc/sysconfig/network NETWORKING=yesHOSTNAME=hadoop01

在修改完主机名称之后,需要编辑/etc/hosts 文件需要把主机名称与IP地址进行映射

vi /etc/hosts在该文件下添加如下内容192.168.1.128 hadoop01 #地址是自己主机名称的ip

1.2关闭防火墙

1)service iptables stop 关闭防火墙

2)chkconfig iptables off 永久关闭防火墙启动

3)chkconfig iptables --list 查看防火墙开机启动状态

1.3规划软件安装目录

1)创建安装包的保存目录,以及安装目录

mkdir -p /opt/software 保存软件的安装包

mkdir -p /opt/app 软件的安装路径

1.4创建Hadoop用户,以及赋予sudo权限

1)创建Hadoop用户,以后的操作都是在hadoop用户下完成的

useradd hadoop 创建hadoop用户

passwd hadoop 为hadoop用户设置密码

2)为hadoop用户赋予sudo权限

在root用户下,执行visudo命令编辑如下内容

Allow root to run any commands anywhere root ALL=(ALL) ALL

hadoop ALL=(ALL) ALL 为hadoop用户设置sudo权限

Same thing without a password  %wheel ALL=(ALL) NOPASSWD: ALL  hadoop ALL=(ALL) NOPASSWD: ALL. 为hadoop用户设置免密码sudo权限

1.5安装JDK环境

首先先把jdk的安装包上传到software 文件夹下,之后对其安装

1)解压 sudo tar -zvxf jdk-8u181-linux-x64.tar.gz

2)配置JDK环境变量

首先获取JDK的安装路径

[hadoop@hadoop01 jdk1.8.0_181]$ pwd/opt/soft/jdk1.8.0_181

接下来打开/etc/profile 文件进行环境变量的设置

vi /etc/profile

在profie 文件末尾添加 jdk 路径:

#JAVA_HOMEexport JAVA_HOME=/data/jdk1.8.0_181export PATH=$JAVA_HOME/bin:$PATH

保存后推出:wq

完成以上的操作之后,配置文件并不能立即生效,需要使用到如下命令,使配置文件立即生效

[hadoop@hadoop01 jdk1.8.0_181]$ source /etc/profile

之后测试JDK环境变量是否配置成功,使用如下命令输出JDK的版本信息

[hadoop@hadoop01 jdk1.8.0_181]$ java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

如果能看到如上的信息,说明JDK的环境变量已经配置成功

1.6安装Hadoop环境

1)进入到软件包的安装路径下:

[hadoop@hadoop01 /]$ cd /opt/soft/

对hadoop安装包进行解压

[hadoop@hadoop01 soft]$ sudo tar -zvxf hadoop-2.7.2.tar.gz

解压成功之后,hadoop的安装目录结构如下:

bin:Hadoop最基本的管理脚本和使用脚本所在目录,这些脚本是sbin目录下管理脚本的基础实现,用户可以直接使用这些脚本管理和使用hadoop

etc:Hadoop配置文件所在目录,包括core-site.xml, hdfs-site.xml, mapred-site.xml等从hadoop1.0继承而来的配置文件和yarn-site.xml等hadoop 2.0新增的配置文件

include:对外提供的编程酷头文件(具体动态库和静态库在lib目录中),这些头文件均是用c++定义的,通常用于c++程序访问hdfs或者编写mapreduce程序

lib:该目录包含了Hadoop对外提供的的编程动态库和静态库,与include目录中的头文件结合使用。

libexec:各个服务对应的shell配置文件所在目录,可用于配置日志输出目录,启动参数(比如JVM参数)等基本信息。

sbin:Hadoop管理脚本所在目录,主要包含HDFS和YARN中各类服务的启动/关闭脚本

share:Hadoop各个模块编译后的jar包所在目录

2) 配置hadoop环境

hadoop需要我们配置的相关文件都存放在$HADOOP_HOME/etc/hadoop目录下面,首先进入到该目录

[hadoop@hadoop01 hadoop]$ cd etc/hadoop/

进入到该目录之后使用ls 命令查看该目录下的文件信息

-rw-r--r--. 1 root root  4436 May 22  2017 capacity-scheduler.xml-rw-r--r--. 1 root root  1335 May 22  2017 configuration.xsl-rw-r--r--. 1 root root   318 May 22  2017 container-executor.cfg-rw-r--r--. 1 root root   774 May 22  2017 core-site.xml-rw-r--r--. 1 root root  3670 May 22  2017 hadoop-env.cmd-rw-r--r--. 1 root root  4224 May 22  2017 hadoop-env.sh-rw-r--r--. 1 root root  2598 May 22  2017 hadoop-metrics2.properties-rw-r--r--. 1 root root  2490 May 22  2017 hadoop-metrics.properties-rw-r--r--. 1 root root  9683 May 22  2017 hadoop-policy.xml-rw-r--r--. 1 root root   775 May 22  2017 hdfs-site.xml-rw-r--r--. 1 root root  1449 May 22  2017 httpfs-env.sh-rw-r--r--. 1 root root  1657 May 22  2017 httpfs-log4j.properties-rw-r--r--. 1 root root    21 May 22  2017 httpfs-signature.secret-rw-r--r--. 1 root root   620 May 22  2017 httpfs-site.xml-rw-r--r--. 1 root root  3518 May 22  2017 kms-acls.xml-rw-r--r--. 1 root root  1527 May 22  2017 kms-env.sh-rw-r--r--. 1 root root  1631 May 22  2017 kms-log4j.properties-rw-r--r--. 1 root root  5511 May 22  2017 kms-site.xml-rw-r--r--. 1 root root 11237 May 22  2017 log4j.properties-rw-r--r--. 1 root root   951 May 22  2017 mapred-env.cmd-rw-r--r--. 1 root root  1383 May 22  2017 mapred-env.sh-rw-r--r--. 1 root root  4113 May 22  2017 mapred-queues.xml.template-rw-r--r--. 1 root root   758 May 22  2017 mapred-site.xml.template-rw-r--r--. 1 root root    10 May 22  2017 slaves-rw-r--r--. 1 root root  2316 May 22  2017 ssl-client.xml.example-rw-r--r--. 1 root root  2268 May 22  2017 ssl-server.xml.example-rw-r--r--. 1 root root  2250 May 22  2017 yarn-env.cmd-rw-r--r--. 1 root root  4567 May 22  2017 yarn-env.sh-rw-r--r--. 1 root root   690 May 22  2017 yarn-site.xml

我们首先可以发现,这些文件目前的权限都是基于root用户的,但是我们现在使用的是hadoop用户,hadoop用户并没有这些文件的权限,所以首先需要修改权限

使用chown 命令修改用户与用户组权限

sudo chown -R hadoop:hadoop /opt/soft/hadoop-2.7.2/

修改完成之后再次使用ls命令查看文件,查看是否修改成功 [hadoop@hadoop01 hadoop]$ ll

-rw-r--r--. 1 hadoop hadoop  4436 May 22  2017 capacity-scheduler.xml-rw-r--r--. 1 hadoop hadoop  1335 May 22  2017 configuration.xsl-rw-r--r--. 1 hadoop hadoop   318 May 22  2017 container-executor.cfg-rw-r--r--. 1 hadoop hadoop   774 May 22  2017 core-site.xml-rw-r--r--. 1 hadoop hadoop  3670 May 22  2017 hadoop-env.cmd-rw-r--r--. 1 hadoop hadoop  4224 May 22  2017 hadoop-env.sh-rw-r--r--. 1 hadoop hadoop  2598 May 22  2017 hadoop-metrics2.properties-rw-r--r--. 1 hadoop hadoop  2490 May 22  2017 hadoop-metrics.properties-rw-r--r--. 1 hadoop hadoop  9683 May 22  2017 hadoop-policy.xml-rw-r--r--. 1 hadoop hadoop   775 May 22  2017 hdfs-site.xml-rw-r--r--. 1 hadoop hadoop  1449 May 22  2017 httpfs-env.sh-rw-r--r--. 1 hadoop hadoop  1657 May 22  2017 httpfs-log4j.properties-rw-r--r--. 1 hadoop hadoop    21 May 22  2017 httpfs-signature.secret-rw-r--r--. 1 hadoop hadoop   620 May 22  2017 httpfs-site.xml-rw-r--r--. 1 hadoop hadoop  3518 May 22  2017 kms-acls.xml-rw-r--r--. 1 hadoop hadoop  1527 May 22  2017 kms-env.sh-rw-r--r--. 1 hadoop hadoop  1631 May 22  2017 kms-log4j.properties-rw-r--r--. 1 hadoop hadoop  5511 May 22  2017 kms-site.xml-rw-r--r--. 1 hadoop hadoop 11237 May 22  2017 log4j.properties-rw-r--r--. 1 hadoop hadoop   951 May 22  2017 mapred-env.cmd-rw-r--r--. 1 hadoop hadoop  1383 May 22  2017 mapred-env.sh-rw-r--r--. 1 hadoop hadoop  4113 May 22  2017 mapred-queues.xml.template-rw-r--r--. 1 hadoop hadoop   758 May 22  2017 mapred-site.xml.template-rw-r--r--. 1 hadoop hadoop    10 May 22  2017 slaves-rw-r--r--. 1 hadoop hadoop  2316 May 22  2017 ssl-client.xml.example-rw-r--r--. 1 hadoop hadoop  2268 May 22  2017 ssl-server.xml.example-rw-r--r--. 1 hadoop hadoop  2250 May 22  2017 yarn-env.cmd-rw-r--r--. 1 hadoop hadoop  4567 May 22  2017 yarn-env.sh-rw-r--r--. 1 hadoop hadoop   690 May 22  2017 yarn-site.xml

通过再次查看我们发现,现在的权限已经全部修改为hadoop ,这样我们就可以在hadoop用户下对这些文件进行操作了

完成了以上的配置之后,我们接下来首先需要配置如下文件

 hadoop-env.sh: 用于hadoop的环境变量配置文件

 #The java implementation to use.export JAVA_HOME=/opt/soft/jdk1.8.0_181

在该配置文件中,找到如上内容,并且修改JAVA_HOME 为自己的JDK路径 配置完成之后,可以在hadoop根路径下,输入如下命令

bin/hadoop

Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]  CLASSNAME            run the class named CLASSNAME or  where COMMAND is one of:  fs                   run a generic filesystem user client  version              print the version  jar <jar>            run a jar file                       note: please use "yarn jar" to launch                             YARN applications, not this command.  checknative [-a|-h]  check native hadoop and compression libraries availability  distcp <srcurl> <desturl> copy file or directories recursively  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive  classpath            prints the class path needed to get the  credential           interact with credential providers                       Hadoop jar and the required libraries  daemonlog            get/set the log level for each daemon  trace                view and modify Hadoop tracing settingsMost commands print help when invoked w/o parameters.

如果能看到如上的信息,说明基本的运行环境已经搭建完成了

二、Hadoop运行模式

Hadoop的运行模式,分为以下几种:

1) 本地模式(默认模式)

不需要启用单独进程,直接可以运行,测试和开发时使用。

2)伪分布模式

等同于完全分布式,只有一个节点。

3)完全分布式模式

多个节点一起运行。

2.1本地运行Hadoop官方案例Grep

对于这个案例来说,主要的作用就是,在一堆文件中与规定的正则表达式进行匹配,把匹配成功的单词出现的次数,进行统计

  $ mkdir input  $ cp etc/hadoop/*.xml input  $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'  $ cat output/*

以上为官网上给出的案例代码

从以上的案例代码可以得出,首先需要创建一个目录,用于存放需要统计的文件,而对于统计结果的保存目录则不用以前创建,注意:Hadoop中输出结果的目录是不能提前存在的

范例:运行grep案例

1)在hadoop根目录下创建一个文件夹input

[hadoop@hadoop01 hadoop-2.7.2]$ mkdir input

2) 将hadoop的xml配置文件复制到input

[hadoop@hadoop01 hadoop-2.7.2]$ cp etc/hadoop/*.xml input/

3) 执行share目录下的mapreduce程序

[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'

4) 查看输出结果

[hadoop@hadoop01 hadoop-2.7.2]$ cat output/*1       dfsadmin

2.2运行官方wordcount案例

1) 在hadoop根目录中创建用于保存统计文件的wcinput目录

[hadoop@hadoop01 hadoop-2.7.2]$ mkdir wcinput

2) 在 wcinput 文件下创建一个 wordcount.txt 文件

[hadoop@hadoop01 wcinput]$ vi worldcount.txt

hello   java    world   inputhadoop  hive    zookeeper       javaworld   input   hello   hadoophbase   zookeeper       sqoop

3) 执行wordcount案例程序

[hadoop@hadoop01 hadoop-2.7.2]$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput

4) 查看结果

[hadoop@hadoop01 hadoop-2.7.2]$ cat wcoutput/part-r-00000 hadoop  2hbase   1hello   2hive    1input   2java    2sqoop   1world   2zookeeper       2

通过以上的方式,就可以完成Hadoop的最基本的环境搭建,以及运行Hadoop的一些案例

16 \\(�C��X

相关文章

  • Hadoop2.X的环境配置与运行官方案例

    好程序员大数据培训分享Hadoop2.X的环境配置与运行官方案例 一、安装之前的准备 1.1修改主机名称 进入Li...

  • 2018-07-16

    pycharm工具的使用 官方网站[下载,安装] 配置[python环境配置、字体主题配置] 运行:直接使用制定的...

  • 修饰器

    一、Babel 环境配置 安装依赖 配置 .babelrc 文件 运行文件 Babel 的官方网站提供一个在线转码...

  • 2018-08-15

    Dart 开发与运行环境配置 本章内容安装与配置Dart SDK安装与配置VSCode验证 1 安装与配置Dart...

  • flutter_web集成问题记录

    一、配置环境 前提:已配置好flutter基础环境,然后配置flutter_web的运行环境终端运行命令:flut...

  • 简介

    Linux运行环境配置 为了支持主流服务器的运行,需要配置相关的运行环境 安装环境: centos6.5 主要包括...

  • Windows下SonarQube与Jenkins环境的配置使用

    Windows下SonarQube与Jenkins环境的配置使用 首先放个SonarQube官方持续化集成测试环境...

  • react-native 学习知识总结

    环境搭建 官方的环境搭建文档已经有详细的说明,这里不再重复。大家可以看下我本地的环境配置版本,目前整个项目运行稳定...

  • Python2与Python3共存

    正常安装官方包即可,目录记得要分开安装 配置环境变量 运行python2py -2py -2 -m pip 运行p...

  • Flutter-环境安装

    使用镜像,Terminal运行 下载SDK,解压 官方下载页 这里我们使用1.0.0版本 配置环境 Termina...

网友评论

    本文标题:Hadoop2.X的环境配置与运行官方案例

    本文链接:https://www.haomeiwen.com/subject/hhiwoqtx.html