小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6

1. 安装JDK1.8

官网下载安装包,上传至服务器,解压tar包

http://planetone.online/downloads/java/jdk/jdk-8u221-linux-x64.tar.gz

上传安装包至服务器并解压到指定目录:

tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/module/

2. 配置java环境变量、生效

编辑 /etc/profile 文件,加入以下内容:

vi /etc/profile
export JAVA_HOME=/opt/module/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

3. 把上述环境变量添加到/etc/profile中并生效

source /etc/profile

4. 检测Java版本:

java -version

一、Hadoop 简介

Hadoop是一个由Apache基金会开发的开源分布式系统框架,旨在让用户能够轻松开发分布式应用程序,而无需深入了解底层的分布式细节。它能够充分利用集群计算的能力,进行高效的存储和处理大规模数据。

Hadoop框架的核心组件之一是HDFS(Hadoop Distributed File System),一个为大数据存储设计的分布式文件系统。HDFS具有高容错性,可以在低成本硬件上部署,并能提供高吞吐量的数据访问,特别适合处理超大数据集的应用场景。与传统的文件系统不同,HDFS放宽了POSIX文件系统的要求,支持流式数据访问,能够更高效地读写大规模数据。

Hadoop的核心设计理念包含两个主要组成部分:

  1. HDFS:为大规模数据集提供可靠的存储。
  2. MapReduce:为这些数据提供高效的计算能力。

通过HDFS和MapReduce的结合,Hadoop能够处理海量的数据存储与计算任务,广泛应用于大数据处理、分析和存储等领域。

二、Hadoop 单机安装

1、下载 Hadoop 安装文件

Hadoop 目前最新的版本为 3.3.6,下载地址如下:https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/

2、安装 Hadoop

修改主机名

将主机名称改为 hadoop1,命令如下:

hostnamectl set-hostname hadoop1

修改后,使用如下命令查看主机名:

hostname

修改主机列表

修改 /etc/hosts 中的内容,增加如下配置:

上传安装包到指定目录

将 hadoop-3.3.6.tar.gz 上传到指定目录,如:/home/tools/ (根据实际情况,选择一个目录存放安装包)

解压到指定目录

将 hadoop-3.3.6.tar.gz 解压到 /home/hadoop/ 目录下(根据实际情况,选择安装目录),命令如下:

tar -zxvf hadoop-3.3.6.tar.gz -C /home/hadoop/

创建数据存储目录

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

3、修改配置

修改环境变量

在 /etc/profile 文件内容最后,追加环境变量,命令如下:

vim /etc/profile

增加内容如下:

export HADOOP_HOME=/home/hadoop/hadoop-3.3.6
export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

使用如下命令,使环境变量生效:

source /etc/profile

使用如下命令,验证环境变量是否生效:

echo $HADOOP_HOME

修改 hadoop-env.sh

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hadoop-env.sh,设置 JAVA_HOMEHADOOP_HOME 变量。

通过如下命令,查询 JAVA_HOME 配置:

echo $JAVA_HOME

修改内容如下:

export JAVA_HOME=/opt/module/jdk1.8.0_221
export HADOOP_HOME=/home/hadoop/hadoop-3.3.6

设置 root 账户,修改内容如下:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

修改 core-site.xml

core-site.xml 文件用于配置 Hadoop 的核心组件,尤其是与 HDFS 的连接和文件系统相关的设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/core-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:

  • fs.defaultFS:指定 Hadoop 使用的文件系统,通常设置为 HDFS。
  • hadoop.tmp.dir:指定 Hadoop 的临时目录,用于存储临时数据。
  • hadoop.proxyuser.root.hostshadoop.proxyuser.root.groups:这两个配置允许用户 root 代理执行某些操作。
    <!-- 指定 NameNode 的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop1:9090</value>
    </property>

    <!-- 指定 hadoop 数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/hdfs/tmp</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>

修改 hdfs-site.xml

hdfs-site.xml 文件用于配置 HDFS 的特性和行为,包括数据存储和副本设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/hdfs-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • dfs.replication:指定 HDFS 中文件的副本数。
  • dfs.namenode.name.dir:指定 NameNode 的元数据存储目录。
  • dfs.datanode.data.dir:指定 DataNode 存储数据块的目录。
  • dfs.http.address:指定 NameNode Web UI 的访问地址
  • dfs.permissions:启用或禁用 HDFS 的权限检查。
    <property>
        <name>dfs.replication</name>      
        <value>1</value>
        <description>副本个数,配置默认是3,应小于datanode机器数量</description>
    </property>  

    <property>
        <name>dfs.namenode.name.dir</name>  
        <value>/home/hadoop/hdfs/name</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.datanode.data.dir</name>  
        <value>/home/hadoop/hdfs/data</value>  
        <final>true</final>
    </property>  

    <property>
        <name>dfs.http.address</name>
        <value>0.0.0.0:50070</value>
        <description>将绑定IP改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的50070端口了</description>
    </property>

    <property>
        <name>dfs.permissions</name>  
        <value>false</value>
    </property>

修改 mapred-site.xml

mapred-site.xml 文件用于配置 MapReduce 的框架和作业执行相关的设置。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/mapred-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • mapreduce.framework.name:指定 MapReduce 使用的计算框架。
  • 指定 MapReduce 任务由 YARN 管理和执行。对于 YARN 集群,mapreduce.framework.name 必须设置为 yarn
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

修改 yarn-site.xml

yarn-site.xml 文件用于配置 YARN(Yet Another Resource Negotiator)相关的设置,包括资源管理和调度。

修改/home/hadoop/hadoop-3.3.6/etc/hadoop/yarn-site.xml,在 configuration 标签中,添加如下内容:

重要配置项:
  • yarn.nodemanager.aux-services:指定 YARN NodeManager 附加的服务:配置 NodeManager 使用 mapreduce_shuffle 服务,支持 MapReduce Shuffle 阶段。
  • yarn.resourcemanager.address:指定 ResourceManager 的地址:hadoop1:8032 表示 ResourceManager 监听的地址和端口号。
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

格式化 HDFS

hdfs namenode -format

请在此添加图片描述

4、启动 Hadoop

启动 Hadoop 服务

cd /home/hadoop/hadoop-3.3.6/sbin
./start-all.sh

请在此添加图片描述

注意:此时有报错信息:“localhost: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).”此时,需要配置免密登录。

生产私钥,命令如下(输入两次回车):

ssh-keygen -t rsa -P ""

请在此添加图片描述

复制授权秘钥,命令如下:

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

再次执行

./start-all.sh

即可正常执行。使用 jps 命令查看进程,效果如下(出现6个进程为正常):

请在此添加图片描述

5、访问 Hadoop 管理页面

http://Hadoop机器IP:50070/

请在此添加图片描述

http://Hadoop机器IP:8088/

请在此添加图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

sql-labs 练习笔记

简介# 这个节不涉及过多原理&#xff0c;而主要是靶场练习&#xff0c;想获得更多原理请见上篇博客。 基础知识# 如何闭合括号# 如果有报错则直接利用报错信息进行&#xff0c;否则尝试常见的闭合形式&#xff0c;简单的可以直接使用 bool 探测&#xff0c;而困难一点的可以…

NOTEBOOK_11 汽车电子设备分享(工作经验)

汽车电子设备分享 摘要 本文主要列出汽车电子应用的一些实验设备和生产设备&#xff0c;部分会给予一定推荐。目录 摘要一、通用工具&#xff1a;二、测量与测试仪器2.1测量仪器2.2无线通讯测量仪器2.3元器件测试仪2.4安规测试仪2.5电源供应器2.6电磁兼容测试设备2.7可靠性环境…

10.1k高星 GitHub 库:告别JSON错误:Outlines如何提升大模型的结构化输出

在人工智能和大语言模型(LLM)的应用中,如何高效、可靠地从模型输出中提取结构化数据,成为了一个至关重要的课题。本篇文章将介绍 GitHub 高星开源库 Outlines,并分析它如何帮助开发者解决大模型在生成结构化数据时面临的挑战。我们将探讨大模型的非结构化输出给 AI 应用带…

【计算机毕设】基于Python预制菜可视化数据分析预测推荐系统(完整系统源码+数据库+详细部署教程)✅

目录 【计算机毕设】基于Python预制菜可视化数据分析预测推荐系统&#xff08;完整系统源码数据库详细部署教程&#xff09;✅源码获取方式在文章末尾 一、项目背景 二、研究目的 三、项目意义 四、项目功能 五、项目创新点 六、开发技术介绍 七、数据库设计 八、项目…

设计模式期末复习

一、设计模式的概念以及分类 二、设计模式的主题和意图 三、面向对象程序设计原则&#xff0c;记住名字&#xff0c;还要理解它的使用场景以及如何用&#xff1f; 四、松耦合、紧耦合、强关联、弱关联、静态复用、动态复用的概念&#xff0c;还有静态委派&#xff0c;动态委…

ELK系列-(六)Redis也能作为消息队列?(上)

一、前文回顾 &#x1f50d; 在前面的ELK系列中&#xff0c;我们已经搭建了ELK的核心组件&#xff0c;包括&#xff1a; ELK系列-&#xff08;一&#xff09;Docker部署ELK核心组件ELK系列-&#xff08;二&#xff09;LogStash数据处理的瑞士军刀ELK系列-&#xff08;三&…

二进制分析的新兴趋势:塑造安全的移动应用

在当今快速发展的数字世界中&#xff0c;保障移动应用的安全性变得尤为重要。随着移动技术的广泛应用&#xff0c;安全性需求也日益增强。二进制分析作为确保移动应用安全和合规性的重要手段&#xff0c;通过对已编译的应用进行深入分析&#xff0c;能够发现源代码中难以察觉的…

Pikachu-XXE靶场(注入攻击)

1.攻击测试 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe "a" > ]> <foo>&xxe;</foo> 2.查看文件 <?xml version"1.0"?> <!DOCTYPE foo [ <!ENTITY xxe SYSTEM "file:///E:/ph…

CSS学习记录12

CSS浮动 CSSfloat属性规定元素如何浮动 CSSclear属性规定哪些元素可以在清除的元素旁边以及在哪一侧浮动。 float属性 float属性用于定位和格式化内容&#xff0c;例如让图像向左浮动到容器的文本那里。 float属性可以设置以下值之一&#xff1a; left - 元素浮动到其容器…

概率论得学习和整理30: 用EXCEL 描述泊松分布 poisson distribution

目录 1 泊松分布的基本内容 1.1 泊松分布的关键点 1.1.1 属于离散分布 1.1.2 泊松分布的特点&#xff1a;每个子区间内概率相等 &#xff0c; λ就是平均概率 1.2 核心参数 1.3 pmf公式 1.4 期望和方差 2 例1&#xff1a;用EXCEL计算泊松分布的概率 3 比较λ不同值时…

leetcode212. 单词搜索 II

给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二维网格上的单词 。 单词必须按照字母顺序&#xff0c;通过 相邻的单元格 内的字母构成&#xff0c;其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一…

Y20030009基于Java+springboot+MySQL+uniapp框架的待办事项提醒微信小程序的设计与实现 源码 文档 PPT

待办事项提醒小程序 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 随着现代人的工作和生活压力越来越大&#xff0c;人们的精力和时间也越来越有限。在这样的情况下&#xff0c;很容易忘记一些很重要的行程&#xff0c;有时会导致严重的后果&#xf…

实践环境-docker安装mysql8.0.40步骤

一、docker安装mysql 8.0.40版本 1、检索镜像版本 docker search mysql:8.0.40 NAME DESCRIPTION STARS OFFICIAL mysql MySQL is a widely used, open-source relation… …

测试工程师八股文05|功能测试、业务测试

一、基础概念 1、软件测试分类 1️⃣按照软件产生的阶段划分 单元测试&#xff1a;针对程序源代码进行测试【开发自测】集成测试&#xff1a;针对模块之间功能交互进行测试系统测试&#xff1a;对整个系统&#xff08;功能、非功能&#xff09;进行全面测试验收测试&#xff…

【Java】:lambda 表达式

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;java学习 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 1. 背景 &#x1f680; &#x1f…

低级计算机网络知识总结

1 应用层 1.1 HTTP(TCP) 浏览器访问WWW服务器过程&#xff1a;首先进行域名解析&#xff0c;然后通过TCP向服务器发送连接请求 HTTP本身是无连接&#xff0c;无状态的。无状态特性使服务器能够支持大量的并发HTTP请求。实际应用中&#xff0c;通常使用Cookie加数据库跟踪用户…

【OSS】php使用oss存储

阿里云oss官方文档&#xff1a;文档 1、前期工作 创建阿里云账号&#xff0c;登录创建bucket&#xff0c;注意修改权限&#xff0c;要不然可能读取不到 申请accessKeyId和accessKeySecret accessKey 2、项目中安装OSS扩展 composer require aliyuncs/oss-sdk-php3、基础使…

基线检查:Windows安全基线.【手动 || 自动】

基线定义 基线通常指配置和管理系统的详细描述&#xff0c;或者说是最低的安全要求&#xff0c;它包括服务和应用程序设置、操作系统组件的配置、权限和权利分配、管理规则等。 基线检查内容 主要包括账号配置安全、口令配置安全、授权配置、日志配置、IP通信配置等方面内容&…

windows 使用python共享网络给另外一个网卡

# -*- coding: utf-8 -*- import subprocessdef open_share(to_shared_adapter, from_shared_adapter):"""打开以太网的网络共享:return: None"""powershell_script f"""# Register the HNetCfg library (once)# regsvr32 hnetc…

【Elasticsearch入门到落地】4、Elasticsearch的安装

接上篇《3、es与mysql的概念对比》 上一篇我们学习了Elasticsearch与Mysql的概念与区别。本篇我们来进行Elasticsearch的环境准备及软件安装。 一、环境准备 如果我们没有自己的Linux服务器&#xff0c;且现在正在使用的是Windows操作系统的电脑&#xff0c;那么首先我们需要安…