在Linux操作系统的ECS实例上安装hadoop

目录

  • 1. java(jdk)
  • 2. Hadoop
  • 3. 配置文件
  • 4. 启动Hadoop服务(搭建伪分布式环境)

1. java(jdk)

  • yum list java* :列出所有名称中包含“java”字样的软件包
  • yum install java-1.8.0-openjdk.x86_64:选择自己想要的版本。这里我选择java8
  • java -version:查看java的版本号,以证明安装完毕
  • 配置环境变量:
echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/jre' >> /etc/profile
echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile
source /etc/profile

(注意修改路径)

2. Hadoop

  • 用wget 下载指定的URL(hadoop清华镜像)
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz

报错:错误: 无法验证 mirrors.tuna.tsinghua.edu.cn 的由 “/C=US/O=Let’s Encrypt/CN=R3” 颁发的证书:
颁发的证书已经过期。
在这里插入图片描述
解决:将https修改为http

wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
  • 解压Hadoop安装包至/opt/hadoop
tar -zxvf hadoop-3.2.4.tar.gz -C /opt/
mv /opt/hadoop-3.2.4 /opt/hadoop
  • 配置Hadoop环境变量
echo 'export HADOOP_HOME=/opt/hadoop/' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/sbin' >> /etc/profile
source /etc/profile    

(注意路径是否正确)

  • 修改配置文件yarn-env.sh和hadoop-env.sh
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/jre" >> /opt/hadoop/etc/hadoop/yarn-env.sh
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64/jre" >> /opt/hadoop/etc/hadoop/hadoop-env.sh

(注意路径是否正确)

  • 测试Hadoop是否安装成功
    在这里插入图片描述

3. 配置文件

作用:
hadoop.tmp.dir — 定义了Hadoop系统用于存储临时文件的本地文件系统目录。
fs.defaultFS — HDFS

  • 配置文件core-site.xml
vim /opt/hadoop/etc/hadoop/core-site.xml

输入i进入编辑。在<configuration></configuration>节点内,插入如下内容。

    <property><name>hadoop.tmp.dir</name><value>file:/opt/hadoop/tmp</value><description>location to store temporary files</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>

按Esc并输入:wq保存退出

  • 配置 mapred-site.xml 文件
    作用:指定了处理MapReduce作业的框架是YARN。这意味着当您提交一个MapReduce作业时,它将由YARN来管理和调度
vim /opt/hadoop/etc/hadoop/mapred-site.xml
 <property><name>mapreduce.framework.name</name><value>yarn</value></property>
  • 配置 yarn-site.xml 文件
vim /opt/hadoop/etc/hadoop/yarn-site.xml
    <property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name><value>org.apache.hahoop.mapred.ShuffleHandler</value></property>
  • 配置 hdfs-site.xml 文件
    • 创建文件夹
      mkdir /opt/hadoop/data
      mkdir /opt/hadoop/data/datanode
      mkdir /opt/hadoop/data/namenode
      mkdir /opt/hadoop/data/tmp
      
    • 编辑文件

      vim /opt/hadoop/etc/hadoop/hdfs-site.xml
      
       <property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/opt/hadoop/data/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>file:/opt/hadoop/data/datanode</value></property>
      

4. 启动Hadoop服务(搭建伪分布式环境)

  • namenode格式化
cd /opt/hadoop/bin
hdfs namenode -format

很好,没报错~
在这里插入图片描述

  • 配置SSH免密登录
ssh-keygen -t rsa

创建公钥和私钥,直接三次回车
在这里插入图片描述
将公钥添加到authorized_keys文件中:

cd /root/.ssh   # 有可能ssh文件夹不是这个路径
cat id_rsa.pub >> authorized_keys
  • 开启hdfs:start-dfs.sh
cd /opt/hadoop/sbin
start-dfs.sh

在这里插入图片描述

  • 开启yarn
start-yarn.sh

在这里插入图片描述

  • 查看Hadoop运行的进程
jps

在这里插入图片描述

遇到错误:-bash: jps: 未找到命令,发现java安装包的bin文件夹中没有jps:

yum list | grep jdk-devel
yum install 选择对应自己Java版本和系统
  • 在阿里云ECS实例安全组的入方向中放行Hadoop所需的8088和50070端口
    在这里插入图片描述

    • 检查端口号是否存在

      firewall-cmd --list-ports
      
    • 报错:没有开启防火墙

      # 开启防火墙
      systemctl start firewalld		
      
    • 如果没有开启就使用命令

      firewall-cmd --zone=public --add-port=端口号/tcp --permanent
      
    • 然后重启

      systemctl restart firewalld.service
      firewall-cmd --list-ports
      
  • 打开浏览器访问http://<ECS公网IP>:8088和http://<ECS公网IP>:50070
    在这里插入图片描述

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

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

相关文章

DataGrip 2023:让数据库开发变得更简单、更高效 mac/win版

JetBrains DataGrip 2023是一款功能强大的数据库IDE&#xff0c;专为数据库开发和管理而设计。通过DataGrip&#xff0c;您可以连接到各种关系型数据库管理系统(RDBMS)&#xff0c;并使用其提供的一组工具来查询、管理、编辑和开发数据库。 DataGrip 2023 软件获取 DataGrip 2…

分散的产品开发团队

分散的产品开发团队指的是各个团队或成员在地理位置上分布在不同地方&#xff0c;通过互联网和现代通讯技术进行协作和沟通&#xff0c;以共同完成产品开发任务的团队模式。 这种团队模式的优势在于可以充分利用各地的人才资源&#xff0c;降低团队的管理和协作成本&#xff0…

【Ubuntu】使用WSL安装Ubuntu

WSL 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能&#xff0c;可用于在 Windows 计算机上运行 Linux 环境&#xff0c;而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。安装 Linux 发行版时&#xff0c…

云HIS系统源码,基于云计算技术的B/S架构的云HIS系统,二甲医院信息管理系统

云HIS系统源码&#xff0c;采用云端SaaS服务的方式提供 基于云计算技术的B/S架构的云HIS系统&#xff0c;采用云端SaaS服务的方式提供&#xff0c;使用用户通过浏览器即能访问&#xff0c;无需关注系统的部署、维护、升级等问题&#xff0c;系统充分考虑了模板化、配置化、智能…

vscode + wsl2 + xmake快速构建c语言编译调试环境

前言 使用这一套是我觉得最方便的&#xff0c;wsl2使得我可以不用脱离windows&#xff0c;且无需安装庞大且臃肿虚拟机。vscode让我可以更加方便快捷的编辑代码&#xff0c;而xmake是一站式的工程构建工具且作者就是中国人文档啥的群啥的都是中文&#xff0c;比起cmake makefi…

python统计分析——线性模型的预测和评估

参考资料&#xff1a;用python动手学统计学 1、导入库 # 导入库 # 导入数据处理的库 import numpy as np import pandas as pd import scipy as sp from scipy import stats # 导入绘图的库 from matplotlib import pyplot as plt import seaborn as sns sns.set() # 导入估计…

BERT学习笔记

论文&#xff1a;《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》&#xff0c;2019 代码&#xff1a;[tensorflow]&#xff0c;[pytorch] 来源&#xff1a;李沐精度BERT 0、摘要 与之前模型的区别&#xff1a; GPT考虑的是一个单向…

OLTP、OLAP与HTAP、HSAP详解

HTAP、HSAP是OLAP与OLTP综合需求驱动下的新的数据库系统&#xff0c;既满足事务处理&#xff0c;又满足大规模分析查询&#xff0c;并且是基于一套系统下实现。 本节首先我们要了解服务于分析的区别。相当多从应用角度对数据处理分类的划分&#xff0c;大致可以分为Transactio…

计算机网络-网络互联与互联网(一)

1.常用网络互联设备&#xff1a; 1层物理层&#xff1a;中继器、集线器2层链路层&#xff1a;网桥、交换机3层网络层&#xff1a;路由器、三层交换机4层以上高层&#xff1a;网关 2.网络互联设备&#xff1a; 中继器Repeater、集线器Hub&#xff08;又叫多端口中继器&#xf…

PyTorch概述(二)---MNIST

NIST Special Database3 具体指的是一个更大的特殊数据库3&#xff1b;该数据库的内容为手写数字黑白图片&#xff1b;该数据库由美国人口普查局的雇员手写 NIST Special Database1 特殊数据库1&#xff1b;该数据库的内容为手写数字黑白图片&#xff1b;该数据库的图片由高…

Django学习记录04——靓号管理整合

1.靓号表 1.1 表结构 1.2 靓号表的构造 class PrettyNum(models.Model): 靓号表 mobile models.CharField(verbose_name"手机号", max_length11)# default 默认值# null true&#xff0c;blank true 允许为空price models.IntegerField(verbose_name"价…

学校档案室管理制度内容

学校档案室管理制度是指对学校档案室进行管理的规定和流程。以下是一个示例的学校档案室管理制度的内容&#xff1a; 1.档案室的管理部门和责任人员&#xff1a; 学校档案室由学校行政部门负责管理&#xff0c;行政部门指定专门的档案管理员负责档案室的日常管理工作。 2.档案室…

ElasticSearch之单值多字段查询以及dis max query

写在前面 在查询中经常有这样的查询场景&#xff0c;我们只有一个输入框&#xff0c;但是输入的值需要同时对多个字段进行查询&#xff0c;这就是单值多字段的查询&#xff0c;像下图&#xff1a; 1&#xff1a;例子 首先来准备测试数据&#xff1a; DELETE blogs PUT /bl…

记录 | docker内执行apt update报错GPG error

1. 执行 sudo apt-get update 命令时遇到这个错误&#xff0c;是服务器没有这个公钥的意思 rootadmin:~# sudo apt-get update Get:1 https://download.docker.com/linux/ubuntu focal InRelease [36.2 kB] Err:1 https://download.docker.com/linux/ubuntu focal InRelease T…

基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统

文章目录 基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统项目概述招聘岗位数据爬虫分析系统展示用户注册登录系统首页IT招聘数据开发岗-javaIT招聘数据开发岗-PythonIT招聘数据开发岗-Android算法方面运维方面测试方面招聘岗位薪资多维度精准预测招聘岗位分析推荐 结语…

Linux之ACL访问控制列表

一、ACL权限的介绍 1.1 什么是ACL 访问控制列表&#xff08;ACL&#xff09;是一种网络安全技术&#xff0c;它通过在网络设备&#xff08;如路由器、交换机和防火墙&#xff09;上定义一系列规则&#xff0c;对进出接口的数据包进行控制。这些规则可以包含“允许”&…

【Java EE初阶二十四】servlet的深入理解

1. Servlet API 的学习 下面主要学习这三个类&#xff0c;就已经可以完成 Servlet 的大部分开发了&#xff1b; 1. Httpservlet 2. HttpServletRequest 3. HttpServletResponse 2. Httpservlet的学习 2.1 Httpservlet在tomcat的工作原理 写一个 Servlet 代码&#xff0c;往往都…

跟随realworldCTF,做一个http网络协议黑客

前言 本报告旨在对RealWorldCTF 2024体验赛中的Pwn方向题目——"Be-an-HTPPd-Hacker"进行深入解析和讲解。该题目涉及一个十一年前的项目&#xff0c;其基于C语言实现了HTTP协议。我们将通过对该协议进行栈溢出攻击&#xff0c;探索真实世界中的攻击手法&#xff0c;…

PostgreSQL索引篇 | BTree

B-Tree索引 &#xff08;本文为《PostgreSQL数据库内核分析》一书的总结笔记&#xff0c;需要电子版的可私信我&#xff09; B树特点&#xff1a; 非叶子节点含一个或多个关键字值和子节点指针&#xff0c;不指向实际数据的存储位置所有关键字都是叶子节点&#xff0c;每个叶…

React18源码: schedule任务调度messageChannel

React调度原理(scheduler) 在React运行时中&#xff0c;调度中心&#xff08;位于scheduler包&#xff09;是整个React运行时的中枢&#xff08;其实是心脏&#xff09;&#xff0c;所以理解了scheduler调度&#xff0c;就基本掌握了React的核心React两大循环&#xff1a;从宏…