hadoop搭建

前言

一般企业中不会使用master slave01 slave02来命名

vmware创建虚拟机

打开vmware软件,新建虚拟机

典型

稍后安装系统

选择centos7

虚拟机名称和安放位置自行选择(最小化安装消耗空间较少)

默认磁盘大小即可

自定义硬件

选择centos7的iso镜像文件(没有的话自行上阿里云下载)随后点击关闭centos-7.9.2009-isos-x86_64安装包下载_开源镜像站-阿里云

完成

开启虚拟机

安装centos7

 键盘上下键选择第一项直接安装,第二项是测试镜像完整性并安装,耗时较久

等待一会 

语言中英文都可,按自己喜好,选择继续

选择安装位置,默认即可

直接点击完成

点击开始安装即可

点击设置root用户密码

如果设置的是弱密码需要点击两次完成

点击创建用户

创建一个hd用户,如果设置的是弱密码需要点击两次完成

等待安装,点击完成配置

再次等待,点击重启

启动centos7进行初步设置

登录root用户,输入密码不会有提示 输入完毕后直接回车即可登录

登录后发现没有IP地址

 先配置一个临时IP地址(ens33 对应自己的网卡)

ip根据自己实际情况而设置

ifconfig ens33 192.168.20.30

使用远程工具ssh连接,这里使用MobaXterm

连接类型选择SSH ,输入centos7的IP地址(前面设置了192.168.20.30)根据自己的实际情况来,选择登录hd 用户,点击OK连接,随后输入密码(一样的输入密码是没有提示的)

切换到root用户(因为后面配置需要root用户权限) 

su root

修改为静态ip地址(前面设置的是临时ip重启后失效)

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

将BOOTPROTO从dhcp修改为static

ONBOOT从no修改为yes

在文件末尾加入如下三行(因为不需要联网所以不用配置DNS)ip根据自己实际情况而设置

IPADDR=192.168.20.30
NETMASK=255.255.255.0
GATEWAY=192.168.20.2

:wq保存退出、ZZ也可

重启网卡令配置生效

systemctl restart network

关闭防火墙并永久禁用防火墙和selinux,setenforce 0重启后会失效,修改selinux文件需要重启才能生效

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config

将SELINUX=enforcing修改为SELINUX=disabled

保存退出

安装Java环境

先删除Linux自带的Java环境

在root用户下 

yum remove  -y  java* 

回到hd用户

su hd

在hd用户目录下创建apps文件夹来放软件包及安装软件

上传Java包

将jdk-8u121-linux-x64.gz包上传至上面创建的apps目录下

 

 解压Java包

注意以hd用户解压否则会出现hd用户无权限无法启动Hadoop 

tar -zxvf jdk-8u121-linux-x64.gz
 mv jdk1.8.0_121/ java

配置Java环境

su root

添加环境变量 

vi /etc/profile

G来到文件末尾,o在下一行插入

export JAVA_HOME=/home/hd/apps/java
export PATH=$PATH:$JAVA_HOME/bin

加载系统环境并查看Java版本

source /etc/profile
java -version

Hadoop安装

上传Hadoop包 

上传hadoop-2.8.1.tar.gz至apps目录并解压

切换至hd用户

su hd

解压 Hadoop包

tar -zxvf hadoop-2.8.1.tar.gz

修改目录名

mv hadoop-2.8.1 hadoop

修改Hadoop配置文件

先进入Hadoop配置文件目录

cd hadoop/etc/hadoop/

 

 修改hadoop-env.sh

vi hadoop-env.sh

按G来到文件末尾o在下一行插入,在文件末尾追加

export JAVA_HOME=/home/hd/apps/java

:wq保存退出 或 ZZ保存退出

注意!!!! 看了再往下做

下面修改的4个文件一定要在<configuration></configuration>中添加,不要图省事直接追加在文件末尾,一个xml文件只能一个根节点,出现了2个 会导致Hadoop无法启动(本人踩的雷)

修改core-site.xml

 vi core-site.xml

在<configuration></configuration>中添加

    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><!-- 指定hadoop运行时产生文件的存储目录 --><property><name>hadoop.tmp.dir</name><value>/home/hd/apps/hadoop/tmpdata</value></property><!--Hadoop回收站trash,默认是关闭的 可以设置一个时间阀值(单位:分钟),
当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。
--><property><name>fs.trash.interval</name><value>1440</value>
</property>

修改hdfs-site.xml

vi hdfs-site.xml

在<configuration></configuration>中添加

    <!-- 指定HDFS副本的数量 --><property><name>dfs.replication</name><value>2</value></property><!-- 设置namenode的http通讯地址 --><property><name>dfs.namenode.http-address</name><value>master:50070</value></property><!-- 设置secondarynamenode的http通讯地址 --><property><name>dfs.namenode.secondary.http-address</name><value>master:50090</value></property><!-- 设置namenode存放的路径 --><property><name>dfs.namenode.name.dir</name><value>/home/hd/apps/hadoop/namenode</value></property><!-- 设置datanode存放的路径 --><property><name>dfs.datanode.data.dir</name><value>/home/hd/apps/hadoop/datanode</value></property>

 

修改mapred-site.xml

 因为我的包里没有mapred-site.xml,需要将mapred-site.xml.template重命名为mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

 再来修改文件

vi mapred-site.xml

在<configuration></configuration>中添加

    <!-- 指定mr运行在yarn上 --><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value></property>

修改yarn-site.xml

vi yarn-site.xml

在<configuration></configuration>中添加

    <!-- 指定YARN的老大(ResourceManager)的地址 --><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><!-- reducer获取数据的方式 --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>

 

修改slaves

vi slaves

 追加

slave01
slave02

修改环境变量

先切换到root用户

su root
vi /etc/profile

在文件末尾追加

export HADOOP_HOME=/home/hd/apps/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

加载环境

source /etc/profile

查看Hadoop版本

hadoop version

克隆虚拟机

先关闭虚拟机

shutdown -h now

右键虚拟机标签,选择管理,克隆

我选择链接克隆,根据自己情况来选择(链接克隆如果母机损坏了链接克隆的机器也无法正常启动,但是占用空间小,克隆速度快)

 为了方便分辨虚拟机名称设为hd2,存储位置自行选择,点击完成即可

完毕

同样方法再克隆一台

启动并修改克隆的虚拟机IP地址

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

 将网卡ID删除(避免与母机冲突)并修改IP地址,ip根据自己实际情况而设置

重启网卡

systemctl restart network

随后检查个各机器防火强是否关闭,selinux是否关闭

 systemctl status firewalld  
setenforce 0

java版本,Hadoop版本是否一致(如果没有的话自行检查 /etc/profile 环境变量 source加载)

 java -version
hadoop version

修改主机名

母机 master

从机1 slave01

从机2 slave02

一般企业中是不会像这样命名的

hostnamectl set-hostname master

bash重新加载交互

hostnamectl set-hostname slave01
hostnamectl set-hostname slave02

修改/etc/hosts 文件

切换到root用户 

su root

修改hosts文件 

vi /etc/hosts

在文件末尾追加(ip根据自己实际情况而设置)

192.168.20.30 master
192.168.20.31 slave01
192.168.20.32 slave02

保存并退出

同步到两台子机上

scp /etc/hosts root@slave01:/etc/
scp /etc/hosts root@slave02:/etc/

输入yes

输入密码后回车(没有提示的)

第二台同理

免密登录

先退出root用户,直接

exit

在master上生成密钥

ssh-keygen

回车 

继续回车

一直回车 

拷贝密钥到需要免密登录的机器

master slave01 slave02三台机器

ssh-copy-id slave02
ssh-copy-id slave01
ssh-copy-id master

输入yes,随后输入密码,回车

另外两台同理

测试免密登录

ssh slave01
ssh slave02
ssh master

不需要输入密码就说明成功了(如若不成功检查防火墙,重新生成密钥并发送到三个节点 ,并确认你的当前用户是hd)

exit退出 

格式化Hadoop

只需要在master上格式化

hadoop namenode -format

(   )(   )启动!!!

 启动Hadoop集群

 start-dfs.sh 启动HDFS分布式文件系统,停止stop-dfs.sh

 start-yarn.sh 启动Yarn资源管理器,停止stop-yarn.sh

 start-all.sh  HDFS分布式文件系统与Yarn启动,停止stop-all.sh

主要使用 一键启动所有

start-all.sh

如要停止,使用

stop-all.sh

启动卡住没有datanode解决办法

启动Hadoop后 没有DataNode进程 的解决方法_hadoop没有datanode-CSDN博客

中途提示Host key verification failed解决办法

解决Host key verification failed.(亲测有效)-CSDN博客 

使用jps查看启动服务

master服务如图 

两个slave服务如图

hdfs 文件系统访问地址:http://192.168.20.30:50070

ip根据自己实际情况而设置

 

Yarn资源管理器访问地址:http://192.168.20.30:8088

ip根据自己实际情况而设置

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

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

相关文章

测试 - 1 ( 9000 字详解 )

一&#xff1a; 测试入门 测试是指运用特定的方法、手段或工具&#xff0c;对某一对象进行验证、检查或评估&#xff0c;判断其是否符合预期标准或目标。例如&#xff0c;修理好一盏灯后通过按开关测试其是否正常工作&#xff1b;通过一次数学测验评估学生对代数知识的掌握程度…

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法(无目标函数)含特征变量置信区间分析

【MATLAB第110期】#保姆级教学 | 基于MATLAB的PAWN全局敏感性分析方法&#xff08;无目标函数&#xff09;含特征变量置信区间分析 一、介绍 PAWN&#xff08;Probabilistic Analysis With Numerical Uncertainties&#xff09;是一种基于密度的全局敏感性分析&#xff08;Gl…

DX12 快速教程(2) —— 渲染天蓝色窗口

快速导航 新建项目 "002-DrawSkyblueWindow"DirectX 12 入门1. COM 技术&#xff1a;DirectX 的中流砥柱什么是 COM 技术COM 智能指针 2.创建 D3D12 调试层设备&#xff1a;CreateDebugDevice什么是调试层如何创建并使用调试层 3.创建 D3D12 设备&#xff1a;CreateD…

【合作原创】使用Termux搭建可以使用的生产力环境(八)

前言 在上一篇【合作原创】使用Termux搭建可以使用的生产力环境&#xff08;七&#xff09;-CSDN博客中我们讲到了安装百度网盘、VS Code还有java&#xff0c;这篇我打算讲一下最后的编程&#xff0c;还有输入法相关问题解决。众所周知我的本职工作是Java程序猿&#xff0c;因…

VLMs之Gemma 2:PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略

VLMs之Gemma 2&#xff1a;PaliGemma 2的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;2024年12月4日&#xff0c;PaliGemma 2是一个基于Gemma 2系列语言模型的开源视觉语言模型 (VLM) 家族。PaliGemma 2 通过提供一个规模化、多功能且开源的VLM家族&#xff0c;…

24.12.26 SpringMVCDay01

SpringMVC 也被称为SpringWeb Spring提供的Web框架,是在Servlet基础上,构建的框架 SpringMVC看成是一个特殊的Servlet,由Spring来编写的Servlet 搭建 引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc<…

国产 HighGo 数据库企业版安装与配置指南

国产 HighGo 数据库企业版安装与配置指南 1. 下载安装包 访问 HighGo 官方网站&#xff08;https://www.highgo.com/&#xff09;&#xff0c;选择并下载企业版安装包。 2. 上传安装包到服务器 将下载的安装包上传至服务器&#xff0c;并执行以下命令&#xff1a; [rootmas…

Java程序设计,使用属性的选项库,轻松实现商品检索的复杂查询(上)

一、背景 本文我们以某商城的商品检索为例,说一说如何使用属性及选项,实现复杂的逻辑表达式的查询。 先贴图,总结出业务需求。 可以通过一系列属性及选项的组合,过滤出用户想要的商品列表。 1、属性 上文中的品牌、分类、屏幕尺寸、CPU型号、运行内存、机身内存、屏幕材…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

WHAT KAN I SAY?Kolmogorov-Arnold Network (KAN)网络结构介绍及实战(文末送书)

一、KAN网络介绍 1.1 Kolmogorov-Arnold Network (KAN)网络结构的提出 2024年4月&#xff0c;来自MIT、加州理工学院、东北大学等团队的研究&#xff0c;引爆了一整个科技圈&#xff1a;Yes We KAN&#xff01; 这种创新方法挑战了多层感知器(Multilayer Perceptron&#xff…

YOLO11改进-模块-引入星型运算Star Blocks

当前网络设计中&#xff0c;“星型运算”&#xff08;逐元素乘法&#xff09;的应用原理未被充分探究&#xff0c;潜力有待挖掘。为解决此问题&#xff0c;我们引入 Star Blocks&#xff0c;其内部由 DW - Conv、BN、ReLU 等模块经星型运算连接&#xff0c;各模块有特定参数。同…

3.银河麒麟V10 离线安装Nginx

1. 下载nginx离线安装包 前往官网下载离线压缩包 2. 下载3个依赖 openssl依赖&#xff0c;前往 官网下载 pcre2依赖下载&#xff0c;前往Git下载 zlib依赖下载&#xff0c;前往Git下载 下载完成后完整的包如下&#xff1a; 如果网速下载不到请使用网盘下载 通过网盘分享的文件…

【理解机器学习中的过拟合与欠拟合】

在机器学习中&#xff0c;模型的表现很大程度上取决于我们如何平衡“过拟合”和“欠拟合”。本文通过理论介绍和代码演示&#xff0c;详细解析过拟合与欠拟合现象&#xff0c;并提出应对策略。主要内容如下&#xff1a; 什么是过拟合和欠拟合&#xff1f; 如何防止过拟合和欠拟…

【婚庆摄影小程序设计与实现】

摘 要 社会发展日新月异&#xff0c;用计算机应用实现数据管理功能已经算是很完善的了&#xff0c;但是随着移动互联网的到来&#xff0c;处理信息不再受制于地理位置的限制&#xff0c;处理信息及时高效&#xff0c;备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮…

12.26 学习卷积神经网路(CNN)

完全是基于下面这个博客来进行学习的&#xff0c;感谢&#xff01; ​​【深度学习基础】详解Pytorch搭建CNN卷积神经网络LeNet-5实现手写数字识别_pytorch cnn-CSDN博客 基于深度神经网络DNN实现的手写数字识别&#xff0c;将灰度图像转换后的二维数组展平到一维&#xff0c;…

Unity URP多光源支持,多光源阴影投射,多光源阴影接收(优化版)

目录 前言&#xff1a; 一、属性 二、SubShader 三、ForwardLitPass 定义Tags 声明变体 声明变量 定义结构体 顶点Shader 片元Shader 四、全代码 四、添加官方的LitShader代码 五、全代码 六、效果图 七、结语 前言&#xff1a; 哈喽啊&#xff0c;我又来啦。这…

如何使用React,透传各类组件能力/属性?

在23年的时候&#xff0c;我主要使用的框架还是Vue&#xff0c;当时写了一篇“如何二次封装一个Vue3组件库&#xff1f;”的文章&#xff0c;里面涉及了一些如何使用Vue透传组件能力的方法。在我24年接触React之后&#xff0c;我发现这种扩展组件能力的方式有一个专门的术语&am…

109.【C语言】数据结构之求二叉树的高度

目录 1.知识回顾&#xff1a;高度&#xff08;也称深度&#xff09; 2.分析 设计代码框架 返回左右子树高度较大的那个的写法一:if语句 返回左右子树高度较大的那个的写法二:三目操作符 3.代码 4.反思 问题 出问题的代码 改进后的代码 执行结果 1.知识回顾&#xf…

分析排名靠前的一些自媒体平台,如何运用这些平台?

众所周知&#xff0c;现在做网站越来越难了&#xff0c;主要的原因还是因为流量红利时代过去了。并且搜索引擎都在给自己的平台做闭环改造。搜索引擎的流量扶持太低了。如百度投资知乎&#xff0c;给知乎带来很多流量扶持&#xff0c;也为自身内容不足做一个填补。 而我们站长…

2024大模型在软件开发中的具体应用有哪些?(附实践资料合集)

大模型在软件开发中的具体应用非常广泛&#xff0c;以下是一些主要的应用领域&#xff1a; 自动化代码生成与智能编程助手&#xff1a; AI大模型能够根据开发者的自然语言描述自动生成代码&#xff0c;减少手动编写代码的工作量。例如&#xff0c;GitHub Copilot工具就是利用AI…