2.0 Hadoop 运行环境

2.0 Hadoop 运行环境

分类 Hadoop 教程

由于 Hadoop 是为集群设计的软件,所以我们在学习它的使用时难免会遇到在多台计算机上配置 Hadoop 的情况,这对于学习者来说会制造诸多障碍,主要有两个:

  • 昂贵的计算机集群。多计算机构成的集群环境需要昂贵的硬件.
  • 难以部署和维护。在众多计算机上部署相同的软件环境是一个大量的工作,而且非常不灵活,难以在环境更改后重新部署。

为了解决这些问题,我们有一个非常成熟的方式 Docker

Docker 是一个容器管理系统,它可以向虚拟机一样运行多个"虚拟机"(容器),并构成一个集群。因为虚拟机会完整的虚拟出一个计算机来,所以会消耗大量的硬件资源且效率低下,而 Docker 仅提供一个独立的、可复制的运行环境,实际上容器中所有进程依然在主机上的内核中被执行,因此它的效率几乎和主机上的进程一样(接近100%)。

本教程将会以 Docker 为底层环境来描述 Hadoop 的使用。

注:Windows 用户建议使用虚拟机方案安装 Docker。

Docker 部署

进入 Docker 命令行之后,拉取一个 Linux 镜像作为 Hadoop 运行的环境,这里推荐使用 CentOS 镜像(Debian 和其它镜像暂时会出现一些问题)。

docker pull centos:8

然后通过 docker images 命令可以查看到当前本地的镜像:

现在,我们创建一个容器:

docker run -d centos:8 /usr/sbin/init

通过 docker ps 可以查看运行中的容器:

我们可以令容器打印出 Hello World:

到这里说明 Docker 已经安装并部署成功。

创建容器

Hadoop 支持在单个设备上运行,主要有两种模式:单机模式和伪集群模式。

本章讲述 Hadoop 的安装与单机模式。

配置 Java 与 SSH 环境

现在创建一个容器,名为 java_ssh_proto,用于配置一个包含 Java 和 SSH 的环境:

docker run -d --name=java_ssh_proto --privileged centos:8 /usr/sbin/init

然后进入容器:

docker exec -it java_ssh_proto bash

配置镜像:

sed -e 's|^mirrorlist=|#mirrorlist=|g' \-e 's|^#baseurl=http://mirror.centos.org/$contentdir|baseurl=https://mirrors.ustc.edu.cn/centos|g' \-i.bak \/etc/yum.repos.d/CentOS-Stream-AppStream.repo \/etc/yum.repos.d/CentOS-Stream-BaseOS.repo \/etc/yum.repos.d/CentOS-Stream-Extras.repo \/etc/yum.repos.d/CentOS-Stream-PowerTools.repo

安装 OpenJDK 8 和 SSH 服务:

yum install -y java-1.8.0-openjdk-devel openssh-clients openssh-server

然后启用 SSH 服务:

systemctl enable sshd && systemctl start sshd

如果是 ubuntu 系统,使用以下命令启动 SSH 服务:

systemctl enable ssh && systemctl start ssh

到这里为止,如果没有出现任何故障,一个包含 Java 运行环境和 SSH 环境的原型容器就被创建好了。这是一个非常关键的容器,建议大家在这里先在容器中用 exit 命令退出容器,然后运行以下下两条命令停止容器,并保存为一个名为 java_ssh 的镜像:

docker stop java_ssh_proto
docker commit java_ssh_proto java_ssh

Hadoop 安装

下载 Hadoop

Hadoop 官网地址:Apache Hadoop

Hadoop 发行版本下载:Apache Hadoop

在目前的测试中,3.1.x 与 3.2.x 版本的兼容性较佳,本教程使用 3.1.4 版本作为案例。

Hadoop 3.1.4 镜像地址,下载好 tar.gz 压缩包文件备用。

创建 Hadoop 单机容器

现在以之前保存的 java_ssh 镜像创建容器 hadoop_single:

docker run -d --name=hadoop_single --privileged java_ssh /usr/sbin/init

将下载好的 hadoop 压缩包拷贝到容器中的 /root 目录下:

docker cp <你存放hadoop压缩包的路径> hadoop_single:/root/

进入容器:

docker exec -it hadoop_single bash

进入 /root 目录:

cd /root

这里应该存放着刚刚拷贝过来的 hadoop-x.x.x.tar.gz 文件,现在解压它:

tar -zxf hadoop-3.1.4.tar.gz

解压后将得到一个文件夹 hadoop-3.1.4,现在把它拷贝到一个常用的地方:

mv hadoop-3.1.4 /usr/local/hadoop

然后配置环境变量:

echo "export HADOOP_HOME=/usr/local/hadoop" >> /etc/bashrc
echo "export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin" >> /etc/bashrc 

然后退出 docker 容器并重新进入。

这时,echo $HADOOP_HOME 的结果应该是 /usr/local/hadoop

echo "export JAVA_HOME=/usr" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh
echo "export HADOOP_HOME=/usr/local/hadoop" >> $HADOOP_HOME/etc/hadoop/hadoop-env.sh

这两步配置了 hadoop 内置的环境变量,然后执行以下命令判断是否成功:

hadoop version

到这里,说明你的 Hadoop 单机版已经配置成功了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814130.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JVM性能调优——GC日志分析

文章目录 1、概述2、生成GC日志3、Parallel垃圾收集器日志解析3.1、Minor GC3.2、FULL GC 4、G1垃圾收集器日志解析4.1、Minor GC4.2、并发收集4.3、混合收集4.4、Full GC 5、CMS垃圾收集器日志解析5.1、Minor GC5.2、Major GC5.3、浮动垃圾 6、日志解析工具6.1、GCeasy6.2、GC…

SpringBoot项目 jar包方式打包部署

SpringBoot项目 jar包方式打包部署 传统的Web应用进行打包部署&#xff0c;通常会打成war包形式&#xff0c;然后将War包部署到Tomcat等服务器中。 在Spring Boot项目在开发完成后&#xff0c;确实既支持打包成JAR文件也支持打包成WAR文件。然而&#xff0c;官方通常推荐将Sp…

【Godot4.2】CanvasItem绘图函数全解析 - 8.绘制点索引

概述 在示意图绘制过程中或者测试过程中&#xff0c;可能需要标记点的索引。 最常见的形式就是用一个圆圈作为背景&#xff0c;用阿拉伯数字作为索引。 实现的重点是动态计算背景圆的半径。原理是&#xff0c;获取字符串的矩形&#xff0c;取对角线长度的一半作为外接圆的半…

AI PC元年,华为的一张航海图、一艘渡轮和一张船票

今天&#xff0c;从学术研究者到产业投资者&#xff0c;无不认为大模型掀起了一场人工智能的完美风暴。 所谓“完美风暴”&#xff0c;指的是一项新技术的各个要素&#xff0c;以新的方式互相影响、彼此加强&#xff0c;组合在一起形成了摧枯拉朽般的力量。 而我们每个人&#…

【opencv】示例-phase_corr.cpp 捕获视频流并通过计算相位相关性来检测画面中的移动...

// 包含OpenCV库的头文件 #include "opencv2/core.hpp" // 包含OpenCV核心功能 #include "opencv2/videoio.hpp" // 包含视频IO功能 #include "opencv2/highgui.hpp" // 包含高级GUI功能&#xff0c;显示图像 #include "opencv2/imgproc.hp…

Eureka-搭建Eureka步骤

简介&#xff1a; Eureka是Netflix开发的服务发现框架&#xff0c;本身是一个基于REST的服务&#xff0c;主要用于定位运行在AWS域中的中间层服务&#xff0c;以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中&#xff0c;以实…

【OTA】STM32新能源汽车OTA技术ymodem协议PC串口升级过程

【OTA】STM32新能源汽车OTA技术ymodem协议PC串口升级过程 文章目录 前言一、实验工具1.串口USB线——烧录APP2生成的BIN文件2.STLINK——烧录BOOT代码和APP1代码3.烧录工具——将BIN文件烧录到单片机中4.FLYMCU——清除芯片FLASH 二、硬件绘制1.原理图2.PCB 三、软件配置1.BOOT…

jenkins通过pipeline部署springboot项目

部署方案&#xff1a; 1、springboot项目不保存部署的pipeline或dockerfile构建脚本等与部署相关的问文件&#xff0c;业务项目只需关心业务&#xff0c;能够正常构建为jar包即可 2、新建一个代码仓库&#xff0c;用于保存项目需要构建的Jenkinsfile 3、jenkins配置pipeline地址…

李廉洋;4.14黄金原油最新资讯,下周一盘走势分析及策略。

现货黄金昨日一度创下2430美元/盎司的历史新高&#xff0c;但随后一路回调至2344美元附近&#xff0c;较历史高位回落近百美元。分析师表示这是因为投资者在被视为过度的价格反弹中获利了结并离场所致。金融机构MKS PAMP SA的金属策略主管Nicky Shiels表示&#xff1a;“随着大…

基于Docker构建CI/CD工具链(六)使用Apifox进行自动化测试

添加测试接口 在Spring Boot Demo项目里实现一个简单的用户管理系统的后端功能。具体需求如下&#xff1a; 实现了一个RESTful API&#xff0c;提供了以下两个接口 &#xff1a; POST请求 /users&#xff1a;用于创建新的用户。GET请求 /users&#xff1a;用于获取所有用户的列…

STC89C52学习笔记(十一)

STC89C52学习笔记&#xff08;十一&#xff09; 综述&#xff1a;本文讲述了直流电机以及PWM调速。 一、直流电机 1、特点 &#xff08;1&#xff09;直流电机能将电能转化位机械能。 &#xff08;2&#xff09;直流电机有两个电极&#xff0c;电极正接时&#xff0c;电机…

【核心完整复现】基于目标级联法的微网群多主体分布式优化调度

1 主要内容 之前发布了华电学报的复现程序《基于目标级联法的微网群多主体分布式优化调度》&#xff0c;具体链接为【防骗版】基于目标级联法的微网群多主体分布式优化调度&#xff0c;虽然对模型及结果进行了复现&#xff0c;但是部分模型细节和参数并没有完全实现&#xff0…

2024长三角快递物流高质量创新发展论坛

2024长三角快递物流供应链与技术装备展览会&#xff08;杭州&#xff09; 2024年7月8-10日 | 杭州国际博览中心 指导单位&#xff1a;浙江省邮政管理局 中国快递协会 主办单位&#xff1a;浙江省快递行业协会 联合主办&#xff1a;上海市快递协会 江苏省快递协会 安徽省快递…

ubuntu22下使用vscode调试redis7源码环境搭建

ubuntu22下使用vscode调试redis7源码环境搭建 ##vscode launch.json配置文件 {// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息&#xff0c;请访问: https://go.microsoft.com/fwlink/?linkid830387"version": "0.2.0&…

【DL水记】循环神经网络RNN的前世今生,Transformer的崛起,Mamba模型

文章目录 RNN网络简介传统RNN网络结构RNN的分类 长-短期记忆网络 (LSTM)GRU网络横空出世的Transformer网络Self-AttentionVisionTransformer Mamba模型Reference: RNN网络简介 “当人类接触新事物时&#xff0c;他们不会从头开始思考。就像你在阅读这篇文章时&#xff0c;你会根…

目标检测笔记

目标检测笔记 one-stage和two-stage目标检测算法Two-Stage 目标检测算法One-Stage 目标检测算法既然Faster R-CNN使得候选区域生成和目标检测可以在同一个网络中端到端训练&#xff0c;为什么它还是属于Two-stage算法&#xff1f; 目标检测模型&#xff0c;训练中的正负样本是什…

根据ELK官网指引部署ELK- ECK-Elastic-​ Kibana​-Learn-ELK-(一)

**Attention: 1、You need open the ELK official website and step by step to deploy . 2、If you copy my command ,you must check them if it not match your environment . 一、official website Elastic documentation | Elastic Check there. 二、 ECK简介…

常用接口测试工具/免费api

一 接口编辑文档 常用的接口文档编写apipost 二 免费接口测试 api 1. thecat 含有&#xff1a; The Cat API - Cat as a Service The Cat API 2. public-apis 进入页面往下拉 三 常用接口测试工具 postman 四 常用接口性能测试工具 Jmeter&#xff0c;loadrunner

FRDM-MCXN947开发板之RGB灯

一、背景 RGB LED&#xff1a;通过红、绿、蓝三种颜色组合发光的LED&#xff0c;可以理解由三个不同发光属性的LED组成&#xff0c;这个是LCD平板显示原理的基础&#xff0c;一个LED相当于屏幕上面的一个像素 FRDM-MCXN947集成了一块RGB LED&#xff0c;它由三个GPIO口驱动&am…

2024 Guitar Pro 8.1.2-27 (x64) win/mac中文激活版破解版

吉他爱好者必备神器&#xff1a;Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及&#xff0c;越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中&#xff0c;Guitar Pro因其强大的功能和易用的界面备受推崇…