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根据自己实际情况而设置

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

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

相关文章

基于深度学习(HyperLPR3框架)的中文车牌识别系统-python程序开发测试

本篇内容为python开发&#xff0c;通过一个python程序&#xff0c;测试搭建的开发环境&#xff0c;读入一张带有车牌号的图片&#xff0c;成功识别出车牌号。 1、通过PyCharm新建一个工程&#xff0c;如&#xff1a;PlateRecognition&#xff0c;配置虚拟环境。 2、在工程中新…

c# RSA加解密工具,.netRSA加解密工具

软件介绍 名称: c# RSA加解密工具,.netRSA加解密工具依赖.net版本: .net 8.0工具类型: WinForm源码下载 c# RSA加解密工具,.netRSA加解密工具 依赖项 WinFormsRSA.csproj <Project

Ubuntu20.04安装Foxit Reader 福昕阅读器

Ubuntu20.04安装Foxit Reader 福昕阅读器 文章目录 Ubuntu20.04安装Foxit Reader 福昕阅读器 先更新一下源 sudo apt update sudo apt upgrade下载Foxit Reader的稳定版本 wget https://cdn01.foxitsoftware.com/pub/foxit/reader/desktop/linux/2.x/2.4/en_us/FoxitReader.e…

HUB、交换机、路由器和串口服务器

HUB&#xff1a;HUB是集线器&#xff0c;支持半双工的工作模式&#xff0c;就像对讲机那样。工作在物理层&#xff0c;收到数据后&#xff0c;会向其他端口转发&#xff0c;只是起到“中转站的作用”&#xff1b;而且对带宽是共享的&#xff0c;像河流一样&#xff0c;分的支流…

基于微信小程序的校园访客登记系统

基于微信小程序的校园访客登记系统 功能列表 用户端功能 注册与登录 &#xff1a;支持用户通过手机号短信验证码注册和登录。个人资料管理 &#xff1a;允许用户编辑和更新个人信息及其密码。站内信消息通知&#xff1a;通知公告。来访预约&#xff1a;提交来访预约支持车牌…

苹果叶病害图像分类数据集5类别:健康苹果叶、灰斑病、铁锈病、马赛克病、蛙眼叶斑病

数据集下载 苹果叶病害图像分类数据集5类别&#xff1a;健康苹果叶、灰斑病、铁锈病、马赛克病、蛙眼叶斑病&#xff08;7100张图片&#xff09;:https://download.csdn.net/download/m0_64879847/90181747 数据集展示 健康苹果叶 灰斑病 马赛克病 铁锈病 蛙眼叶斑病

【日常开发】Git Stash使用技巧

文章目录 引言一、git stash 基础命令&#xff08;一&#xff09;存储当前工作区的修改&#xff08;二&#xff09;查看存储列表 二、查看存储的内容&#xff08;一&#xff09;查看特定存储的详细内容&#xff08;二&#xff09;查看特定存储修改的文件列表 三、恢复存储的修改…

超详细!一文搞定PID!嵌入式STM32-PID位置环和速度环

本文目录 一、知识点1. PID是什么&#xff1f;2. 积分限幅--用于限制无限累加的积分项3. 输出值限幅--用于任何pid的输出4. PID工程 二、各类PID1. 位置式PID&#xff08;用于位置环&#xff09;&#xff08;1&#xff09;公式&#xff08;2&#xff09;代码使用代码 2. 增量式…

数据库系统原理复习汇总

数据库系统原理复习汇总 一、数据库系统原理重点内容提纲 题型&#xff1a;主观题 1、简答题 第一章&#xff1a;数据库的基本概念&#xff1a;数据库、数据库管理系统、三级模式&#xff1b;两级映像、外码 第二章&#xff1a;什么是自然连接、等值连接&#xff1b; 第三…

【Spring】 Bean 注入 HttpServletRequest 能保证线程安全的原理

文章目录 前言1. 图示2. 源码坐标后记 前言 今天看了一段老业务代码&#xff0c;HttpServletRequest 被注入后直接用于业务逻辑。 好奇Spring是如何解决线程安全问题。 Controller public class TestController {ResourceHttpServletRequest request;ResponseBodyGetMapping(…

大数据面试笔试宝典之Flink面试

1.Flink 是如何支持批流一体的? F link 通过一个底层引擎同时支持流处理和批处理. 在流处理引擎之上,F link 有以下机制: 1)检查点机制和状态机制:用于实现容错、有状态的处理; 2)水印机制:用于实现事件时钟; 3)窗口和触发器:用于限制计算范围,并定义呈现结果的…

【Linux】进度条

本文中&#xff0c;我们来写一个进度条。 本文大纲&#xff1a; 写一个命令行版的进度条。 1.回车换行 2.缓冲区问题&#xff08;本文不深究&#xff09; ​ 2.1测试代码 3.写一个什么样的进度条&#xff1f; ​ version1 ​ version2 回车换行 这俩不是一个概念&…

React引入Echart水球图

在搭建React项目时候&#xff0c;遇到了Echart官方文档中没有的水球图&#xff0c;此时该如何配置并将它显示到项目中呢&#xff1f; 目录 一、拓展网站 二、安装 三、React中引入 1、在components文件夹下新建一个组件 2、在组件中引入 3、使用水波球组件 一、拓展网站 …

mysql三种读取模式(普通、流式、游标)

在与MySQL数据库交互时&#xff0c;数据的读取方式有多种选择&#xff0c;包括流式读取、游标读取和普通读取。每种方式都有其独特的原理、优势和劣势。本文将对这三种读取方式进行详细介绍&#xff0c; 1. 普通读取 介绍 普通读取是指通过JDBC的Statement或PreparedStateme…

【畅购商城】微信支付之支付模块

目录 支付页面 接口 后端实现 前端实现​​​​​​​ ​​​​​​​支付页面 步骤一&#xff1a;创建 flow3.vue组件 步骤二&#xff1a;引入第三方资源&#xff08;js、css&#xff09; <script> import TopNav from ../components/TopNav import Footer from …

如何在 Ubuntu 上安装 PyTorch

简介 PyTorch 因其易用性、动态计算图和高效性而日益流行&#xff0c;成为实现深度学习模型的首选。如果你想探索这个工具并学习如何在 Ubuntu 上安装 PyTorch&#xff0c;本指南将对你有所帮助&#xff01; 在本教程中&#xff0c;我们将引导你完成在 Ubuntu 系统上使用 Pip…

如何设置Edge浏览器访问软件

使用Edge浏览器访问分销ERP A\V系列软件时会出现各种报错&#xff0c;如何设置Edge浏览器使其正常访问&#xff0c;请看下面的具体操作。 一、打开Edge浏览器&#xff0c;点击右上角的 设置及其他&#xff0c;如图&#xff1a; 二、在弹出界面中&#xff0c;点击 扩展&#xff…

ASP.NET Web应用程序出现Maximum request length exceeded报错

一、问题描述 在ASP.NET的web应用中&#xff0c;导出数据时出现500 - Internal server error.Maximum request length exceeded。 二、原因分析 这个错误通常出现在Web应用程序中&#xff0c;表示客户端发送的HTTP请求的长度超过了服务器配置的最大请求长度限制。这可能是因为…

springboot配置oracle+达梦数据库多数据源配置并动态切换

项目场景&#xff1a; 在工作中很多情况需要跨数据库进行数据操作,自己总结的经验希望对各位有所帮助 问题描述 总结了几个问题 1.识别不到mapper 2.识别不到xml 3.找不到数据源 原因分析&#xff1a; 1.配置文件编写导致识别mapper 2.配置类编写建的格式有问题 3.命名…

大数据技术-Hadoop(一)Hadoop集群的安装与配置

目录 一、准备工作 1、安装jdk&#xff08;每个节点都执行&#xff09; 2、修改主机配置 &#xff08;每个节点都执行&#xff09; 3、配置ssh无密登录 &#xff08;每个节点都执行&#xff09; 二、安装Hadoop&#xff08;每个节点都执行&#xff09; 三、集群启动配置&a…