头歌Educoder——大数据Hadoop开发环境搭建(二)

简介: 配置开发环境 - Hadoop安装与伪分布式集群搭建

第2关:配置开发环境 - Hadoop安装与伪分布式集群搭建


任务描述

本关任务:安装配置Hadoop开发环境。

相关知识

下载Hadoop

我们去官网下载:http://hadoop.apache.org/ 在平台上已经帮你下载好了(在/opt目录下),这里只是展示一下下载步骤。

image.png

image.png

2e630c845fbc17200b4b99e29927cb65.png输入wget下载Hadoop;

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

如果是生产环境就需要验证文件的完整性,在这里就偷个懒了。

由于解压包有大概300M,所以我们已经预先帮你下载好了,切换到/opt目录下即可看到。

接下来解压Hadoop的压缩包,然后将解压好的文件移动到/app目录下。

image.png我们来切换到app目录下修改一下hadoop文件夹的名字。

image.png

提示:如果出现文件解压大小限制的情况,可以使用 ulimit -f 1000000 命令来解除限制。

配置Hadoop环境

接下来我们开始配置Hadoop开发环境。 咱们来搭建一个单节点的集群,配置一个伪分布式,为什么不做分布式呢? 其实分布式的配置和伪分布式差不多,只是分布式机器增加了而已,其他没什么两样,所以作为Hadoop学习我们搭建伪分布式要更好一点,不过后期我们会搭建真正的分布式环境。 好了,开始吧。你可以和我一起来,也可以看官方文档:http://hadoop.apache.org/docs/r3.1.0/hadoop-project-dist/hadoop-common/SingleCluster.html

设置SSH免密登录

在之后操作集群的时候我们需要经常登录主机和从机,所以设置SSH免密登录时有必要的。

输入如下代码:

 ssh-keygen -t rsa -P''

生成无密码密钥对,询问保存路径直接输入回车,生成密钥对:id_rsa和id_rsa.pub,默认存储在~/.ssh目录下。 接下来:把id_rsa.pub追加到授权的key里面去。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

然后修改权限:

chmod600 ~/.ssh/authorized_keys

接着需要启用RSA认证,启动公钥私钥配对认证方式:

vim /etc/ssh/sshd_config 如果提示权限不足在命令前加上sudo; 修改ssh配置:

RSAAuthentication yes# 启用 RSA 认证PubkeyAuthentication yes # 启用公钥私钥配对认证方式AuthorizedKeysFile %h/.ssh/authorized_keys # 公钥文件路径

image.png

重启SSH(在本地自己的虚拟机中可以重启,在平台不可以重启哦,也不需要,重启了你就连接不上命令行了!)


servicesshrestart

好了准备工作已经做完了,我们要开始修改Hadoop的配置文件了,总共需要修改6个文件。分别是:

  • hadoop-env.sh;
  • yarn-env.sh ;
  • core-site.xml;
  • hdfs-site.xml;
  • mapred-site.xml;
  • yarn-site.xml。
  • 我们一个一个接着来配置吧!

hadoop-env.sh 配置

两个env.sh文件主要是配置JDK的位置

提示:如果忘记了JDK的位置了,输入 echo $JAVA_HOME就可以看到哦。

首先我们切换到hadoop目录下

cd /app/hadoop3.1/etc/hadoop/

编辑 hadoop-env.sh在文件中插入如下代码:

# The java implementation to use.  #export JAVA_HOME=${JAVA_HOME}  export JAVA_HOME=/app/jdk1.8.0_171

yarn-env.sh 配置

编辑yarn-env.sh 插入如下代码:

exportJAVA_HOME=/app/jdk1.8.0_171

image.png

core-site.xml配置

这个是核心配置文件我们需要在该文件中加入HDFSURINameNode的临时文件夹位置,这个临时文件夹在下文中会创建。 在文件末尾的configuration标签中添加代码如下:

<configuration><property><name>fs.default.name</name><value>hdfs://localhost:9000</value><description>HDFS的URI,文件系统://namenode标识:端口号</description></property><property><name>hadoop.tmp.dir</name><value>/usr/hadoop/tmp</value><description>namenode上本地的hadoop临时文件夹</description></property></configuration>

hdfs-site.xml文件配置

replication指的是副本数量,我们现在是单节点,所以是1

<configuration><property><name>dfs.name.dir</name><value>/usr/hadoop/hdfs/name</value><description>namenode上存储hdfs名字空间元数据 </description></property><property><name>dfs.data.dir</name><value>/usr/hadoop/hdfs/data</value><description>datanode上数据块的物理存储位置</description></property><property><name>dfs.replication</name><value>1</value></property></configuration>

mapred-site.xml文件配置

<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property></configuration>

yarn-site.xml配置

<configuration><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.webapp.address</name><value>192.168.2.10:8099</value><description>这个地址是mr管理界面的</description></property></configuration>

创建文件夹

我们在配置文件中配置了一些文件夹路径,现在我们来创建他们,在/usr/hadoop/目录下使用hadoop用户操作,建立tmphdfs/namehdfs/data目录,执行如下命令:

mkdir -p /usr/hadoop/tmp mkdir /usr/hadoop/hdfs mkdir /usr/hadoop/hdfs/data mkdir /usr/hadoop/hdfs/name

将Hadoop添加到环境变量中

vim /etc/profile

在文件末尾插入如下代码:

image.png

最后使修改生效:source /etc/profile

验证

现在配置工作已经基本搞定,接下来只需要完成:1.格式化HDFS文件、2.启动hadoop、3.验证Hadoop 即可。

格式化

在使用Hadoop之前我们需要格式化一些hadoop的基本信息。 使用如下命令:

hadoop namenode -format

出现如下界面代表成功:

96678255b08346ea86a11930c3687da7.png

启动Hadoop

接下来我们启动Hadoop

start-dfs.sh
• 1

输入命令应该会出现如下图界面:

image.png

这个是表示启动没成功,是因为root用户现在还不能启动hadoop,我们来设置一下就可以了。

/hadoop3.1/sbin路径下: cd /app/hadoop3.1/sbin。 将start-dfs.shstop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bashHDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.shstop-yarn.sh顶部也需添加以下:

#!/usr/bin/env bashYARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root

再次启动start-dfs.sh,最后输入命令 jps 验证,出现如下界面代表启动成功:

image.png

之后如果你是图形化界面,可以在你虚拟机的图形化界面中打开火狐浏览器输入:http://localhost:9870/ 或者在windows机器上输入http://虚拟机ip地址:9870/ 也可以访问hadoop的管理页面。

image.png

好了到了这一步Hadoop就安装完成了。

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
720 79
|
12月前
|
分布式计算 Ubuntu Hadoop
Ubuntu22.04下搭建Hadoop3.3.6+Hbase2.5.6+Phoenix5.1.3开发环境的指南
呈上,这些步骤如诗如画,但有效且动人。仿佛一个画家在画布上描绘出一幅完美的画面,这就是你的开发环境。接下来,尽情去创造吧,祝编程愉快!
975 19
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
912 4
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
729 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
647 1
|
机器学习/深度学习 分布式计算 大数据
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
1054 6
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
496 2
|
存储 分布式计算 资源调度
两万字长文向你解密大数据组件 Hadoop
两万字长文向你解密大数据组件 Hadoop
815 11