Hadoop运行搭建——系统配置和Hadoop的安装

Hadoop运行搭建

前言:
本文原文发在我自己的博客小站,直接复制文本过来,所以图片不显示(我还是太懒啦!)想看带图版的请移步我的博客小站~

Linux镜像:CentOS7

系统安装:CentOS安装参考教程

系统网卡设置:

  • 参考教程:CentOS配置静态IP

  • NAT参数:虚拟机NAT设置参数

系统配置信息:

  • hadoop100:

    • 用户名:user

    • 密码:***

    • 内网IP:192.168.62.140

本博客参考(转载)教程:Hadoop入门

声明:本博客仅作为笔者小白自己学习,作为流程记录方便自己理解

一、虚拟机环境准备

1.检查虚拟机网络

先检查虚拟机是否可以与外网连接,ping一下百度瞅瞅(如果提示没有ping命令,先下载一下网络工具包yum install net-tool)。

ping baidu.com

2.添加软件源

yum update	#养成先更新一下的好习惯
yum install -y epel-release

3.关闭防火墙

方便之后的操作,防止出现由于防火墙安全策略而产生的错误。

systemctl stop firewalld	#关闭防火墙
systemctl disable firewalld.service #关闭防火墙开机自启

4.设置用户账号(按需设置)

useradd Tom	#添加用户
passwd Tom	#修改用户密码

5.给用户添加管理员权限(按需设置)

vim /etc/sudoers	#先切换到root用户,才能执行此命令

找到%wheel(大概在99行,vim设置显示行号命令为“:set nu"),在该项下面添加刚才创建的用户的配置。

为用户添加sudo权限

在网上教程看到的注意事项:”添加user这一行不要直接放到 root行下面,因为所有用户都属于 wheel组,你先配置了user具有免密功能,但是程序执行到 %wheel行时, 该功能又被覆盖回需要密码 。所以user要放到 %wheel这行下面。“

6.创建工作文件夹

在/opt目录下创建文件夹方便一会进行文件传输,并修改所属用户和所属组。

mkdir /opt/module
mkdir /opt/software
chown user:user /opt/module
chown user:user /opt/software

7.卸载虚拟机自带JDK

虚拟机自带的JDK版本可能与Hadoop所需的JDK版本不同。如果两者版本不兼容,可能导致Hadoop无法正常运行。卸载自带JDK可以避免版本冲突、减少资源占用、降低管理复杂性,并提升Hadoop的性能。

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

命令解释:

rpm -qa:查询所安装的所有rpm软件包
grep -i:忽略大小写
xargs -n1:表示每次只传递一个参数
rpm -e --nodeps:强制卸载软件

8.重启虚拟机

reboot

二、克隆虚拟机

1.克隆创建虚拟机

我们需要构建好几台类似配置的虚拟机,直接克隆已配置好的hadoop100模板节省时间。

怎么克隆???直接复制虚拟机的所在文件夹,拷贝几份就可以了~

克隆虚拟机

在VM中打开刚才复制下来的虚拟机,修改一下虚拟机名称方便区分。

更改虚拟机名称

2.修改克隆虚拟机IP

不同的虚拟机设置独立IP,设置连续的IP方便处理,设置hadoop102为例,仅修改IP地址,其余不要动,103、104同理。(如果hadoop100静态IP没有就没有设置好,请参考这篇CentOS配置静态IP)

vim /etc/sysconfig/network-scripts/ifcfg-ens32 
修改虚拟机IP

3.配置克隆机主机名映射

以Hadoop102为例,其余虚拟机同样操作。

  • 修改主机名称(这步没搞清楚要干啥,先空着)
vim /etc/hostname 
  • 配置Linux克隆机主机名称映射hosts文件 打开/etc/hosts
vim /etc/hosts

添加以下映射配置(IP地址按实际修改):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

192.168.62.140 hadoop100	#写出一条样例,方便复制粘贴
  • 重启克隆机
reboot

剩余的虚拟机重复以上操作即可(ps:记得从第2步修改克隆虚拟机IP开始~)。

  • 配置主机映射文件

以上映射文件配置完成后,修改Windows的主机映射文件。进入C:\Windows\System32\drivers\etc路径,打开 hosts文件(用记事本打开,可以看到里边空空如也),添加并保存以下内容 (和刚才在虚拟机配置的一样)。

配置Windows主机映射文件

三、安装JDK

仍然先以Hadoop103为例。

1.检查JDK

确保已卸载虚拟机自带JDK。

java -version	#先查看,如果返回版本信息则说明没有卸载
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps	#卸载JDK命令,1.7已解释

2.安装JDK

  • 下载JDK

JDK可以在主机下载好之后再通过FTP传给虚拟机(虚拟机搭建FTP服务器的方法有很多,这里不再赘述,小白可移步Linux搭建FTP服务器参考文章),由于我们使用VMware,可以直接从Windows复制粘贴到虚拟机(偷懒,想要掌握技术不建议)。

官网下载有一捏捏麻烦,下载速度也些许感人,我们直接在清华大学镜像下载openJDK8清华源JDK8下载链接

https://mirrors.tuna.tsinghua.edu.cn/Adoptium/8/jdk/x64/linux/

单击它开始下载下载JDK

下载完成之后用FTP工具传给虚拟机,传输过程省略。

这里我直接从Windows主机粘贴到虚拟机目录,一步到位hhh~

将JDK传给虚拟机
  • 将JDK导入软件工作目录

将刚才的JDK存放到/opt/software/路径下。(注意,虚拟机没有经过配置的话无法输入中文,如果懒得去配置可以鼠标选中中文部分右键复制,再在你的命令行右键粘贴。)

(小tip:在输入文件名字时过长不用一个个准确输入,只需输入文件前缀,然后按Tab键自动补全即可)

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 将JDK解压到/opt/module
tar -zxvf /opt/software/OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz -C /opt/module/

3.配置JDK环境变量

  • 配置环境变量
ls /opt/module/		#先查看当前jdk包
sudo nano /etc/profile.d/my_env.sh 
配置JDK环境变量
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk8u402-b06	#这里要与刚才看到的JDK包一致
export PATH=$PATH:$JAVA_HOME/bin

引入刚配置的环境变量文件

source /etc/profile
  • 测试JDK是否可用
java -version
查看JDK版本

返回JDK版本信息,说明安装JDK成功~

四、安装Hadoop

1.安装Hadoop

  • 下载Hadoop

hadoop下载链接(有点慢,可能需要一些魔法)

  • 导入Hadoop软件包

通过FTP或者其他方式将刚下载的包导入/opt/software/目录

cp /home/user/下载/hadoop-3.3.6-aarch64.tar.gz /opt/software/
ls /opt/software/	#查看是否已复制

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 解压Hadoop
tar -zxvf /opt/software/hadoop-3.3.6-aarch64.tar.gz -C /opt/module/
ls /opt/module/		#查看是否解压成功
Hadoop解压成功

2.配置Hadoop环境变量

  • 添加Hadoop环境变量
sudo vim /etc/profile.d/hadoop_env.sh

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.3.6	#与刚才解压的Hadoop包保持一致
export PATH=$PATH:$HADOOP_HOME/bin
  • 加入新配置的环境变量
source /etc/profile
  • 检查Hadoop可用性
hadoop version
验证Hadoop可用性

返回版本信息,Hadoop安装成功并添加进环境变量~

  • 重启虚拟机

刚配置完环境变量,重启电脑检查配置是不是临时性的,避免等到用时因配置恢复而造成不知名错误.

reboot

五、配置SSH免密登录

刚刚我们配置了三台虚拟机Hadoop102、Hadoop103和Hadoop104,他们之间的配置好了主机名映射。接下来通过SSH配置交互。

1.生成SSH密钥对

  • 进入密钥存放路径
cd /home/user/.ssh/		#进入用户目录,如果没有就先创建
  • 生成密钥对

注意,我们要以用户账户生成密钥对,只有这三台虚拟机中的主要控制机才使用root账号生成密钥对。这么做的目的是权限管理。(这里贪方便我全部使用root账号生成密钥)

ssh-keygen -t rsa	#(注意密钥对的保存路径)然后摁回车3次

使用ls命令查看是否生成密钥对

生成SSH密钥对

2.上传公钥

ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
上传SSH公钥

3测试SSH免密登录

ssh 'hadoop103'
测试免密登录

登陆成功。

接下来切换虚拟机重复以上操作(略)。

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

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

相关文章

C语言——函数指针——函数指针变量详解

函数指针变量 函数指针变量的作用 函数指针变量是指向函数的指针,它可以用来存储函数的地址,并且可以通过该指针调用相应的函数。函数指针变量的作用主要有以下几个方面: 回调函数:函数指针变量可以作为参数传递给其他函数&…

三菱PLC基础指令

LD指令(a触点的逻辑运算开 指令表程序 0000 LD X000 0001 OUT Y000 LDI指令(b触点的逻辑运算开 指令表程序 0000 LDI X000 0001 OUT Y000 3.数据寄存器(D)的位指定*1(仅对应FX3u,FX3uc可编程控制器) 指令表程序 0000 LD D0.3 0001 OUT Y000 4.定时器 0000 LDI X00…

Objects类 --java学习笔记

Objects类 Objects是一个工具类,提供了很多操作对象的静态方法给我们使用 Objects类常用的三个方法 Objects.equals 比直接equals更安全,因为Objects.equals里面做了非空校验 Objects.isNull(A) 等价于 A null Objects.non…

Redisson学习

简介 Redisson 是一个在 Redis 的基础上实现的 Java 驻留内存数据网格(In-Memory Data Grid)。它提供了许多分布式 Java 对象和服务,包括分布式锁、分布式集合、分布式执行服务、分布式调度任务等。 使用 依赖 相关依赖,注意版…

【兔子机器人】修改GO电机id(软件方法、硬件方法)

一、硬件方法 利用上位机直接修改GO电机的id号: 打开调试助手,点击“调试”,查询电机,修改id号,即可。 但先将四个GO电机连接线拔掉,不然会将连接的电机一并修改。 利用24V电源给GO电机供电。 二、软件方…

回溯算法12-全排列II(Java/排列数去重操作)

12.全排列II 题目描述 给定一个可包含重复数字的序列 nums ,按任意顺序 返回所有不重复的全排列。 示例 1: 输入:nums [1,1,2] 输出: [[1,1,2],[1,2,1],[2,1,1]]示例 2: 输入:nums [1,2,3] 输出&…

Spring Boot整合zxing实现二维码登录

zxing是google的一个二维码生成库,使用时需配置依赖: implementation("com.google.zxing:core:3.4.1") implementation("com.google.zxing:javase:3.4.1") zxing的基本使用 我们可以通过MultiFormatWriter().encode()方法获取一个…

AI预测福彩3D第3弹【2024年3月6日预测】

书接上回,经过连续两期使用人工神经网络对福彩3D进行预测,经过不断的调参优化,并及时总结规律,感觉还是有一定的信心提高七码的命中概率。 今天,咱们继续来验证,直接上今天的统计结果,首先&…

手写分布式配置中心(五)整合springboot(不自动刷新的)

springboot中使用配置方式有四种,分别是environment、BeanDefinition、Value、ConfigurationProperties。具体的原理可以看我之前的一篇文章https://blog.csdn.net/cjc000/article/details/132800290。代码在https://gitee.com/summer-cat001/config-center 原理 …

移动端uni-app小程序搜索高亮前端处理,同时可设置相关样式,兼顾性能

在uni-app中我们会遇到搜索高亮显示的需求 如下图: 起初用的是富文本实现 使用replaceAll方法取代搜索字段为一个 标签并设置相应的样式,但是小程序的并没有把 标签渲染出来,所以放弃了,下面原代码: /* 搜索字体变色…

C++进阶:详细讲解继承

现在也是结束了初阶部分的内容,今天开始就进入进阶部分了。一刻也没有为初阶的结束而哀悼,立刻赶来“战场”的是进阶部分里的继承 文章目录 1.继承的概念和定义1.1继承的概念1.2继承的定义1.2.1继承的格式1.2.2再讲访问限定符(详讲protected)1.2.3**继承…

NFT交易市场开发(一)

实现的基本功能 (一) 发行一个符合ERC20标准的测试Token,要求如下: 总量::1亿精度:18名称:Fake USDT in CBI简称:cUSDT (二) 发行一个符合ERC72…

数据结构——算法的空间复杂度

【本节内容】 1.空间复杂度 2.常见空间复杂度 1.空间复杂度 空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用额外存储空间大小的量度。 空间复杂度不是程序占用了多少bytes的空间,因为这个也没太大意义,所以空间复杂度算…

random标准模块

一、概述 在 Python 中,random 是一个内置模块,用于生成随机数。它提供了各种用于生成随机数的函数,包括伪随机数生成器、随机序列操作等。 1、需要导包 不会自动导入,需要显示的将random模块导入 import random2、源码分析&…

课时59:流程控制_if条件控制_语法解读

2.2.1 语法解读 学习目标 这一节,我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 简介 条件结构能够根据某个特定的条件,结合内置的测试表达式功能,结合测试的结果状态值对于条件进行判断,然后选择执行合适的任务…

【Greenhills】MULTIIDE集成第三方的编辑器进行源文件编辑工作

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 在使用GHS进行工作的时候,可以集成第三方的编辑器进行源文件编辑工作 2、 问题场景 用于解决在GHS中进行项目开发时,对于GHS的编辑器使用不习惯,想要切换到其他第三方的编辑…

为什么在镀膜时要测薄膜折射率?

在芯片制造中,镀膜工序(PVD,CVD)是必不可少的关键环节,薄膜的质量直接影响了芯片的性能。对这些薄膜的精细控制又离不开对其折射率的深入理解和精确测量。今天将对芯片制造中薄膜折射率的概念、测量方法,以及它在整个制…

Arcgis小技巧【19】——更改字段顺序

一、问题分析 一般情况下,一个合格且严谨的要素或表数据,它的字段顺序都是固定的。 比如三调数据,正常的字段数据如下(截取部分字段): 数据经过处理,如增删字段,可能会出现字段顺序…

SAM模型

SAM与过去分割对比 根据以下Demo,我们可以发现,通过在图像中指定要分割的内容提示,SAM可以实现各种分割任务,且无需额外的训练、做到零样本泛化,即SAM学会了辨别物体、具备图像理解力、对不熟悉的图像和物体能进行零样本概括&…

论文阅读《FENET: FOCUSING ENHANCED NETWORK FOR LANE DETECTION》

ABSTRACT 受人类驾驶专注力的启发,这项研究开创性地利用聚焦采样(Focusing Sampling)、部分视野评估(Partial Field of View Evaluation)、增强型 FPN 架构和定向 IoU 损失(Directional IoU Loss&#xff…