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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 配置开发环境 - 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的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps&nbsp;
目录
相关文章
|
21天前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
101 6
|
21天前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
50 2
|
17天前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
33 1
|
23天前
|
存储 分布式计算 资源调度
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
大数据-04-Hadoop集群 集群群起 NameNode/DataNode启动 3台公网云 ResourceManager Yarn HDFS 集群启动 UI可视化查看 YarnUI(一)
64 5
|
19天前
|
SQL 分布式计算 大数据
大数据平台的毕业设计01:Hadoop与离线分析
大数据平台的毕业设计01:Hadoop与离线分析
|
20天前
|
存储 机器学习/深度学习 分布式计算
大数据技术——解锁数据的力量,引领未来趋势
【10月更文挑战第5天】大数据技术——解锁数据的力量,引领未来趋势
|
21天前
|
分布式计算 关系型数据库 MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
大数据-88 Spark 集群 案例学习 Spark Scala 案例 SuperWordCount 计算结果数据写入MySQL
43 3
|
4天前
|
SQL 存储 大数据
大数据中数据提取
【10月更文挑战第19天】
13 2
|
21天前
|
SQL 消息中间件 大数据
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(一)
33 1
|
21天前
|
SQL 大数据 Apache
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
大数据-159 Apache Kylin 构建Cube 准备和测试数据(二)
58 1