如何在云服务器/云主机上部署最新版本的Hadoop3.3.5(Ubuntu20.0.4)

news2024/12/26 21:45:46

在云服务器上部署Hadoop

步骤1:更新系统

sudo apt-get update
sudo apt-get upgrade

步骤2:安装Java

Hadoop需要Java运行环境。首先,安装OpenJDK 8:

sudo apt-get install openjdk-8-jdk

检查Java版本:

java -version

步骤3:创建Hadoop用户

请保证你创建用户的时候,此时你处于root用户下,也就是你当前目录为 /root

为Hadoop创建一个新用户:

sudo adduser --gecos "" hadoop

为新用户设置密码并按照提示操作。接下来,将hadoop用户添加到sudo组:

sudo usermod -aG sudo hadoop

步骤4:下载和解压Hadoop

切换到hadoop用户:

sudo su - hadoop

从Apache官方网站下载Hadoop:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.5/hadoop-3.3.5.tar.gz

解压Hadoop:

tar -xzf hadoop-3.3.5.tar.gz

步骤5:配置Hadoop环境变量

编辑.bashrc文件,添加以下内容:

export HADOOP_HOME=/home/hadoop/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

保存并退出。运行以下命令以更新环境变量:

source ~/.bashrc

步骤6:配置Hadoop

注意:在配置下列4个文件的过程中,这些文件里只能存在一对<configuration></configuration>这样的代码块,请把原有的最下边的这样的代码块删除,然后复制粘贴我提供的代码块。

使用命令:vim $HADOOP_HOME/etc/hadoop/core-site.xml 打开文件core-site.xml,添加以下内容:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

使用命令:vim $HADOOP_HOME/etc/hadoop/hdfs-site.xml 打开文件hdfs-site.xml,添加以下内容:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

使用命令:vim $HADOOP_HOME/etc/hadoop/mapred-site.xml 打开文件mapred-site.xml,添加以下内容:

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

使用命令:vim $HADOOP_HOME/etc/hadoop/yarn-site.xml 打开文件yarn-site.xml,添加以下内容:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

步骤7:格式化HDFS

在开始使用Hadoop之前,需要对HDFS进行格式化。执行以下命令:

hadoop namenode -format

步骤 7.1 为hadoop用户创建一个SSH密钥对,并将公钥添加到authorized_keys文件中

  1. 使用hadoop用户身份登录。

    • 运行以下命令创建一个新的SSH密钥对(在提示时,您可以按回车选择默认设置,也可以选择输入密码以提高安全性):
ssh-keygen
  1. 在创建密钥对后,将生成的公钥添加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 更改authorized_keys文件的权限,以保护其内容:
chmod 600 ~/.ssh/authorized_keys
  1. 最后,确保SSH服务可以使用密码验证。打开/etc/ssh/sshd_config文件:
sudo vim /etc/ssh/sshd_config
  • 找到PasswordAuthentication这一行并设置为yes:
PasswordAuthentication yes
  • 如果找不到该行,可以在文件末尾添加上述行。

  • 保存并关闭文件。然后重启SSH服务:

sudo systemctl restart ssh

步骤8:启动Hadoop集群

使用以下命令启动Hadoop的NameNode和DataNode守护进程:

start-dfs.sh

使用以下命令启动YARN守护进程:

start-yarn.sh

步骤9:验证Hadoop安装

运行以下命令以检查Hadoop守护进程是否在运行:

jps

您应该看到以下进程:NameNode,DataNode,SecondaryNameNode,NodeManager和ResourceManager。

步骤10 访问Hadoop Web界面

请注意,如果您的云服务提供商有防火墙规则,您可能需要在防火墙中打开这些端口(9870和8088)以允许外部访问。如果您无法访问这些URL,请检查您的防火墙设置,并确保这些端口已开放。

我购买的云服务器是阿里云的,阿里云有防火墙规则,所以我要去云服务器管理控制台上的防火墙,去开放这两个端口。你们如果购买的也是阿里云的云服务器,可以按照我的操作来,如果不是阿里云的云服务器,你们可以类别我的操作。

关于如何找到自己的阿里云服务器的管理控制台,请参照我的这篇文章

  • 保姆级教程:如何购买配置部署使用自己的阿里云主机/云服务器(ubuntu20.0.4)

在这里,添加如下的两条自定义规则。
在这里插入图片描述

现在,您可以通过以下URL访问Hadoop的Web界面:

NameNode:http://自己的公网ip地址:9870/
ResourceManager:http://自己的公网ip地址:8088/

总结

  • 这样就完成了在Ubuntu 20.04上安装和部署Hadoop的过程。现在,您可以开始使用Hadoop进行数据处理和分析。如果您遇到任何问题,请随时私信,我会尽力帮助您

  • 最后的最后,如果你觉得我的这篇文章写的不错的话,请给我一个赞与收藏,关注我,我会继续给大家带来更多更优质的干货内容

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

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

相关文章

上海车展:比亚迪宋L概念车全球首发,这是要硬扛特斯拉?

纵观2023年的新能源汽车市场&#xff0c;特斯拉可以说当仁不让地成为了全球最为“吸睛”的车企之一。凭借一系列令无数人瞠目结舌的降价举措&#xff0c;特斯拉给全球汽车市场带来了强烈冲击。虽然特斯拉上海工厂已经接近满负荷运转&#xff0c;但是面对雪片般飞来的订单依然供…

SpringBoot设置动态定时任务

SpringBoot设置动态定时任务 1.准备工作 搭建SpringBoot工程 引入相关依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><depende…

ROS学习第八节——话题通信自定义msg

1.介绍 在 ROS 通信协议中&#xff0c;数据载体是一个较为重要组成部分&#xff0c;ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty.... 但是&#xff0c;这些数据一般只包含一个 data 字段&#xff0c;结构的单一意味着功能上的…

Java基础(九)多线程

我们之前学习的程序在没有跳转语句的情况下&#xff0c;都是由上至下沿着一条路径依次执行。现在想要设计一个程序&#xff0c;可以同时有多条执行路径同时执行。比如&#xff0c;一边游戏&#xff0c;一边qq聊天&#xff0c;一边听歌&#xff0c;怎么设计&#xff1f; 要解决…

每日一个小技巧:今天告诉你拍照识别文字的软件有哪些

在现代社会里&#xff0c;手机已经成为了人们生活中必不可少的工具。它的功能众多&#xff0c;比如通讯、上网、拍照以及导航等&#xff0c;为我们的生活带来了许多便利。除此之外&#xff0c;手机还能帮助我们解决一些实际的问题&#xff0c;例如&#xff0c;当你需要识别图片…

Spring Aop详解汇总

文章目录 近期想法什么是AOPSpringAOP与AspectjSpringAOP体系概述概念详解连接点- Jointpoint切入点- Pointcut通知- Advice切面- Aspect织入- Weaving 实现原理—动态代理JDK动态代理描述原理代码示例注意执行结果 优点缺点 CGLib动态代理描述原理代码示例注意执行结果 优点缺…

ChatGPT会凉吗?巴菲特、马斯克呼吁暂停

ChatGPT 迅速“风靡”全球&#xff0c;无疑成为了人工智能领域备受瞩目的“明星产品”&#xff0c;然而随着 ChatGPT 应用越来越广泛&#xff0c;陆续爆出被用于学术造假、制作黑客武器以及泄露用户敏感聊天信息等一系列负面新闻。至此&#xff0c;社会开始重新审视类似 ChatGP…

图像傅里叶变换以及频谱中心化

图像的空域滤波&#xff1a; I ∗ G I*G I∗G 矩阵 I I I与一个小矩阵 G G G进行卷积 图像的频域滤波&#xff1a; F − 1 [ F [ I ] H ] F^{-1}[F[I]\times H] F−1[F[I]H] 矩阵 I I I的傅里叶变换与同样大小的矩阵 H H H进行对应元素相乘&#xff0c;然后将结果通过逆傅里…

并查集解决图的连通性问题

并查集 1. 定义2.并查集3.模板代码4. 力扣例题4.1 剑指 Offer II 118. 多余的边4.2 力扣695. 岛屿的最大面积 1. 定义 在计算机科学中&#xff0c;并查集&#xff08;英文&#xff1a;Disjoint-set data structure&#xff0c;直译为不交集数据结构&#xff09;是一种数据结构&…

卷积神经网络轻量化教程之通道剪枝【附代码】

这两天自己手写了一个可以简单实现通道剪枝的代码&#xff0c;在这篇文章中也会对代码进行讲解&#xff0c;方便大家在自己代码中的使用。 如果还想学习YOLO系列的剪枝代码&#xff0c;可以参考我其他文章&#xff0c;下面的这些文章都是我根据通道剪枝的论文在YOLO上进行的实…

React框架----路由管理

文章目录 SPA路由路由基本使用路由组件与一般组件NavLink SPA single page application只有一个页面异步请求数据&#xff0c;局部更新页面本地局部切换页面&#xff08;不会向服务端加载整个页面&#xff09; 路由 地址栏路径与组件的对应关系切换路径&#xff0c;则切换组…

YOLOv5+单目跟踪(python)

YOLOv5单目跟踪&#xff08;python&#xff09; 1. 目标跟踪2. 测距模块2.1 设置测距模块2.2 添加测距 3. 主代码4. 实验效果 相关链接 1. YOLOv5单目测距&#xff08;python&#xff09; 2. YOLOv7单目测距&#xff08;python&#xff09; 3. YOLOv7单目跟踪&#xff08;pytho…

JDBC详解(一):JDBC概述

JDBC概述 前言一、数据的持久化1、概念2、应用 二、Java中的数据存储技术三、JDBC介绍四、JDBC体系结构五、JDBC程序编写步骤 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识&#xff0c;有兴趣的小伙伴可以关注博主&#xff01;也许一个人独行&#…

全志 Orange Pi相关网站集

Orange Pi 系统安装的常识 看到有教程说android系统需要用win32diskimager才能成功烧写运行镜像名称与版本的对应关系 ubuntu版本号代号16.04Xenial Xerus&#xff08;好客的非洲地鼠&#xff09;18.04Bionio Beaver &#xff08;仿生海狸}20.04Focal Fossa &#xff08;类似…

DFIG控制10-b: 双馈发电机的转矩方程推导

DFIG控制10-b 双馈发电机的转矩方程推导 接上DFIG控制10&#xff1a; 双馈发电机的动态模型_Fantasy237的博客&#xff0c;DFIG的转矩方程和推导。 &#xff08;字数限制&#xff0c;只能放在新的一篇博文里了。。&#xff09; 转矩方程 定子αβ静止坐标系 从三相坐标系下…

Linux网络套接字(二)

学习任务&#xff1a; 继网络套接字&#xff08;一&#xff09;&#xff0c;继续学习套接字socket编程接口&#xff08;已经学习了socket和bind&#xff09;&#xff0c;实现TCP客户端/服务器(单连接版本, 多进程版本, 多线程版本&#xff0c;进程或线程池版本)&#xff0c;并且…

JavaScript(JS)-1.JS基础知识

1.JavaScript概念 (1)JavaScript是一门跨平台&#xff0c;面向对象的脚本语言&#xff0c;来控制网页行为的&#xff0c;它能使网页可交互 (2)W3C标准&#xff1a;网页主要由三部分组成 ①结构&#xff1a;HTML负责网页的基本结构&#xff08;页面元素和内容&#xff09;。 …

SPI协议——同步全双工串行通信方式

文章目录 前言一、简要介绍1、优点2、缺点 二、信号线和连接方式1、四根信号线2、连接方式2.1 多NSS形式2.2 菊花链形式 三、SPI配置1、时钟极性CPOL2、时钟相位CPHA3、四种模式4、数据大小5、其他配置参数 四、通信过程 前言 2023.4.22 阴 一、简要介绍 SPI&#xff1a;Seri…

什么是分组卷积、深度可分离卷积?附上深度可分离卷积代码

文章目录 分组卷积 Group Converlution1、由来和用途2、常规卷积和分组卷积的区别2.1、常规卷积&#xff1a;常规卷积的运算量&#xff1a; 2.2、分组卷积&#xff1a; 3、分组卷积的作用4、深度可分离卷积总结:先做分组卷积&#xff0c;再做1 x 1卷积深度可分离卷积代码 参考博…

【U-Net】训练自己的数据集

代码用的是b导的 整个训练流程也是根据b导的视频来的 源码地址&#xff1a;https://github.com/bubbliiiing/unet-pytorch 博客地址&#xff1a;https://blog.csdn.net/weixin_44791964/article/details/108866828 # 一、准备数据集 1、使用labelme软件标注数据&#xff0c;得…