《Hadoop与大数据挖掘》——2.2 Hadoop配置及IDE配置

简介:

本节书摘来自华章计算机《Hadoop与大数据挖掘》一书中的第2章,第2.2节,作者 张良均 樊哲 位文超 刘名军 许国杰 周龙 焦正升,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 Hadoop配置及IDE配置

2.2.1 准备工作

image

上面的虚拟机参数配置只是参考,可以根据自身机器的实际情况进行调整。

在配置好Hadoop集群所需机器后,先确认下集群拓扑,本次部署采用的集群拓扑如图2-16所示。

如文中未做说明,则所有操作都是在root用户下执行。但是,在生产环节,一般不会使用root用户,这点需要注意。

2.2.2 环境配置

1.安装JDK

(1)文件下载

到www.oracle.com网站上下载自己系统对应JDK版本。文件名如jdk-7u-linux-x64.tar.gz,注意下载64位的版本。

(2)解压文件

把下载下来的文件上传到Linux机器,并解压缩到某个路径下,如/usr/local目录。

mv jdk-7u<version>-linux-x64.tar.gz /usr/ local
tar zxvf jdk-7u<version>-linux-x64.tar.gz

(3)配置Java环境变量

编辑/etc/profile文件,在末尾加上Java配置,如代码清单2-1所示。

image

2.配置ssh无密码登录

1)生成公钥和私钥,执行ssh-keygen –t rsa,接着按3次Enter键即可,如代码清单2-2所示。

image
image

在~/.ssh目录生成两个文件,id_rsa为私钥,id_rsa.pub为公钥。

2)设置hosts文件。在/etc/hosts文件中配置IP与HOSTNAME的映射(IP根据自己机器情况设置),如代码清单2-3所示。

image

3)导入公钥到认证文件,执行ssh-copy-id命令,如代码清单2-4所示。

image

接着分别执行:

ssh-copy-id -i /root/.ssh/id_rsa.pub slave1
ssh-copy-id -i /root/.ssh/id_rsa.pub slave2
ssh-copy-id -i /root/.ssh/id_rsa.pub slave3

即可导入公钥到其他所有子节点。

4)验证。打开终端,直接输入ssh master、ssh slave1、ssh slave2、ssh slave3,如果可直接登录,而不需要输入密码,则ssh无密码登录配置成功。

[root@master ~]# ssh master
Last login: Tue Nov  3 18:39:41 2015 from 192.168.0.1

3.配置NTP

配置NTP主要是为了进行集群间的时间同步,需要注意在master、slave1、slave2、slave3节点分别执行“yum install ntp”,即可安装该软件。

假设将Master节点作为NTP服务主节点,那么其配置(修改/etc/ntp.conf文件)如代码清单2-5所示。

image

在slave1~slave3配置NTP,同样修改/etc/ntp.conf文件,内容如代码清单2-6所示。

image

在master、slave1、slave2、slave3节点执行“service ntpd start &chkconfig ntpd on”,即可启动并永久启动NTP服务。

4.配置Hadoop集群

上传Hadoop安装包到master机器,并解压缩到/usr/local目录,使用代码:

tar -zxf hadoop-2.6.0.tar.gz -C /usr/local

Hadoop配置涉及的配置文件有以下7个:

image

各个配置文件修改如下所示。

1)配置文件1:hadoop-env.sh。

该文件是Hadoop运行基本环境的配置,需要修改为JDK的实际位置。故在该文件中修改JAVA_HOME值为本机安装位置,如代码清单2-7所示。

image

2)配置文件2:yarn-env.sh。

该文件是YARN框架运行环境的配置,同样需要修改Java所在位置。在该文件中修改JAVA_HOME值为本机安装位置,如代码清单2-8所示。

image

3)配置文件3:slaves。

该文件里面保存所有slave节点的信息,如代码清单2-9所示。

image

4)配置文件4:core-site.xml,配置内容如代码清单2-10所示。

image

这个是Hadoop的核心配置文件,这里需要配置两个属性:fs.defaultFS配置了Hadoop的HDFS系统的命名,位置为主机的8020端口,这里需要注意替换hdfs://master:8020,中的斜体master,该名字为NameNode所在机器的机器名;hadoop.tmp.dir配置了Hadoop的临时文件的位置。

5)配置文件5:hdfs-site.xml,配置内容如代码清单2-11所示。

image
image

这个是HDFS相关的配置文件,dfs.namenode.name.dir和dfs.datanode.data.dir分别指定了NameNode元数据和DataNode数据存储位置;dfs.namenode.secondary.http-address配置的是SecondaryNameNode的地址,同样需要注意修改“master”为实际Secondary-NameNode地址;dfs.replication配置了文件块的副本数,默认就是3个,所以这里也可以不配置。

6)配置文件6:mapred-site.xml,配置内容如代码清单2-12所示。

image

这个是MapReduce相关的配置,由于Hadoop2.x使用了YARN框架,所以必须在ma-preduce.framework.name属性下配置yarn。mapreduce.jobhistory.address和mapreduce.job-history.webapp.address是与JobHistoryServer相关的配置,即运行MapReduce任务的日志相关服务,这里同样需要注意修改“master”为实际服务所在机器的机器名。

7)配置文件7:yarn-site.xml,配置内容如代码清单2-13所示。

image
image
image
image

该文件为YARN框架的配置,在最开始命名了一个名为yarn.resourcemanager.hostname的变量,这样在后面YARN的相关配置中就可以直接引用该变量了。其他配置保持不变即可。

将配置好的Hadoop复制到其他节点,直接执行如代码清单2-14所示命令即可(注意,本文使用的从节点名字是slave1、slave2、slave3,读者可根据自己机器实际情况修改)。

image

5.格式化NameNode

做完Hadoop的所有配置后,即可执行格式化NameNode操作。该操作会在NameNode所在机器初始化一些HDFS的相关配置,其命令如代码清单2-15所示。

image

若出现“Storage directory /data/hadoop/hdfs/name has been successsully formatted”的提示,则格式化成功(注意,/data/hadoop/hdfs/name目录就是前面配置的dfs.namenode.name.dir的值)。

2.2.3 集群启动关闭与监控

启动集群,只需要在master节点(NameNode服务所在节点)直接进入Hadoop安装目录,分别执行如代码清单2-16所示的命令即可。

image

关闭集群,同样只需要在master节点(NameNode服务所在节点)直接进入Hadoop安装目录,分别执行如代码清单2-17所示的命令即可(注意关闭顺序)。

image

Hadoop集群相关服务监控如表2-2所示,其监控示意分别如图2-17、图2-18、图2-19所示。

image

image

2.2.4 动手实践:一键式Hadoop集群启动关闭

在使用Hadoop的过程中,如果每次启动Hadoop集群都需要分别执行3次命令才能启动集群,那么每次集群启动或关闭都将很繁琐。为了减少这种操作,可以编写一个脚本来控制Hadoop集群的启动与关闭,所以本实验就是完成这个功能。

image

实验步骤:
1)学习Linux shell命令相关代码;
2)了解Hadoop集群启动关闭流程;
3)编写集群启动关闭shell脚本;
4)测试运行。

2.2.5 动手实践:Hadoop IDE配置

在书中的后续内容中,会针对Hadoop相关MapReduce程序进行讲解以及开发,一个好的程序讲解及代码编写环境,将会非常有利于对应的分析,所以本节就对Hadoop代码分析与开发环境配置做讲解。

image
image

3)打开eclipse,依次选择Window->Perspective->Open Perspective->Other->Map/Reduce,如图2-22、图2-23所示。

image

选中后,单击OK按钮,重启Eclipse。

4)单击图2-24中箭头所指小象图标,即可添加集群。

image

5)配置参数,如图2-25所示。

image

6)查看配置的集群,如图2-26、图2-27所示。

image

image

思考:
1)为什么要配置Hadoop IDE,不配置可以吗?还有其他的配置方式吗?

2)如果有其他方式配置Hadoop IDE,会是什么呢?

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
相关文章
|
4天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
22 2
|
2月前
|
分布式计算 DataWorks 调度
maxcompute配置问题之优先级如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
32 1
|
2月前
|
存储 分布式计算 Hadoop
maxcompute配置问题之加速查询超时配置回退如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
31 1
|
2月前
|
SQL 分布式计算 DataWorks
maxcompute配置问题之配置回退的参数如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
38 2
|
2月前
|
分布式计算 安全 专有云
maxcompute配置问题之不能正常执行如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
23 1
|
4天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
2月前
|
SQL 分布式计算 MaxCompute
maxcompute之配置报错如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
33 0
|
2月前
|
SQL 存储 分布式计算
maxcompute配置问题之配置mc内容如何解决
MaxCompute配置是指在使用阿里云MaxCompute服务时对项目设置、计算资源、存储空间等进行的各项调整;本合集将提供MaxCompute配置的指南和建议,帮助用户根据数据处理需求优化其MaxCompute环境。
30 1
|
6天前
|
SQL 分布式计算 Hadoop
利用Hive与Hadoop构建大数据仓库:从零到一
【4月更文挑战第7天】本文介绍了如何使用Apache Hive与Hadoop构建大数据仓库。Hadoop的HDFS和YARN提供分布式存储和资源管理,而Hive作为基于Hadoop的数据仓库系统,通过HiveQL简化大数据查询。构建过程包括设置Hadoop集群、安装配置Hive、数据导入与管理、查询分析以及ETL与调度。大数据仓库的应用场景包括海量数据存储、离线分析、数据服务化和数据湖构建,为企业决策和创新提供支持。
35 1
|
23天前
|
消息中间件 SQL 分布式计算
大数据Hadoop生态圈体系视频课程
熟悉大数据概念,明确大数据职位都有哪些;熟悉Hadoop生态系统都有哪些组件;学习Hadoop生态环境架构,了解分布式集群优势;动手操作Hbase的例子,成功部署伪分布式集群;动手Hadoop安装和配置部署;动手实操Hive例子实现;动手实现GPS项目的操作;动手实现Kafka消息队列例子等
18 1
大数据Hadoop生态圈体系视频课程