Hadoop入门学习笔记——一、VMware准备Linux虚拟机

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7
课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd=5ay8

Hadoop入门学习笔记(汇总)

目录

  • 一、VMware准备Linux虚拟机
    • 1.1. VMware安装Linux虚拟机
      • 1.1.1. 修改虚拟机子网IP和网关
      • 1.1.2. 安装Linux虚拟机
    • 1.2. VMware克隆三台Linux虚拟机
    • 1.3. 为三台虚拟机配置固定IP
    • 1.4. 配置免密登录
    • 1.5. JDK环境部署
    • 1.6. 防火墙、SELinux、时间同步配置
      • 1.6.1. 关闭防火墙
      • 1.6.2. 关闭SELinux
      • 1.6.3. 配置时间同步
    • 1.7. 使用VMware快照功能保存当前已配置好的初始环境

一、VMware准备Linux虚拟机

1.1. VMware安装Linux虚拟机

VMware虚拟机安装程序下载地址(需要自己想办法激活):https://download3.vmware.com/software/WKST-1750-WIN/VMware-workstation-full-17.5.0-22583795.exe
CentOS操作系统镜像下载地址:https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

1.1.1. 修改虚拟机子网IP和网关

下载后,先安装VMware虚拟机,安装成功后,需改虚拟机网络配置。
1、在“编辑”-“虚拟网络编辑器”中修改NAT8网卡的子网IP地址;
虚拟网络编辑器
2、进入编辑器后,选择“VMnet8”网卡,然后点击右下角的“更改设置”按钮;
在这里插入图片描述
3、获取管理员权限后,选择“VMnet8”网卡,将其子网IP修改为“192.168.88.0”;
在这里插入图片描述
4、点击“NAT设置”按钮,在NAT设置界面,将网关IP修改为“192.168.88.2”,并保存上述设置。
在这里插入图片描述

1.1.2. 安装Linux虚拟机

1、通过VMware菜单中的“文件”-“新建虚拟机”创建一个新的虚拟机;
在这里插入图片描述
2、选择前面下载的CentOS操作系统镜像;
在这里插入图片描述
3、输入Linux系统用户名和密码(该密码也是root的密码);
在这里插入图片描述
4、填写虚拟机名称和虚拟机的存放位置;
在这里插入图片描述
5、之后一直下一步、完成,然后虚拟机开始自己安装,直至安装完成,此过程视个人电脑和网络情况可能需要半小时左右,中间不用任何操作,待系统安装完毕后,虚拟机会自动重启,看到如下界面,代表安装成功。
在这里插入图片描述

1.2. VMware克隆三台Linux虚拟机

1、将前面安装好的虚拟机关机,然后在VMware左侧的菜单中,鼠标右键刚才安装好的虚拟机,选择“管理”-“克隆”;
在这里插入图片描述
2、然后点击下一页按钮,直到“克隆方法”界面;
在这里插入图片描述
在这里插入图片描述
3、在克隆方法界面选择“创建完整克隆”,然后继续下一页;
在这里插入图片描述
4、重命名虚拟机名称为node1,选择克隆出来的虚拟机存放的路径,然后点击“完成”按钮,VMware就会克隆出一个一摸一样的虚拟机,此过程很快,一般3~5秒的样子;
在这里插入图片描述
5、依照上述方法,再克隆出node2和node3,总共3台虚拟机出来;
6、此时先别启动这3台虚拟机,先对3台虚拟机的内存大小进行调整,分别将node1调整到4GB,node2和node3调整成2GB;
在这里插入图片描述
在这里插入图片描述7、内存调整完毕后,分别将node1、2、3开机,在开机时,VMware会弹窗提示“无法连接虚拟设备 ide1:0…”,直接点“否”即可,至此,虚拟机克隆完毕,后续我们使用的也是这3台虚拟机。

1.3. 为三台虚拟机配置固定IP

1、三台虚拟机分别启动后,在虚拟机中打开命令行,修改主机名,输入如下命令:

# 切换成root用户
[itheima@locahost ~]$ su -
# 修改当前虚拟机的主机名,这里只演示node1,node2和node3命令相同,只是最后的参数需要修改成node2和node3
[root@locahost ~]# hostnamectl set-hostname node1

2、上述命令执行完毕后,关闭命令行,并重新打开命令行,此时可以看到命令行内的主机名已经变成了node1、node2和node3
在这里插入图片描述
3、在命令行里切换到root用户,并执行如下命令:

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

4、打开ifcfg-ens33文件后,将其中BOOTPROTO配置项的值修改为static,然后再在文件末尾追加如下内容:

IPADDR="192.168.88.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.88.2"
DNS1="192.168.88.2"

其中,在node1虚拟机中,IPADDR的值为192.168.88.101,node2虚拟机的IPADDR的值为192.168.88.102,node3虚拟机的IPADDR的值为192.168.88.103
在这里插入图片描述

5、修改网网卡配置后,在命令行中重启网卡,执行如下命令:

systemctl restart network

然后可以使用ifconfig命令查看及其的IP地址,查看上述修改是否成功。
在这里插入图片描述

1.4. 配置免密登录

1、修改Windows系统(本机,非虚拟机)的hosts文件(目录为C:\Windows\System32\drivers\etc\),将如下内容追加在hosts文件末尾并保存

192.168.88.101	node1
192.168.88.102	node2
192.168.88.103	node3

2、使用本机的ssh工具连接三台虚拟机(node1、node2、node3),后续所有的命令通过ssh工具操作;
3、分别修改三台虚拟机的hosts文件,此处以node1为例,在命令行中输入

vim /etc/hosts

在hosts文件中追加如下内容:

192.168.88.101  node1
192.168.88.102  node2
192.168.88.103  node3

在这里插入图片描述
保存并退出,然后同样的步骤修改node2和node3的hosts文件。
4、在三台虚拟机上分别执行ssh-keygen -t rsa -b 4096命令,然后一路回车到底,给三台虚拟机分别生成好自己的密钥;
5、在三台虚拟机上都执行如下命令,完成免密登录的授权操作:

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

执行命令过程中,有配置项需要确认输入yes,然后,还需要输入root密码;
6、可以在node1虚拟机通过命令ssh node2查看是否已经配置好了node1到node2的免密登录,同理,可以在node2验证到另两台服务器的免密登录;
7、至此,我们配置好了三台虚拟机root用户之间的免密登录,接下来,我们还需要配置三台虚拟机之间hadoop用户的免密登录;
8、使用useradd hadooppasswd hadoop命令分别在三台虚拟机上创建hadoop用户;
9、在三台虚拟机上使用su - hadoop命令切换成hadoop用户,然后使用签名用过的ssh-keygen -t rsa -b 4096命令生成hadoop用户的ssh密钥;
10、然后再在三台虚拟机上执行如下命令,实现hadoop用户之间的免密登录:

ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

具体操作和上面配置root用户的免密登录时一样。至此,免密登录配置完成。

1.5. JDK环境部署

1、目前还是使用jdk 1.8版本,下载页面:https://www.oracle.com/cn/java/technologies/downloads/,打开页面一直往下划,划到JDK 1.8的部分,下载x64 Compressed Archive版本;
在这里插入图片描述
2、下载后,在虚拟机里面切换成root用户,然后将刚才下载好的jdk压缩包上传到root目录下,执行如下命令:

 mkdir -p /export/server
# 解压刚才上传的jdk压缩包到/export/server目录
tar -zxvf jdk-8u391-linux-x64.tar.gz -C /export/server/
# 创建软连接
ln -s /export/server/jdk1.8.0_391/ /export/server/jdk

3、配置环境变量,使用命令vim /etc/profile打开环境变量配置文件,然后在文件末尾追加如下内容:

export JAVA_HOME=/export/server/jdk
export PATH=$PATH:$JAVA_HOME/bin

然后使用source /etc/profile命令使环境变量生效;
4、将操作系统自带的jdk替换成我们刚才安装的jdk:

# 删除系统自带的java程序
rm -f /usr/bin/java
# 软连接我们自己安装的java程序
ln -s /export/server/jdk/bin/java /usr/bin/java

此时,jdk配置完成,可以使用java -versionjavac -version命令校验系统所使用的java是否已经是我们自己安装的JDK。
5、使用scp命令,将已解压的jdk文件夹复制到node2和node3

# 复制到node2
scp -r /export/server/jdk1.8.0_391/ node2:`pwd`/
# 复制到node3
scp -r /export/server/jdk1.8.0_391/ node3:`pwd`/

6、然后参考上面的流程,创建软连接、配置环境变量、移除系统自带的java,完成node2和node3的配置。

1.6. 防火墙、SELinux、时间同步配置

1.6.1. 关闭防火墙

在三台虚拟机上分别执行如下命令:

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

1.6.2. 关闭SELinux

使用vim /etc/sysconfig/selinux打开selinux的配置文件,将其中的SELINUX=enforcing修改为SELINUX=disabled,然后保存退出,并重启虚拟机(可通过reboot命令)即可。

1.6.3. 配置时间同步

在三台虚拟机上分别依次执行以下步骤
1、安装ntp软件

yum install -y ntp

2、更新时区

# 删除系统的默认时区信息
rm -f /etc/localtime
# 设置虚拟机的时区为中国上海时区
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3、同步时间

# 使用阿里云的ntp服务校准本机时间
ntpdate -u ntp.aliyun.com

4、开启ntp服务并设置开机自启

# 启动NTP服务
systemctl start ntpd.service
# 设置NTP服务开机自启动
systemctl enable ntpd.service

1.7. 使用VMware快照功能保存当前已配置好的初始环境

1、将三台虚拟机全部关机;
2、在VMware中,在左侧虚拟机上右键,选择“快照”-“拍摄快照”,填写快照名称和备注,创建虚拟机快照;
在这里插入图片描述
node2和node3重复上述步骤,完成快照拍摄

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

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

相关文章

WEB 3D技术 three.js 通过lil-gui 控制x y z轴数值 操作分组 设置布尔值控制 颜色材质控制

上文 WEB 3D技术 three.js 通过lil-gui管理公共事件中 我们用 lil-gui 处理了一下基础事件和按钮的管理 那么 本文 我们来具体说说它能做的其他事 我们先将基础代码改成这样 import ./style.css import * as THREE from "three"; //引入lil-gui import { GUI } fro…

安装Kubernetes1.23、kubesphere3.4、若依项目自动打包部署到K8S记录

1.安装kubernetes1.23详细教程 kubernetes(k8s)集群超级详细超全安装部署手册 - 知乎 2.安装rancher动态存储 kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/deploy/local-path-storage.yaml3.安装kubesphere3.4 准备工作 您…

UE和Android互相调用

ue和android互调 这两种方式都是在UE打包的Android工程之上进行的。 一、首先是UE打包Android,勾选下面这项 如果有多个场景需要添加场景 工程文件在这个路径下 然后可以通过Android Studio打开,选择gradle打开 先运行一下,看看是否可以发布…

032 - STM32学习笔记 - TIM基本定时器(一) - 定时器基本知识

032 - STM32学习笔记 - TIM定时器(一) - 基本定时器知识 这节开始学习一下TIM定时器功能,从字面意思上理解,定时器的基本功能就是用来定时,与定时器相结合,可以实现一些周期性的数据发送、采集等功能&#…

DMR与DPMR以及DMR的分层

数字移动无线电 (DMR) 和数字专用移动无线电 (dPMR) 是数字对讲机中使用的流行通信技术。 与传统模拟无线电相比,这两种技术都提供了改进的音频质量、增强的安全功能和增加的网络容量。 但是,DMR 和 dPMR 无线电之间使用的技术存在重大差异&#xff…

2023年12月GESP Python五级编程题真题解析

【五级编程题1】 【试题名称】:小杨的幸运数 【问题描述】 小杨认为,所有大于等于a的完全平方数都是他的超级幸运数。 小杨还认为,所有超级幸运数的倍数都是他的幸运数。自然地,小杨的所有超级幸运数也都是幸运数。 对于一个…

MongoDB安装部署

二、安装部署 2.1 下载 下载地址:MongoDB Enterprise Server Download | MongoDB 当前最新版本6.0.9,5.0.9对Mac m1需要centos 8.2版本。选择docker安装。 2.2 docker-ce安装 # 安装docker # 默认repo源没有docker-ce安装包,需要新的rep…

Android 13 - Media框架(26)- OMXNodeInstance(三)

上一节我们了解了OMXNodeInstance中的端口定义,这一节我们一起来学习ACodec、OMXNode、OMX 组件使用的 buffer 到底是怎么分配出来的,以及如何关联起来的。(我们只会去了解 graphic buffer的创建、input bytebuffer的创建、secure buffer的创…

免费更新UltraNews v2.8.0 已注册 – Laravel报纸,博客多语言系统,支持AI作家,内容生成器脚本

UltraNews v2.8.0 已注册 – Laravel报纸,博客多语言系统,支持AI作家,内容生成器脚本 一、概述 在网络内容创作与管理领域,UltraNews v2.8.0以其高度现代化和多功能性而独树一帜。这是一个基于Laravel框架构建的报纸、博客多语言…

实习课知识整理4:点击某个商品如何跳转到并展示出商品详情页

项目情景:当我们点击某个商品时,我们需要查看商品的具体的信息并进行购买的操作 简单理解以下就是,当我们点击一个url链接时,该链接需要携带一个参数到后端,一般设为商品的Id,然后后端通过Id从数据库中查找…

怎么卸载macOS上的爱思助手如何卸载macOS上的logitech g hub,如何卸载顽固macOS应用

1.在App Store里下载Cleaner One Pro (注意,不需要订阅付费!!!白嫖基础功能就完全够了!!!) 2.运行软件,在左侧目录中选择“应用程序管理”,然后点…

C++初阶——类和对象

呀哈喽,我是结衣 C入门之后,我们就进入了C的初阶的学习了,在了解类和对象之前,我们还是先了解,面向过程和面向对象的初步认识。 在本篇博客中,我们要讲的内容有 1.面向过程和面向对象初步认识 2.类的引入 3…

RasaGPT对话系统的工作原理

RasaGPT 结合了 Rasa 和 Langchain 这 2 个开源项目,当超出 Rasa 现有意图(out_of_scope)的时候,就会执行 ActionGPTFallback,本质上就是利用 Langchain 做了一个 RAG,调用 LLM API。RasaGPT 涉及的技术栈比较多而复杂&#xff0c…

面试官:看你简历了解过并发,我们简单聊一聊

前言: 今天和大家探讨最近的面试题,好久没有面试了,所以在此记录一下。本篇文章主要讲解CyclicBarrier和CountDownLatch的知识。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读。 如果文章有什么需要改进的地方欢迎大佬提出&#xf…

羊了个羊抓包速通,让第二关变成和第一关一样难度

目录 一.前言 二.前期准备 2.1抓包环境 2.2安装电脑版微信环境 2.3配置bp与浏览器VPN 2.4配置proxifier 三.开始抓包 3.1前期准备 3.2抓包ing 一.前言 羊了个羊是一款经典微信小程序游戏,号称“第一关谁都能过,第二关谁能过?“。那…

Python使用多线程解析超大日志文件

目录 一、引言 二、多线程基本概念 三、Python中的多线程实现 四、使用多线程解析超大日志文件 五、性能优化和注意事项 总结 一、引言 在处理大量数据时,单线程处理方式往往效率低下,而多线程技术可以有效地提高处理速度。Python提供了多种多线程…

详解Vue3中的内置组件(transition)

本文主要介绍Vue3中的内置组件(transition)的普通写法和setup写法。 目录 一、在普通写法中使用内置组件(transition)二、在setup写法中使用内置组件(transition)三、使用注意项 在Vue3中,内置了…

3 个适用于 Mac 电脑操作的 Android 数据恢复最佳工具 [附步骤]

在当今的数字时代,无论是由于意外删除、系统故障还是其他原因,从 Android 设备中丢失数据不仅会带来不便,而且会造成非常严重的后果。特别是对于Mac用户来说,从Android手机恢复数据是一个很大的麻烦。幸运的是,随着许多…

九:爬虫-MongoDB基础

MongoDB介绍 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其…

【MySQL】数据库的SQL语句详解

目录 一、操作系统了解 二、关系型数据库与非关系型数据库的区别 三、关系型数据库的四种语言 四、DDL语言(数据库定义语言,管理创建对象如库、表、字段、索引等) 1、库的增删改查; 2、表的增删改查; 3、字段的增…