当前位置: 首页 > news >正文

vmWare虚拟环境centos7安装Hadoop 伪分布式实践

背景:近期在研发大数据中台,需要研究Hadoop hive 的各种特性,需要搭建一个Hadoop的虚拟环境,本来想着使用dock ,但突然发现docker 公共仓库的镜像 被XX 了,无奈重新使用vm 搭建虚拟机。
大概经历了6个小时完成hadoop 3.3.6 环境的搭建,分享步骤给大家,需要搭建好的虚拟机镜像私信联系,提供百度网盘下载链接。(需要请一杯奶茶)。
在这里插入图片描述

操作系统版本:centos 7

本次实践实践2024年,未来2年内有效。

目录

  • 一、准备工作:
    • 1、安装vmware
      • 2、centos配置固定IP
      • 重启网络服务
      • 关闭防火墙
      • 修改主机名(永久更改)
      • 修改IP映射
      • 配置免密登录
  • 二、Hadoop3.3.6 伪分布安装步骤
    • 1、 安裝JDK
      • 下载jdk 到服务器
      • 解压安裝jdk
      • 配置 java 环境变量/etc/profile
    • 2、hadoop 3.3.6 安装
      • 修改 hadoop 配置文件
        • 配置core-site.xml
      • 配置hdfs-site.xml
      • 配置hadoop-env.sh
      • 启动hadoop
      • 格式化 namenode
    • 3、启动集群
      • 启动 namenode 和 datanode
    • 4、 查看服务
    • 5、验证文件存储
      • 存储文件
      • 查看文件
    • 6、浏览器查看Hadoop

一、准备工作:

1、安装vmware

vmware 已经免费,个人在官方下载自行安装即可。

2、centos配置固定IP

首先找到/etc/sysconfig/network-scripts/下的ifcfg-ens33配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

把 BOOTPROTO = “dhcp” 改成 BOOTPROTO = “static” 表示静态获取,然后把 UUID 注释掉,把 ONBOOT 改为 yes,表示开机自动静态获取,然后在最后追加比如下面的配置:

IPADDR=192.168.226.129  #自己的ip地址
NETMASK=255.255.255.0
GATEWAY=192.168.226.2
DNS1=8.8.8.8

重启网络服务

centos6的网卡重启方法:service network restart
centos7的网卡重启方法:systemctl restart network

关闭防火墙

查看防火墙状态: systemctl status firewalld.service

执行关闭命令: systemctl stop firewalld.service

执行开机禁用防火墙自启命令 : systemctl disable firewalld.service

修改主机名(永久更改)

方法一:

可以通过命令 hostnamectl set-hostname “主机名” 来永久修改主机名

[root@hadoop ~]# hostnamectl set-hostname hadoop 

方法二:

使用 vi 编辑器打开 /etc/ hostname 文件

vi /etc/hostname

删除文件中原有内容,添加主机名:hadoop,保存退出

修改IP映射

使用 vi 编辑器打开 /etc/hosts 文件

vi /etc/hosts

在文件尾部添加内容,格式:IP地址 主机名(中间用空格分隔),保存退出,,例如:

192.168.226.129 hadoop

设置完成后,重启网路服务: systemctl restart network

使用 ping 命令 ping 一下主机名,如果可以ping 通,表示设置成功。

配置免密登录

  1. 本地机器生成公私钥
  2. 上传公钥到目标机器
  3. 测试免密登录

在本地机器用 ssh-keygen 生成一个公私钥对进入. ssh 目录 cd .ssh
发起公钥请求

 ssh-keygen -t rsa

在. ssh / 目录下,会新生成两个文件:id_rsa.pub 和 id_rsa

上传公钥到目标机器

ssh-copy-id root@192.168.226.129

测试免密登录

ssh  hadoop

二、Hadoop3.3.6 伪分布安装步骤

1、 安裝JDK

centos 本身自帶java ,仅仅是jre需要自己下载jdk 安装包,自己安装替换。

下载jdk 到服务器

推荐使用wget 下载命令,或者你下载到你的电脑,然后通过ftp 工具上传到对应服务器。
推荐使用国内的镜像下载网站,我这里使用了

https://repo.huaweicloud.com/java/jdk/8u192-b12/

自己选择一个版本

在这里插入图片描述

解压安裝jdk

tar -zxf jdk-8u212-linux-x64.tar.gz -C /usr/local/
mv /usr/local/jdk1.8.0_212/ /usr/local/java

配置 java 环境变量/etc/profile

vim /etc/profile

文件末尾添加

export JAVA_HOME=/usr/local/java
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

刷新配置文件

source /etc/profile

校验Java 安装是否成功

java -version

2、hadoop 3.3.6 安装

下载Hadoop 安装包

推荐国内镜像https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/

选择Hadoop 版本,wget下载到服务器

-rw-r--r--. 1 root root  730107476 Jun 25  2023 hadoop-3.3.6.tar.gz
-rw-r--r--. 1 root root  191757099 Oct  8  2018 jdk-8u192-linux-x64.tar.gz
-rw-r--r--. 1 root root  820043264 Jul  6  2022 mysql-8.0.30-el7-x86_64.tar
-rw-r--r--. 1 7161 31415 492490461 Jul  6  2022 mysql-8.0.30-el7-x86_64.tar.gz
-rw-r--r--. 1 7161 31415  22006040 Jul  6  2022 mysql-router-8.0.30-el7-x86_64.tar.gz
-rw-r--r--. 1 7161 31415 305543348 Jul  6  2022 mysql-test-8.0.30-el7-x86_64.tar.gz

解压

sudo tar -zxf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6/ /usr/local/hadoop

3.修改环境变量

sudo gedit /etc/profile

文件末尾添加:

export PATH=$JAVA_HOME/bin:$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbinsource /etc/profile

修改 hadoop 配置文件

配置core-site.xml
vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/huangqifa/data/hadoop/tmp</value></property>
</configuration>

配置hdfs-site.xml

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>/home/huangqifa/data/hadoop/namenode</value></property><property><name>dfs.datanode.data.dir</name><value>/home/huangqifa/data/hadoop/datanode</value></property>
</configuration>

配置hadoop-env.sh

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
#文档末尾添加
export JAVA_HOME=/usr/local/java

启动hadoop

格式化 namenode

hadoop namenode -format  

3、启动集群

sh /usr/local/hadoop/sbin/start-all.sh   

启动 namenode 和 datanode

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode

4、 查看服务

jps

在这里插入图片描述

5、验证文件存储

存储文件

[root@hadoop /]# cd data/
[root@hadoop data]# ls
[root@hadoop data]# touch demo.txt
[root@hadoop data]# ls
demo.txt
[root@hadoop data]# vim demo.txt 
[root@hadoop data]# ls
demo.txt
[root@hadoop data]# hdfs dfs -put demo.txt /user
[root@hadoop data]# hdfs dfs -ls /
Found 1 items
drwxr-xr-x   - root supergroup          0 2024-11-17 03:33 /user
[root@hadoop data]# hdfs dfs -ls /user
Found 1 items
-rw-r--r--   1 root supergroup         12 2024-11-17 03:33 /user/demo.txt
hdfs dfs -put demo.txt /user

查看文件

hdfs dfs -ls /user

6、浏览器查看Hadoop

http://192.168.226.129:9870/dfshealth.html#tab-datanode

在这里插入图片描述

参考资料:https://blog.csdn.net/qq_52584391/article/details/127450206

相关文章:

vmWare虚拟环境centos7安装Hadoop 伪分布式实践

背景&#xff1a;近期在研发大数据中台&#xff0c;需要研究Hadoop hive 的各种特性&#xff0c;需要搭建一个Hadoop的虚拟环境&#xff0c;本来想着使用dock &#xff0c;但突然发现docker 公共仓库的镜像 被XX 了&#xff0c;无奈重新使用vm 搭建虚拟机。 大概经历了6个小时完…...

【C++入门(一)】半小时入门C++开发(深入理解new+List+范围for+可变参数)

目录 一.深入理解new 使用格式 二.List列表 定义一个列表 迭代器 添加元素 删除元素 排序 反转序列 三.范围for 四.可变参数 std::initializer_list 可变参数模板&#xff08;variadic template&#xff09; 一.深入理解new 类似于C语言中的malloc、calloc和reallo…...

Vue 3与TypeScript集成指南:构建类型安全的前端应用

在Vue 3中使用TypeScript&#xff0c;可以让你的组件更加健壮和易于维护。以下是使用TypeScript与Vue 3结合的详细步骤和知识点&#xff1a; 1. 环境搭建 首先&#xff0c;确保你安装了Node.js&#xff08;推荐使用最新的LTS版本&#xff09;和npm或Yarn。然后&#xff0c;安…...

MATLAB和Python发射光谱

在MATLAB和Python中&#xff0c;可以使用不同的库来生成发射光谱。以下是两种语言的简单示例&#xff1a; MATLAB: % 定义波长&#xff08;nm&#xff09;和强度&#xff08;a.u.&#xff09; wavelengths linspace(300, 1000, 1000); intensity sin(wavelengths / 500);…...

IEEE(常用)参考文献引用格式详解 | LaTeX参考文献规范(IEEE Trans、Conf、Arxiv)| 期刊会议名缩写查询

期刊 ** 期刊:已正式出版&#xff08;有期卷号) ** 期刊:录用后在线访问即Early access&#xff08;无期卷号&#xff09;会议Arxiv论文 期刊 期刊:已正式出版&#xff08;有期卷号&#xff09; article{gu2024ai, title{{AI}-Enhanced Cloud-Edge-Terminal Collaborative Ne…...

第二十周:机器学习

目录 摘要 ABSTRACT 一、吴恩达机器学习exp2——逻辑回归 1、logistic函数 2、数据预处理 3、损失函数 4、梯度下降 5、设定评价指标 6、决策边界 7、正则化 二、动手深度学习pytorch——数据预处理 1、数据集读取 2、缺失值处理 3、转换为张量格式 总结 摘要…...

Elasticsearch面试内容整理-Elasticsearch 基础概念

Elasticsearch 是一个基于 Apache Lucene 的开源分布式搜索和分析引擎,提供强大的全文本搜索、实时数据分析、分布式存储等功能。以下是 Elasticsearch 的一些基础概念: 什么是 Elasticsearch? ● Elasticsearch 是一个用于全文搜索和实时分析的分布式搜索引擎。 ● 开源和可…...

机器学习算法模型系列——Adam算法

Adam是一种自适应学习率的优化算法&#xff0c;结合了动量和自适应学习率的特性。 主要思想是根据参数的梯度来动态调整每个参数的学习率。 核心原理包括&#xff1a; 动量&#xff08;Momentum&#xff09;&#xff1a;Adam算法引入了动量项&#xff0c;以平滑梯度更新的方向…...

Qt按钮类-->day09

按钮基类 QAbstractButton 标题与图标 // 参数text的内容显示到按钮上 void QAbstractButton::setText(const QString &text); // 得到按钮上显示的文本内容, 函数的返回就是 QString QAbstractButton::text() const;// 得到按钮设置的图标 QIcon icon() const; // 给按钮…...

基于xr-frame实现微信小程序的手部、手势识别3D模型叠加和石头剪刀布游戏功能

前言 xr-frame是一套小程序官方提供的XR/3D应用解决方案&#xff0c;基于混合方案实现&#xff0c;性能逼近原生、效果好、易用、强扩展、渐进式、遵循小程序开发标准。xr-frame在基础库v2.32.0开始基本稳定&#xff0c;发布为正式版&#xff0c;但仍有一些功能还在开发&#…...

基于Kafka2.1解读Consumer原理

文章目录 概要整体架构流程技术名词解释技术细节coordinatorfetcherclientconsumer#poll的主要流程 全局总览小结 概要 继上一篇讲Producer原理的文章过去已经一个多月了&#xff0c;今天来讲讲Consumer的原理。 其实源码早就读了部分了&#xff0c;但是最近工作比较忙&#x…...

深度学习:ResNet每一层的输出形状

其中 /**在输出通道数为64、步幅为2的7 7卷积层后&#xff0c;接步幅为2的3 3的最大汇聚层,与GoogLeNet区别是每个卷积层后增加了批量规范层**/ b1 nn.Sequential(nn.Conv2d(1, 64, kernel_size7, stride2, padding3),nn.BatchNorm2d(64), nn.ReLU(),nn.MaxPool2d(kernel_s…...

国内几大网络安全公司介绍 - 网络安全

Posted by zhaol under 安全 , 电信 , 评论 , 中国 中国国内的安全市场进入“战国时期”&#xff0c;启明星辰、绿盟、天融信、安氏、亿阳、联想网御、华为等战国七雄拥有雄厚的客户资源和资金基础&#xff0c;帐前皆有勇猛善战之士&#xff0c;渐渐开始统领国内安全市场的潮流…...

修改Android Studio项目配置JDK路径和项目Gradle路径的GUI工具

概述 本工具提供了一个基于Python Tkinter的图形用户界面&#xff08;GUI&#xff09;&#xff0c;用于帮助用户搜索并更新Android Studio项目中的config.properties文件里的java.home路径&#xff0c;以及workspace.xml文件中的last_opened_file_path路径。该工具旨在简化手动…...

✅DAY30 贪心算法 | 452. 用最少数量的箭引爆气球 | 435. 无重叠区间 | 763.划分字母区间

452. 用最少数量的箭引爆气球 解题思路&#xff1a;首先把原数组按左边界进行排序。然后比较[i-1]的右边界和[i]的左边界是否重叠&#xff0c;如果重叠&#xff0c;更新当前右边界为最小右边界和[i1]的左边界判断是重叠。 class Solution:def findMinArrowShots(self, points:…...

关于Redis单线程模型以及IO多路复用的理解

IO多路复用 -> redis主线程 -> 事件队列 -> 事件处理器 1.IO多路复用机制的作用&#xff1a; 操作系统的多路复用机制&#xff08;如 epoll、select&#xff09;负责监听多个文件描述符&#xff08;如客户端连接&#xff09;上的事件。 当某个文件描述符上的事件就绪…...

学习ASP.NET Core的身份认证(基于Cookie的身份认证1)

B/S架构程序可通过Cookie、Session、JWT、证书等多种方式认证用户身份&#xff0c;虽然之前测试过用户登录代码&#xff0c;也学习过开源项目中的登录认证&#xff0c;但其实还是对身份认证疑惑甚多&#xff0c;就比如登录验证后用户信息如何保存、客户端下次连接时如何获取用户…...

奇门遁甲中看债务时用神该怎么取?

奇门遁甲中看债务的用神 一、值符 值符在债务关系中可代表债权人&#xff08;放贷人&#xff09;。例如在预测放贷时&#xff0c;以值符为放贷人&#xff0c;如果值符克天乙&#xff08;借贷人&#xff09;或者天乙生值符&#xff0c;这种情况下可以放贷&#xff1b;反之&#…...

Redis 集群主要有以下几种类型

Redis 集群主要有以下几种类型&#xff1a; 主从复制模式&#xff1a; 这种模式包含一个主数据库实例&#xff08;master&#xff09;与一个或多个从数据库实例&#xff08;slave&#xff09;。客户端可以对主数据库进行读写操作&#xff0c;对从数据库进行读操作&#xff0c;主…...

使用 Axios 拦截器优化 HTTP 请求与响应的实践

目录 前言1. Axios 简介与拦截器概念1.1 Axios 的特点1.2 什么是拦截器 2. 请求拦截器的应用与实践2.1 请求拦截器的作用2.2 请求拦截器实现 3. 响应拦截器的应用与实践3.1 响应拦截器的作用3.2 响应拦截器实现 4. 综合实例&#xff1a;一个完整的 Axios 配置5. 使用拦截器的好…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别

UnsatisfiedLinkError 在对接硬件设备中&#xff0c;我们会遇到使用 java 调用 dll文件 的情况&#xff0c;此时大概率出现UnsatisfiedLinkError链接错误&#xff0c;原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用&#xff0c;结果 dll 未实现 JNI 协…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

Golang——9、反射和文件操作

反射和文件操作 1、反射1.1、reflect.TypeOf()获取任意值的类型对象1.2、reflect.ValueOf()1.3、结构体反射 2、文件操作2.1、os.Open()打开文件2.2、方式一&#xff1a;使用Read()读取文件2.3、方式二&#xff1a;bufio读取文件2.4、方式三&#xff1a;os.ReadFile读取2.5、写…...