hadoop3.3.4安装及启动

news2024/12/28 20:19:09

1.虚拟机的安装

此处我选择的是VMware,激活码可以百度搜索,安装过程比较缓慢,需要耐心等待

---------------------------------------------------------------------------------------------------------------------------------

2.创建新的虚拟机

点击创建虚拟机,如果已经创建,导入即可

---------------------------------------------------------------------------------------------------------------------------------

3.下载镜像

多种镜像可以选择,我选择下载的是CentOS7。相比于ubantu,CentOS7下载速度更快,相对应的虚拟机克隆的速度也更快。但是图形化界面不如ubantu,对新手不友好。

---------------------------------------------------------------------------------------------------------------------------------

4.导入镜像

注意:一定要先选稍后安装,如果在这里直接安装,将会出现用户注册无效的问题,你将无法登录进入虚拟机

创立成功后,再在CD/DVD设置中,导入镜像文件。重启虚拟机,使其生效

---------------------------------------------------------------------------------------------------------------------------------

5.登入

一共有两种模式,一种是注册时注册的自定义用户,该用户权限很小,特征是命令前缀为$,另一种是root用户,该用户权限很大,特征是命令前缀为#。如果在登录界面输入的用户名是“root”(不加引号)那么将登入root用户。输入exit可以切换为自定义用户。此外,自定义用户可以输入su指令,切换到root用户

---------------------------------------------------------------------------------------------------------------------------------

6.网络设置

Hadoop需要至少三台机器互联互通,因此网络的设置至关重要,可以先采用ping www.baidu.com的方法,检验网络设置(点击ctrl+c中止该过程,不然会一直进行通信)

如果能显示,证明可以联通互联网,反之则需要调试网络。

打开虚拟网络编辑器,选择VMnet8模式,关闭使用本地DHCP分配IP地址选项(静态ip地址,不需要分配),同时点击NAT设置,查找本机子网IP,子网掩码以及网卡,记住他们。

以我的设置为例:

接下里,打开本机的网络配置器,选择VMnet8

修改IPV4协议,除了IP地址以外,其他地址按在虚拟网络适配器中查到的值抄写。IP地址头三组按查到的值抄写,最后一位写0-255之间的任意数。注意合理分配最后一位数,待会还会用到

输入ip addr查找虚拟机配置文件号

输入vi /etc/sysconfig/network-scripts/ifcfg-ens33(ens33是刚刚用ip addr查到的号码),按i进入编辑模式,给机器分配ip地址,要与在ipv4中设置的ip地址不同,我这里写的是200.编辑完成后按esc退出,按下:wq保存修改

BOOTPROTO=static
 
ONBOOT=yes
IPADDR=192.168.198.200
NETMASK=255.255.255.0
GATEWAY=192.168.198.2
DNS=8.8.8.8

输入service network restart重启网络,使修改生效。最后再ping www.baidu.com检验。一台机子完成设置后,克隆两台(完整克隆,不要链接克隆!),再按同样的流程,修改为不同的ip地址(202,204)

我们采用主从结构搭建,三台机器为:

192.168.198.200 hadoop01
192.168.198.202 hadoop02
192.168.198.204 hadoop03

使用vi /home/hosts打开hosts文件,把上面那段代码加进去,完成后重启网络,使修改生效

使用相互ping的方法检验是否设置成功

注意:在这一步就可以关闭防火墙了,使用systemctl stop firewalld和systemctl disable firewalld.service指令。

---------------------------------------------------------------------------------------------------------------------------------

7.配置ssh免密登录

在主节点机器(hadoop01)使用ssh-keygen -t rsa生成ssh密钥

ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

把密钥拷贝到三台机器上,这样就实现免密登陆了。这一步成功的基础在于,必须关闭防火墙

使用

ssh hadoop01
ssh hadoop02
ssh hadoop03

进行检验,看是否分发成功。输入exit即可断开连接

---------------------------------------------------------------------------------------------------------------------------------

8.远程连接工具的下载

putty和xshell均可以。xshell无需购买,家庭版足矣,此外xshell图形化界面更友好。下载之后采用ip地址连接的方式与虚拟机连接即可。值得注意的是,连接虚拟机时,虚拟机必须开机,不能关机!

---------------------------------------------------------------------------------------------------------------------------------

9.jdk下载传输

利用xshell或者putty和虚拟机建立连接。输入rz,如果没有任何反应那么意味着没有下载rz包,使用yum install语句,下载rz命令的资源包。同时,考虑到后续要设置java变量,区分命令和变量的颜色十分重要,我们同样使用yum install语句,下载vim语句的资源包(vim 语句区分不同变量的颜色十分醒目,便于我们修改、配置java变量)。使用家庭版xshell第一次上传时,可能会出现乱码,不要慌张,退出连接后,重新再上传一次基本上就不会有乱码了。输入ls检查下载的目录下是否有jdk压缩包。没有问题的话,将该压缩包解压(利用语句在虚拟机上解压,不要理解为在本机解压!)输入

tar zxvf 资源包名字

再次输入ls查看目录下是否有解压文件和安装包。这一步的时候,也可以上传hadoop 3.3.4的压缩包,上传过程同理

输入以下语句配置jdk变量

vim .bash_profile

输入:

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export JAVA_HOME=/jdk地址/jdk1.8.0_212
export PATH=$JAVA_HOME/bin:$PATH

(可以输入pwd查看jdk下载地址)

再输入,使配置的修改生效:

source .bash_profile

输入java -version检查虚拟机的jdk是否配置成功

如果出现不能识别java的报错,那就意味着要么jdk未正确解压,要么java变量未配置成功

---------------------------------------------------------------------------------------------------------------------------------

10.hadoop的解压与配置

输入如下命令,解压hadoop

tar zxvf hadoop-3.3.4.tar.gz

 可以把压缩包移到想要的地址,合理分配内存资源,利用mv语句,比如这个地址:

/home/hadoop/hadoop-3.3.4

输入cd /home/hadoop语句,切换到该文件夹,输入ls查看是否成功的把压缩包移动到该文件夹下,如果用mv语句一直没有反应,那可以直接先切换到该文件下,然后使用rz语句,就在该文件夹下解压hadoop

接下来配置hadoop服务器上的各个文件:

/home/hadoop/hadoop-3.3.4/etc/hadoop/

切换到该目录下

输入

vim hadoop-env.sh

将# export JAVA_HOME=那一行的注释符删除,同时将地址配置为jdk安装的地址

接下来配置,core-site.xml

vim  core-site.xml

在两个configuraiton标签之间插入:

<property>
<name>fs.default.name</name>
<value>hdfs://192.168.198.200:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131702</value>
</property>

然后配置hdfs-site.xml 

vim hdfs-site.xml 

同样的,插入:

 <property>  
 <name>dfs.namenode.name.dir</name> 
 <value>file:/home/hadoop/dfs/name</value>
 </property>
 <property> 
 <name>dfs.datanode.data.dir</name> 
 <value>file:/home/hadoop/dfs/data</value>
 </property>
 <property> 
 <name>dfs.replication</name>
 <value>2</value> 
 </property>
 <property>
 <name>dfs.http.address</name>  
 <value>192.168.198.200:50070</value>
 </property>
 <property>
 <name>dfs.namenode.secondary.http-address</name>
 <value>192.168.198.200:9001</value>
 </property>
 <property>
 <name>dfs.webhdfs.enabled</name>
 <value>true</value>
 </property>

还需要配置mapred-site.xml

vim mapred-site.xml

插入:

 <property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.address</name>
 <value>192.168.198.200:10020</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.webapp.address</name>
 <value>192.168.198.200:19888</value>
 </property>

此外还有yarn-site.xml

vim yarn-site.xml

插入:

<property>
 <name>yarn.nodemanager.aux-services</name>
 <value>mapreduce_shuffle</value>
 </property>
 <property>
 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
 <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>
 <property>
 <name>yarn.resourcemanager.address</name>
 <value>192.168.198.200:8032</value>
 </property>
 <property>
 <name>yarn.resourcemanager.scheduler.address</name>
 <value>192.168.198.200:8030</value>
 </property>
 <property>
 <name>yarn.resourcemanager.resource-tracker.address</name>
 <value>192.168.198.200:8031</value>
 </property>
 <property>
 <name>yarn.resourcemanager.admin.address</name>
 <value>192.168.198.200:8033</value>
 </property>
 <property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>192.168.198.200:8088</value>
 </property>
 <property>
<name>yarn.nodemanager.resource.memory-mb</name>
 <value>1024</value>
 </property>

注意:在hadoop3.3.4中,不再需要配置yarn-env.sh文件!

最后,配置环境变量

vim /etc/profile

输入:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_PID_DIR=/home/hadoop
export HADOOP_HOME=/home/hadoop/hadoop-3.3.4/
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$HOME/bin
export PATH

输入命令,使得配置生效:

source /etc/profile

---------------------------------------------------------------------------------------------------------------------------------

11.配置worker,为下一步分发hadoop以及后续守护线程的启动做准备

cd /home/hadoop/hadoop-3.3.4/etc/hadoop
vim workers

删除localhost,输入三台机器的ip地址

输入指令重启,使修改生效

---------------------------------------------------------------------------------------------------------------------------------

12.分发jdk,hadoop,file到两台从机

scp -r /home/jdk1.8.0_212 hadoop02:/home/
scp -r /home/jdk1.8.0_212 hadoop03:/home/
scp -r /etc/profile hadoop02:/etc/
scp -r /etc/profile hadoop03:/etc/
scp -r /home/hadoop hadoop02:/home/
scp -r /home/hadoop hadoop03:/home/

注意上传成功后要在两台从机分别重启配置文件,不然配置无效

---------------------------------------------------------------------------------------------------------------------------------

13.hadoop服务器启动

只需要在主虚拟机上启动服务器,第一次启动时要注意要进行格式化。不要轻易进行格式化,多次格式化会产生严重报错。如果这一次启动失败了,那么需要执行以下命令清除上一次格式化产生的错误数据

rm -rf tmp/       ----/home/hadoop目录下
mkdir tmp         ----/home/hadoop目录下
rm -rf logs/      ----/home/hadoop/hadoop-3.3.4目录下
mkdir logs        ----/home/hadoop/hadoop-3.3.4目录下

第一次启动,建议分别启动dfs和yarn,不要直接启动两个服务器,第一次启动直接用sbin/start-all.sh几乎百分之百会报错。采用sbin/start-dfs.sh、sbin/start-yarn.sh分别启动。没有报错的话,输入jps检查守护线程

或者输入hadoop fs命令

那么hadoop3.3.4就配置成功了!

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

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

相关文章

虚幻学习笔记17—C++委托(单播)

一、前言 相比“代理”这个名词我更喜欢叫“委托”&#xff0c;虚幻的委托分为三类&#xff0c;分别为单播、多播和动态多播。单播顾名思义就是一次只能绑定一个函数的委托&#xff0c;多播能一次性绑定多个&#xff0c;动态多播即可以在蓝图中进行动态的绑定且可以绑定多个。 …

YOLOv8改进 | Conv篇 | 轻量级下采样方法ContextGuided(涨点幅度)

一、本文介绍 本文给大家带来的是改进机制是一种替换Conv的模块Context Guided Block (CG block) &#xff0c;其是在CGNet论文中提出的一种模块&#xff0c;其基本原理是模拟人类视觉系统依赖上下文信息来理解场景。CG block 用于捕获局部特征、周围上下文和全局上下文&#…

Leetcode—2413.最小偶倍数【简单】

2023每日刷题&#xff08;六十&#xff09; Leetcode—2413.最小偶倍数 class Solution { public:int smallestEvenMultiple(int n) {return (n % 2 1) * n;} };运行结果 之后我会持续更新&#xff0c;如果喜欢我的文章&#xff0c;请记得一键三连哦&#xff0c;点赞关注收藏…

新手HTML和CSS的常见知识点

​​​​ 目录 1.HTML标题标签&#xff08;到&#xff09;用于定义网页中的标题&#xff0c;并按照重要性递减排列。例如&#xff1a; 2.HTML段落标签&#xff08;&#xff09;用于定义网页中的段落。例如&#xff1a; 3.HTML链接标签&#xff08;&#xff09;用于创建链接…

小区生活污水处理需要哪些设备和工艺

在小区生活中&#xff0c;污水处理是一个非常重要的环节&#xff0c;它关乎到环境的保护和居民的生活质量。因此&#xff0c;了解小区生活污水处理所需要的设备和工艺是至关重要的。 首先&#xff0c;在小区生活污水处理中&#xff0c;需要用到的设备包括污水收集系统、初级沉淀…

详解RTC:以华人文化打造链上生态

文化是人类在发展的历史长河中淘洗出来的智慧结晶&#xff0c;随着人类社会的进步和变迁&#xff0c;经历了从口口相传到互联网等不同历史时代的传承和创新。在数字技术飞速发展的当今&#xff0c;区块链技术为文化的创新与传承提供了全新的空间和方式&#xff0c;使其得以在新…

【CANN训练营】CANN算子开发进阶笔记

Ascend C Tilling计算 Tilling基本概念介绍 大多数情况下&#xff0c;Local Memory的存储&#xff0c;无法完全容纳算子的输入与输出的所有数据&#xff0c;需要每次搬运一部分输入数柜进行计算然后搬出&#xff0c;再敲运下一部分输入数据进行计算&#xff0c;直到得到完愁的…

【深度学习】TensorFlow深度模型构建:训练一元线性回归模型

文章目录 1. 生成拟合数据集2. 构建线性回归模型数据流图3. 在Session中运行已构建的数据流图4. 输出拟合的线性回归模型5. TensorBoard神经网络数据流图可视化6. 完整代码 本文讲解&#xff1a; 以一元线性回归模型为例&#xff0c; 介绍如何使用TensorFlow 搭建模型 并通过会…

智能优化算法应用:基于松鼠算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于松鼠算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于松鼠算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.松鼠算法4.实验参数设定5.算法结果6.参考文献7.MA…

使用opencv的Laplacian算子实现图像边缘检测

1 边缘检测介绍 图像边缘检测技术是图像处理和计算机视觉等领域最基本的问题&#xff0c;也是经典的技术难题之一。如何快速、精确地提取图像边缘信息&#xff0c;一直是国内外的研究热点&#xff0c;同时边缘的检测也是图像处理中的一个难题。早期的经典算法包括边缘算子方法…

黑马头条--day01.环境搭建

一.前言 该项目学习自黑马程序员&#xff0c;由我整理如下&#xff0c;版权归黑马程序员所有 二.环境搭建 1.数据库 第一天&#xff0c;先创建如下库和表: sql文件如下: CREATE DATABASE IF NOT EXISTS leadnews_user DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_…

内存泄漏排查与预防

前言 内存泄漏问题&#xff0c;在C程序中经常会被开发测试人员忽略&#xff0c;最终会在客户运行现场因为内存泄漏最后导致程序内存耗尽&#xff0c;最后崩溃&#xff0c;从而影响客户的生产环境&#xff0c;导致异常发生。因为内存泄漏是一个共性的问题&#xff0c;所有的C程序…

html的学习笔记

开发工具&#xff1a;vscode 文字标签 h1:一级标题&#xff0c;h2&#xff1a;二级标题h6 p&#xff1a;段落标签 hr&#xff1a;分隔线 br&#xff1a;换行 strong/b&#xff1a;文字加粗 ins/u:下划线 em/i&#xff1a;倾斜 del/s&#xff1a;删除线 媒体标签 图片…

Vue前端与后端放在一起的搭建方式

1.首先把后端项目搭建好 去到项目的存放位置 2.然后cmd黑窗口输入命令创建vue项目 3.创建成功后回到后端项目进行合并 3.1在File处选择Project Structure 3.2选择模块 3.3找到自己的vue项目 3.4疯狂next最后create 3.5选择Apply并确定OK&#xff0c;恭喜您创建成功了 二、启动…

Star 4.1k!Gitee GVP开源项目!新一代桌面应用开发框架 ElectronEgg!

前言 随着现代技术的快速升级迭代及发展&#xff0c;桌面应用开发已经变得越来越普及。然而对于非专业桌面应用开发工程师在面对这项任务时&#xff0c;可能会感到无从下手&#xff0c;甚至觉得这是一项困难的挑战。 本篇文章将分享一种新型桌面应用开发框架 ElectronEgg&…

自动驾驶学习笔记(十八)——Lidar感知

#Apollo开发者# 学习课程的传送门如下&#xff0c;当您也准备学习自动驾驶时&#xff0c;可以和我一同前往&#xff1a; 《自动驾驶新人之旅》免费课程—> 传送门 《Apollo 社区开发者圆桌会》免费报名—>传送门 文章目录 前言 Lidar感知 运动补偿 点云分割 总结…

day34算法训练|贪心算法

1005.K次取反后最大化的数组和 两次贪心算法思路 1. 数组中有负数时&#xff0c;把绝对值最大的负数取反 2. 数组全为非负数时&#xff0c;一直取反最小的那个数 步骤&#xff1a; 第一步&#xff1a;将数组按照绝对值大小从大到小排序&#xff0c;注意要按照绝对值的大小…

Linux--Docker容器(1)

这里写目录标题 简介名词解释作用 指令在本地创建容器的过程&#xff1a;&#xff08;这里以tomcat为例&#xff09;访问容器端口映射目录挂载验证端口映射验证目录挂载 删除镜像多小组访问容器mysql容器 简介 名词解释 Docker镜像&#xff1a;可以将镜像理解为面向对象的类&a…

Axure的动态图使用以及说明

认识Axure动态图 Axure动态图是Axure中的一种功能&#xff0c;它允许用户在原型中添加动画效果和交互动作&#xff0c;使原型更加生动和具有真实的用户体验。用户可以通过添加动态图来展示页面过渡、按钮点击、下拉菜单等交互操作的效果。 这是&#xff1a;就是我们今天要叫的…

深入理解模板引擎:解锁 Web 开发的新境界(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…