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重复上述步骤,完成快照拍摄

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Diffusion扩散模型学习:图片高斯加噪

高斯分布即正态分布;图片高斯加噪即把图片矩阵每个值和一个高斯分布的矩阵上的对应值相加 1、高斯分布 np.random.normal 一维: import numpy as np import matplotlib.pyplot as pltdef generate_gaussian_noise(mean, std_dev, size):noise np.ran…

【智慧办公】如何让智能会议室的电子标签实现远程、批量更新信息?东胜物联网硬件网关让解决方案更具竞争力

近年来,为了减少办公耗能、节能环保、降本增效,越来越多的企业开始从传统的办公模式转向智慧办公。 以智能会议室为例,会议是企业业务中不可或缺的一部分,但在传统办公模式下,一来会议前行政人员需要提前准备会议材料…

Hadoop入门学习笔记——四、MapReduce的框架配置和YARN的部署

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 四、MapReduce的框架配置和YARN的部署4.1. 配置MapReduce…

Python脚本打包成exe文件

我们很多时候写好一个python脚本之后,想要发给朋友,可是朋友没有安装python怎么办呢?别急,今天我就教你如何将python脚本打包成exe可执行文件,这样无论你的朋友有没有安装python,都可以运行你写好的程序&am…

ChatGPT的GPTs是什么?

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情 ​ 在 OpenAI 的DevDay(11 月 6日),该公司宣布推出 ChatGPT GPT:任何人都可以制作并与他人共享的 ChatGPT 自定义版…

快速实现宠物用品小程序开发,从小白到专家的实战教程

随着移动互联网的普及,越来越多的消费者通过手机购物,宠物用品市场也不例外。制作一个专门的宠物用品小程序商城,可以方便消费者随时随地浏览和购买宠物用品,同时也可以帮助宠物店或宠物用品卖家拓宽销售渠道。本文将从开发准备、…

SpringBoot3-基础特性

文章目录 自定义 banner自定义 SpringApplicationFluentBuilder APIProfiles指定环境环境激活环境包含Profile 分组Profile 配置文件 外部化配置配置优先级 外部配置导入配置属性占位符 单元测试-JUnit5测试组件测试注解断言嵌套测试参数化测试 自定义 banner banner 就是启动…

80x86汇编—汇编程序基本框架

文章目录 First Program指令系统伪指令数值表达式 程序框架解释int 21 中断 通过一个基本框架解释各个指令和用处,方便复习。所以我认为最好的学习顺序就是先看一段完整的汇编代码程序,然后给你逐个逐个的解释每一个代码是干嘛用的。然后剩下的还有很多指…

前端三剑客实验5-6-复盘

实验 5 - JavaScript对象 若需要源代码,文章末尾自提 1、实现如下编程内容: 1. 分别使用工厂模式、构造函数和class模式来构建移动硬盘对象 2. 彩票号码生成器 随机生成7个1-36之间的随机数,要求数字不重复,并按从小到大的顺序…

合并排序可视化

合并排序可视化 结果 按照位置分色 按照数组值大小分色 可视化代码 参照 冒泡排序可视化 合并排序 public void mergeSort(List<Integer> list, int[] help, int l, int r) {if (l > r) {return;}int mid l (r - l) / 2;mergeSort(list, help, l, mid);mergeSor…

WPF中使用ListView封装组合控件TreeView+DataGrid

&#xff08;关注博主后&#xff0c;在“粉丝专栏”&#xff0c;可免费阅读此文&#xff09; wpf的功能非常强大&#xff0c;很多控件都是原生的&#xff0c;但是要使用TreeViewDataGrid的组合&#xff0c;就需要我们自己去封装实现。 我们需要的效果如图所示&#x…

Nsum问题

题目 题解 暴力法 class Solution:def fourSum(self, nums: List[int], target: int) -> List[List[int]]:if len(nums) < 4:return []nums.sort()N len(nums)res []for i in range(N-3):for j in range(i1, N-2):for k in range(j1, N-1):for m in range(k1, N):tmp…

灰盒测试简要指南!

在本文中&#xff0c;我们将了解什么是灰盒测试、以及为什么要使用它&#xff0c;以及它的优缺点。 在软件测试中&#xff0c;灰盒测试是一种有用的技术&#xff0c;可以确保发布的软件是高性能的、安全的并满足预期用户的需求。这是一种从外部测试应用程序同时跟踪其内部操作…

ffmpeg使用入门

1. ffmpeg是什么&#xff1a; FFmpeg是一款音视频编解码工具&#xff0c;也是一组音视频编解码开发套件&#xff0c;为开发者提供了丰富的音视频处理调用接口。 FFmpeg源代码编译后会生成三个可执行程序&#xff0c;分别是&#xff1a;ffmpeg、ffplay、ffprobe&#xff0c; 这…

行为型设计模式(四):中介模式 命令模式

中介模式 Mediator 1、什么是中介模式 中介模式用于减少对象之间的直接通信&#xff0c;让系统可以更加松耦合。定义了一个中介者对象&#xff0c;该对象封装了一系列对象的交互&#xff0c;使得对象之间不再直接相互引用&#xff0c;而是通用这个中介者对象进行通信。 2、为…

【开源工程及源码】超级经典开源项目实景三维数字孪生智慧港口

智慧港口可视化平台&#xff0c;旨在实现对港口运营的全面监测、智能管理和优化决策。飞渡科技利用数字化、模拟和仿真的技术&#xff0c;通过互联的传感器和设备&#xff0c;实现实时数据的采集、传输和分析&#xff0c;将港口内外的复杂数据以直观、易懂的方式呈现&#xff0…

搜索二叉树(超详解)

文章目录 前言查找搜索二叉树的结构insertfinderase递归版本Findinserterase 二叉树的拷贝问题搜索二叉树的应用Key模型Key/Value的模型 前言 普通二叉树其实意义不大&#xff0c; 如果用二叉树存储数据的话&#xff0c;还不如顺序表&#xff0c;链表这些。 搜索二叉树它的意义…

核货宝订单管理系统提高企业效率

核货宝订单管理系统可以帮助企业提高效率&#xff0c;具体体现在以下几个方面&#xff1a; 一、订单自动化处理&#xff1a;核货宝订单管理系统支持订单批发和多渠道订单导入&#xff0c;它可以从订单的接收、处理、跟进、发货、到售后服务等环节都可以通过系统自动完成&#x…

DBA-MySql面试问题及答案-上

文章目录 1.什么是数据库?2.如何查看某个操作的语法?3.MySql的存储引擎有哪些?4.常用的2种存储引擎&#xff1f;6.可以针对表设置引擎吗&#xff1f;如何设置&#xff1f;6.选择合适的存储引擎&#xff1f;7.选择合适的数据类型8.char & varchar9.Mysql字符集10.如何选择…

python脚本 链接到ssh服务器 快速登录ssh服务器 ssh登录

此文分享一个python脚本,用于管理和快速链接到ssh服务器。 效果演示 🔥完整演示效果 👇第一步,显然,我们需要选择功能 👇第二步,确认 or 选择ssh服务器,根据配置文件中提供的ssh信息,有以下情况 👇场景一,只有一个候选ssh服务器,则脚本会提示用户是否确认链…