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

hadoop环境新手安装教程

1、资源准备:

(1)jdk安装包:我的是1.8.0_202

(2)hadoop安装包:我的是hadoop-3.3.1

注意这里不要下载成下面这个安装包了,我就一开始下载错了

错误示例:

 

2、主机网络相关参数准备

这里主要涉及hostname改写、hosts修改和ip地址改写

(1)修改hostname。这里我用了3台虚拟机,1台改为master,另外2台分别改为node1和node2

cd /etc/   // 进入配置目录vi hostname  // 编程hostname 配置文件

 

 

 (2)修改hosts。这里根据每台虚机的ip选择相应的hostname就行

vi /etc/hosts

(3)IP地址改写,这里需要修改虚机的配置,选择NAT模式,DHCP选择想要的网段就行。

注意:以上的操作需要在每台虚机上分别执行 !!!

 3、配置ssh免密登陆

这一步在master主机上操作,一直按回车:

 ssh-keygen 

会生成以下4个文件:

  

之后使用以下命令将密钥分发到node1和node2:

ssh-copy-id root@node1
ssh-copy-id root@localhost
ssh-copy-id root@node2

成功后就应该能免密登陆node1和node2了:

4、配置java环境

我将jdk安装包和hadoop安装包都放在master主机/opt目录下了,同时新建一个bigdata目录:

 

(1)首先需要解压jdk安装包,并将解压后的文件夹放进bigdata目录:

tar -zxvf jdk-8u202-linux-x64.tar.gz
mv jdk1.8.0_202/ bigdata/

 (2)然后配置java环境变量:

vi /etc/profile

 

配置完生效并验证是否成功: 

source /etc/profile   
java -version       #验证环境是否配置成功

 

5、安装hadoop

同样是先解压然后移动到bigdata目录:

tar -zxvf hadoop-3.1.1.tar.gz
mv hadoop-3.1.1 bigdata/

 接着同样是配置环境变量:

vi /etc/profile

 配置完生效并验证是否成功: 

source profile
hadoop verison

 

6、配置hadoop

这一步需要对hadoop下的 core-site.xml、hadoop-env.sh、hdfs-site.xml、mapred-site.xml、yarn-site.xml等文件进行配置。

首先进入存放文件的目录:

cd /opt/bigdata/hadoop-3.3.1/etc/hadoop/

 

(1)配置hadoop-env.sh

vi命令打开文件,输入   :/export JAVA_HOME     查找需要修改的地方并修改(注意将版本号换成自己的):

(2)配置 core-site.xml

vi命令打开文件,找到一对尖括号框起来的configuration位置,插入(注意将版本号换成自己的):

<configuration><property><name>fs.default.name</name><value>localhost:9000</value></property><property><name>hadoop.temp.dir</name><value>/opt/bigdata/hadoop-3.3.1/temp</value></property>
</configuration>

修改成如下:

 (3)配置hdfs-site.xml

vi打开文件同样在configuration处插入(注意将版本号换成自己的):

<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.datanode.name.dir</name><value>/opt/bigdata/hadoop-3.3.1/hdfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>/opt/bigdata/hadoop-3.3.1/hdfs/data</value></property><property><name>dfs.namenode.secondary.http-address</name><value>node1:9001</value></property><property><name>dfs.http.address</name><value>0.0.0.0:50070</value></property>
</configuration>

 (4)配置mapred-site.xml

同样的操作:

<configuration><property><name>mapred.job.tracker.http.address</name><value>0.0.0.0:50030</value></property><property><name>mapred.task.tracker.http.address</name><value>0.0.0.0:50060</value></property><property><name>mapreduce.framework.name</name><value>yarn</value></property>
<property><name>mapreduce.application.classpath</name><value>/opt/bigdata/hadoop-3.3.1/etc/hadoop,/opt/bigdata/hadoop-3.3.1/share/hadoop/common/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/common/lib/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/hdfs/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/hdfs/lib/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/mapreduce/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/mapreduce/lib/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/yarn/*,/opt/bigdata/hadoop-3.3.1/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>

 (5)配置下yarn-site.xml

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>              
</property> 
<property><name>yarn.resourcemanager.webapp.address</name><value>master:8099</value>
</property>

 (6)配置workers

在当前目录修改workers文件:

最后只有master、node1和node2:

 

7、环境的配置已经改完了。接着还需要修改一下启动脚本的参数:

进入到sbin目录:

cd /opt/bigdata/hadoop-3.3.1/sbin

(1) 在start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数:

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

 (2)start-yarn.sh,stop-yarn.sh顶部也需添加以下参数:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

 

至此,所有的配置都已经做完了,现在需要将配置文件分发到两个子节点去(子节点没有bigdata文件夹需要新建一个):

scp -r /opt/bigdata/hadoop-3.3.1  node1:/opt/bigdata
scp -r /opt/bigdata/hadoop-3.3.1  node2:/opt/bigdata

接着分别在两个子节点上执行下面命令生效配置:

source /etc/profile
source ~/.bashrc

最后就可以开始准备启动hadoop集群了。

(1)第一次启动需要初始化hdfs,在 /opt/bigdata/hadoop-3.3.1/bin目录下执行:

./hdfs namenode -format

出现如下语句表示初始化成功: 

 

(2)进入/opt/bigdata/hadoop-3.3.1/sbin目录执行最后的集群启动命令:

./start-all.sh

 

 

 参考:Hadoop 平台搭建完整步骤

 

相关文章:

hadoop环境新手安装教程

1、资源准备&#xff1a; &#xff08;1&#xff09;jdk安装包&#xff1a;我的是1.8.0_202 &#xff08;2&#xff09;hadoop安装包&#xff1a;我的是hadoop-3.3.1 注意这里不要下载成下面这个安装包了&#xff0c;我就一开始下载错了 错误示例&#xff1a; 2、主机网络相…...

数据结构与算法基础-学习-11-线性表之链栈的初始化、判断非空、压栈、获取栈长度、弹栈、获取栈顶元素

一、个人理解链栈相较于顺序栈不存在上溢&#xff08;数据满&#xff09;的情况&#xff0c;除非内存不足&#xff0c;但存储密度会低于顺序栈&#xff0c;因为会多存一个指针域&#xff0c;其他逻辑和顺序表一致。总结如下&#xff1a;头指针指向栈顶。链栈没有头节点直接就是…...

Hive内置函数

文章目录Hive内置函数字符串函数时间类型函数数学函数集合函数条件函数类型转换函数数据脱敏函数其他函数用户自定义函数Hive内置函数 查询内置函数用法&#xff1a; DESCRIBE FUNCTION EXTENDED 函数名;字符串函数 字符串连接函数&#xff1a;concat带分隔符字符串连接函数…...

Git如何快速入门

什么是Git&#xff1f;我们开发的项目&#xff0c;也需要一个合适的版本控制系统来协助我们更好地管理版本迭代&#xff0c;而Git正是因此而诞生的&#xff08;有关Git的历史&#xff0c;这里就不多做阐述了&#xff0c;感兴趣的小伙伴可以自行了解&#xff0c;是一位顶级大佬在…...

netcore构建webservice以及调用的完整流程

目录构建前置准备编写服务挂载服务处理SoapHeader调用添加服务调用服务补充内容构建 前置准备 框架版本要求&#xff1a;netcore3.1以上 引入nuget包 SoapCore 编写服务 1.编写服务接口 示例 using System.ServiceModel;namespace Services;[ServiceContract(Namespace &…...

Mysql事务基础(解析)

并发事务带来的问题A和B是并发事务脏写&#xff08;A被B覆盖&#xff09;两个事务。B事务覆盖了A事务。解决&#xff1a;应该事务并行脏读&#xff08;B读到了A的执行中间结果&#xff09;A修改了东西。B看到了他的中间状态。解决&#xff1a;读写冲突。加锁&#xff0c;改完再…...

2023 年首轮土地销售活动来了 与 The Sandbox 一起体验「体素狂热」!

2 月 14 日晚上 11 点&#xff0c;开始你的体素冒险。 The Sandbox 很高兴推出 2023 年的第一次土地销售活动。欢迎来到「体素狂热 (Voxel Madness)」&#xff01; 简要概括 土地销售抽奖活动将于北京时间 2 月 14 日星期二晚上 11 点开始 「体素狂热」 土地销售活动将于 2 月…...

vue AntD中栅格布局的四种大小xs,sm,md,lg

cssBootstrap栅格布局的四种大小xs,sm,md,lg前端为了页面在不同大小的设备上也能够正常显示&#xff0c;通常会使用栅格布局的方式来实现。使用bootStrap的网格系统时&#xff0c;常见到一下格式的类名col-*-*visible-*-*hidden_*_* 中间可为xs,xsm,md,lg等表示大小的单词的缩写…...

window.open()打开窗口全屏

window.open (page.html, page, height100, width400, top0, left0, toolbarno, menubarno, scrollbarsno, resizableno,locationn o, statusno, fullscreenyes); 参数解释&#xff1a; window.open() 弹出新窗口的命令&#xff1b; ‘page.html’ 弹出窗口的文件名&#xff…...

VFIO软件依赖——VFIO协议

文章目录背景PCI设备模拟PCI设备抽象VFIO协议实验Q&A背景 在虚拟化应用场景中&#xff0c;虚拟机想要在访问PCI设备时达到IO性能最优&#xff0c;最直接的方法就是将物理设备暴露给虚拟机&#xff0c;虚拟机对设备的访问不经过任何中间层的转换&#xff0c;没有虚拟化的损…...

C/C++【内存管理】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; C修行之路 &#x1f38a;每篇一句&#xff1a; 图片来源 Love is a choice. It is a conscious commitment. It is something you choose to make work every day with a person who has chosen the same thi…...

第8篇:Java编程语言的8大优势

目录 1、简单性 2、面向对象 3、编译解释性 4、稳健性 5、安全性 6、跨平台性...

STM32定时器实现红外接收与解码

1.NEC协议 红外遥控是一种比较常用的通讯方式&#xff0c;目前红外遥控的编码方式中&#xff0c;应用比较广泛的是NEC协议。NEC协议的特点如下&#xff1a; 载波频率为 38KHz8位地址和 8位指令长度地址和命令2次传输&#xff08;确保可靠性&#xff09;PWM 脉冲位置调制&#…...

18- Adaboost梯度提升树 (集成算法) (算法)

Adaboost 梯度提升树: from sklearn.ensemble import AdaBoostClassifier model AdaBoostClassifier(n_estimators500) model.fit(X_train,y_train) 1、Adaboost算法介绍 1.1、算法引出 AI 39年&#xff08;公元1995年&#xff09;&#xff0c;扁鹊成立了一家专治某疑难杂症…...

zlink 介绍

zlink 是一个基于 flink 开发的分布式数据开发工具&#xff0c;提供简单的易用的操作界面&#xff0c;降低用户学习 flink 的成本&#xff0c;缩短任务配置时间&#xff0c;避免配置过程中出现错误。用户可以通过拖拉拽的方式实现数据的实时同步&#xff0c;支持多数据源之间的…...

C++之std::string的resize与reverse

std::string的resize与reverse前言1.resize2.reserve前言 在C中我们经常用std::string 来保存字符串&#xff0c;其中有两个比较常用但是却平时容易被搞混的两个函数&#xff0c;分别是resize和reserve&#xff0c;模糊意识里&#xff0c;这两个方法都是对std::string的容量或元…...

在.net中运用ffmpeg 操作视频

using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Text;namespace learun.util{/// <summary>/// ffmpeg视频相关处理的类/// </summary>public class FFmpegUtil{public static int Run(string cmd){try{//…...

05- 线性回归算法 (LinearRegression) (算法)

线性回归算法(LinearRegression)就是假定一个数据集合预测值与实际值存在一定的误差, 然后假定所有的这些误差值符合正太分布, 通过方程求这个正太分布的最小均值和方差来还原原数据集合的斜率和截距。当误差值无限接近于0时, 预测值与实际值一致, 就变成了求误差的极小值。 fr…...

JAVA补充知识01之枚举enum

目录 1. 枚举类的使用 1.1 枚举类的理解 1.2 举例 1.3 开发中的建议&#xff1a; 1.4 Enum中的常用方法 1.5 熟悉Enum类中常用的方法 1.6 枚举类实现接口的操作 1.7 jdk5.0之前定义枚举类的方式 &#xff08;了解即可&#xff09; 1.8 jdk5.0之后定义枚举类的方式 1…...

jenkins下配置maven

1. 先在jenkins服务器上安装maven 下载-解压-重命名-启动 [rootVM-0-12-centos local]# wget https://mirrors.aliyun.com/apache/maven/maven-3/3.9.0/binaries/apache-maven-3.9.0-bin.tar.gz [rootVM-0-12-centos local]# tar xf apache-maven-3.9.0-bin.tar.gz [rootVM-0…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...

Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换

目录 关键点 技术实现1 技术实现2 摘要&#xff1a; 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式&#xff08;自动驾驶、人工驾驶、远程驾驶、主动安全&#xff09;&#xff0c;并通过实时消息推送更新车…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...