Hadoop集群配置——1

2023-11-03

参考《Python+Spark 2.0+Hadoop机器学习与大数据实战_林大贵(著) 清华大学出版社》

一、Hadoop集群

Hadoop集群需要4台服务器才可以建立,可以进行并行处理,所以在虚拟机上创建了master、data1~data3四个服务器。
计算机master在HDFS中作为NameNode,在MapReduce2中作为ResourceManager
计算机data1~data3在HDFS中作为DataNode,在MapReduce2中作为NodeManager
在这里插入图片描述

二、Hadoop集群的安装

安装步骤:

在这里插入图片描述

1、复制之前安装的单个Hadoop服务器,创建data1虚拟机

(在virtualBox中直接完全复制即可)

2、在virtualBox中设置data1的网卡

在每一台虚拟主机上设置两个网卡(在virtualBox管理器界面上的设置)

  • 网卡1:设置为“NAT网卡”,通过Host主机(windows)连接外部网络
  • 网卡2:设置为“仅主机适配器”,创建内部网络,用于连接四个虚拟主机与Host主机
    在这里插入图片描述
3、设置data1服务器

固定IP、hostname、core-site.xml、YARN-site.xml、mapred-site.xml、hdfs-site.xml
(1)编辑interfaces网络配置文件
每次开机固定IP:192.168.56.101

sudo gedit /etc/network/interfaces

设置网卡1:
设置为“NAT网卡”,通过Host主机连接外部网络,设置为eth0,并设置dhcp自动获得IP地址
设置网卡2:
“仅主机适配器”,建立内部网络。设置为eth1,并设置为static,指定固定IP

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback 
 
#NAT interface
auto eth0 
iface eth0 inet dhcp
 
#host only interface 
auto eth1
iface eth1 inet static 
address        192.168.56.101 
netmask        255.255.255.0 
network        192.168.56.0 
dns-nameservers   192.168.56.1

(2)编辑hostname主机名

sudo gedit /etc/hostname

输入:data1
(3)编辑hosts文件
可以让网络中所有计算机都知道其他计算机的主机名和IP,hosts文件可以储存计算机网络中各节点的信息,负责将主机名映射到对应的IP地址。

sudo gedit /etc/hosts

在文件中设置各节点的主机名与对应的IP

127.0.0.1	localhost
127.0.1.1	hadoop

192.168.0.104 master 
192.168.0.101 data1 
192.168.0.102 data2 
192.168.0.103 data3

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

(4)编辑core-site.xml
设置HDFS的默认名称,可使用此名称来存取HDFS

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

localhost改为master,之后可通过hdfs://master:9000存取HDFS
在这里插入图片描述
(5)编辑YARN-site.xml
此文件是MapReduce2相关配置

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

文件中输入
ResourceManger主机与NodeManager连接地址为8025
ResourceManger与ApplicationMaster连接地址为8030
ResourceManger与客户端连接地址为8050

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8025</value> 
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value> 
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8050</value> 
</property>

(6)编辑mapred-site.xml
监控Map与Reduce的JobTracker任务分配情况,以及任务运行情况

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

输入

<property>
   <name>mapred.job.tracker</name>
   <value>master:54311</value> 
</property>

(7)编辑hdfs-site.xml
用于设置HDFS分布式文件系统的配置,data1只是单纯的DataNode,所以删除NameNode设置

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

在这里插入图片描述
(8)data1重启
(9)重启后确定网络设置

ifconfig

可以看到有两个网卡,网卡二的内部IP是192.168.56.101
在这里插入图片描述
(10)打开网页看外网连接是否正常,并关闭data1

4、复制data2、data3、master

选择虚拟机进行内存设置(主要由Host主机的内存大小决定)
选择虚拟机–>系统–>内存大小
Host为8G时,master:2GB、data1:1GB、data2:1GB、data3:1GB
Host为16G时,master:4GB、data1:2GB、data2:2GB、data3:2GB

5、设置data2、data3、master服务器

(1)设置data2固定IP地址
设置固定IP为:192.168.56.102

sudo gedit /etc/network/interfaces

在address中改为192.168.56.102
(2)编辑hostname文件
改为data2

sudo gedit /etc/hostname

(3)同理修改data3(192.168.56.103)和master(192.168.56.100)
(4)在master中编辑hdfs-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

master只是单纯作为NameNode,所以删除DataNode的HDFS设置,并加入NameNode的HDFS设置

<property>
   <name>dfs.replication</name>
   <value>3</value> 
</property>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value> 
</property>

(5)在master中编辑master文件
用于告诉hadoop系统哪一台服务器是NameNode

sudo gedit /usr/local/hadoop/etc/hadoop/masters

输入:master
(6)在master中编辑slaves文件
用于告诉hadoop系统哪些服务器是DataNode

sudo gedit /usr/local/hadoop/etc/hadoop/slaves

输入

data1 
data2 
data3

(7)配置好后都可以重启并输入ifconfig查看网络设置

6、master连接data1、data2、data3,创建HDFS目录

创建NameNode(master)的ssh连接到DataNode(data1、data2、data3),并创建HDFS相关目录
(1)启动所有服务器
(2)在master中通过SSH连接到data1服务器

ssh data1

hduser@master变成hduser@data1就是连接成功
(3)创建HDFS目录
删除HDFS所有目录

sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs

创建DataNode存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode

将目录所有者改为hduser

sudo chown -R hduser:hduser /usr/local/hadoop

退出,回到master

exit

(4)重复步骤3,完成对data2、data3的设置

7、创建并格式化NameNode HDFS目录

(1)重新创建NameNode HDFS目录
删除HDFS所有目录

sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs

创建DataNode存储目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode

将目录所有者改为hduser

sudo chown -R hduser:hduser /usr/local/hadoop

(2)格式化NameNode HDFS目录
之前已经创建了NameNode和DataNode的HDFS目录

hadoop namenode -format
8、启动Hadoop Multi Node Cluster

之前完成了Hadoop集群的构建,下面分别启动HDFS和YARN

start-dfs.sh 
start-yarn.sh

或者启动全部:

start-all.sh

**注意:**master、data1、data2、data3的秘钥都要相同,如果有改动可以用master中的秘钥进行复制

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

或者:PermitEmptyPasswords 参数值修改为yes

sudo gedit /etc/ssh/sshd_config

(1)查看master(namenode)进程(process)
在master中输入jps可以用于查看当前所运行的进程

jps

(2)查看data1(datanode)进程
连接data1虚拟机:ssh data1
查看进程:jps
回到master:exit
(3)打开Hadoop ResourceManager web界面

http://master:8088/

打开NameNode Web界面

http://master:50070/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hadoop集群配置——1 的相关文章

  • vue vue-json-viewer 展示 JSON 格式数据

    1 下载 vue json viewer npm 下载 vue json viewer Vue2 npm install vue json viewer 2 save Vue3 npm install vue json viewer 3 s
  • MS Active Accessibility 接口技术编程尝试

    MS Active Accessibility 接口技术编程尝试 编译 崔传凯 下载源代码 Microsoft Active Accessibility 2 0 is a COM based technology that improves
  • 【Ogre编程入门与进阶】第十三章 公告板与粒子系统

    Ogre编程入门与进阶 第十三章 公告板与粒子系统 标签 ogre公告板粒子系统ogre粒子系统 2015 07 05 14 41 1365人阅读 评论 1 收藏 举报 分类 Orge模块 16 版权声明 本文为博主原创文章 未经博主允许不
  • 计算机电源接口图解,菜鸟老鸟都要知道 电源接口图文全教程

    IT168 应用 电源的功率一直是玩家们关注的焦点 可对于刚涉足DIY领域的用户来说 自己组装DIY一台电脑拿才是最令人兴奋的事情 组装电脑少不了要接各种各样的线材 那么如何辨别各种类型的接口 每个接口之间的的功能有何区别呢 电源接口种类繁
  • 微信小程序之分享页面内容为空

    文章目录 错误记录 分享的关键方法 onShareAppMessage 错误记录 分享出去的页面 别人打开没有内容 解决方法参考文章 说是因为分享出去的页面的某些数据是上级页面传递过来的 结果直接分享出去的页面 别人打开是获取不到传递过来的
  • leetcode 二叉树题目总结

    leetcode 二叉树题目总结 一 基本问题 遍历 前序遍历 后序遍历 中序遍历 莫里斯遍历 空间复杂度O 1 层次遍历 由序列构造二叉树 递归解决二叉树问题 将二叉树转换为其他结构 二叉树结构 struct TreeNode int v
  • nrm安装(NPM源管理器)

    1 什么是nrm nrm 是一个 npm 源管理器 允许你快速地在 npm源间切换 npm默认情况下是使用npm官方源 使用命令可以查看 一般我们都会用淘宝npm源 设置淘宝源 npm set registry https registry
  • 智能小车之PWM脉冲控制小车调速

    目录 一 PWM脉冲控制小车调速 二 代码实现 一 PWM脉冲控制小车调速 原理 全速前进是LeftCon1A 0 LeftCon1B 1 完全停止是LeftCon1A 0 LeftCon1B 0 那么单位时间内比如 20ms 有15ms是
  • java keytool 工具

    Keytool 是一个JAVA环境下的安全钥匙与证书的管理工具 Keytool将密钥 key 和证书 certificates 存在一个称为keystore 的文件 受密码保护 中 在keystore里 包含两种数据 密钥实体 Key en
  • 【编程之路】Python编程进阶

    Python编程进阶 不使用中间变量 交换两个变量a和b的值 a b b a 需要注意 a b b a 这种做法其实并不是元组解包 虽然很多人都这样认为 Python 字节码指令中有 ROT TWO 指令来支持这个操作 类似的还有 ROT
  • JAVASE-01:基础概念知识及学习环境配置

    JAVASE 01 基础概念知识及学习环境配置 Java语言发展史 詹姆斯 高斯林 James Gosling 1977年获得了加拿大卡尔加里大学计算机科学学士学位 1983年获得了美国卡内基梅隆大学计算机科学博士学位 毕业后到IBM工作
  • 最新暴力破解漏洞技术详解

    点击星标 即时接收最新推文 本文选自 web安全攻防渗透测试实战指南 第2版 点击图片五折购书 暴力破解漏洞简介 暴力破解漏洞的产生是由于服务器端没有做限制 导致攻击者可以通过暴力的手段破解所需信息 如用户名 密码 短信验证码等 暴力破解的
  • 操作系统的特征

    四个特征 并发 共享 虚拟 异步 一 并发 1 并发概念 指两个或者多个事件在同一时间间隔内发生 这些事件宏观上是同时发生的 但是在微观上是交替发生的 操作系统的并发性是指 计算机系统同时存在着多个运行着的程序 操作系统和程序并发是一起诞生
  • 小米再次翻车!学python一定要看这篇!!

    小米英国官方推特近日发布了一则营销推文 调侃了最近火热的比尔 盖茨离婚事件 推文图片中为信息页面 收件人为梅琳达 信息内容为 我们需要谈谈 而且推文下方显示小尾巴为 iPhone 推文内容为 虽然和你的亿万富翁合作伙伴分手可能不是明智的选择
  • C语言中长度为0的数组

    前面在看Xen的源码时 遇到了一段代码 如下所示 注意上面最后一行的代码 这里定义了一个长度为的数组 这种用法可以吗 为什么可以使用长度为0 的数组 长度为的数组到底怎么使用 这篇文章主要针对该问题进行简单的讲解 废话不多说了 现在就开始
  • 9-5&9-6&9-7 Java常用类----System类、Math类、 BigInteger类、BigDecimal类

    System类 1 System类代表系统 系统级的很多属性和控制方法都放置在该类的内部 该类位于java lang包 2 由于该类的构造器是private的 所以无法创建该类的对象 也就是无法实例化该类 其内部的成员变量和成员方法都是st
  • 【附源码】Java计算机毕业设计社区私家车位共享收费系统(程序+LW+部署)

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 java mybatis M
  • Air780E

    目录 基础资料 探讨重点 实现功能 硬件准备 软件版本 软件使用 串口工具 主要步骤 1 SIM卡状态检查及激活PDP 2 关于SSL配置 3 通过TCP连接到MQTT服务器 4 订阅或者发布消息 4 1 订阅主题 AT MSUB 4 2
  • VUE for循环 默认选中第一条数据

    for循环渲染列表默认选中第一条数据 点击其他选项切换数据 div div class Subtitle style padding 5px 40px 项目清单 div div class project manifest div clas
  • 【MySQL进阶】SQL性能分析

    一 SQL性能分析 1 SQL执行频率 MySQL 客户端连接成功后 通过 show session global status 命令可以提供服务器状态信 息 通过如下指令 可以查看当前数据库的 INSERT UPDATE DELETE S

随机推荐

  • Linux安装MySQL 5.7

    一 下载MySQL 官网地址 下载 mysql 5 7 37 linux glibc2 12 x86 64 tar gz 二 安装MySQL 1 1 连接Shell cd usr local 切换到此目录下 1 2 把MySQL包传到she
  • FPGA学习笔记4 --modesim软件仿真

    modesim软件仿真 一 手动仿真 二 联合仿真 一 手动仿真 1 添加路径 2 新建工程 3 添加源文件 4 编译文件 5 启动仿真 6 信号添加到波形里 7 运行 二 联合仿真 1 首先电脑要安装ModelSim软件 注意安装路径不要
  • Neo4j 快速入门

    Neo4j 快速入门 neo4j 官方文档 https neo4j com docs neo4j 中文社区 http neo4j com cn neo4j 开发者页面 https neo4j com developer Neo4j安装 a
  • 计算机键盘正确指法,键盘指法,详细教您盲打及快速打字指法练习的步骤

    有些人在用电脑打字的时候 会打的特别快 最快的时候能够一分钟打上八九十个字 而这样的打字速度也是靠平时的练就打字功力得来的 那么键盘指法打字如何才能将字打的准备又快呢 别着急 小编现在就来给你们普及一下这方面的知识 学会正确的键盘指法打字
  • 1.2 编程语言选择

    1 2 编程语言和城市选择 商业网站开发课 编程语言选择 后端开发语言 特点 排名网站 https hellogithub com report tiobe 薪资 参考2022年智联招聘 深圳初级和中级薪资 通用技能 操作系统 Linux
  • 在网络安全解决方案中使用数据挖掘技术

    网络安全 英语 network security 包含网络设备安全 网络信息安全 网络软件安全 黑客通过基于网络的入侵来达到窃取敏感信息的目的 也有人以基于网络的攻击见长 被人收买通过网络来攻击商业竞争对手企业 造成网络企业无法正常营运 网
  • 【ChatGPT实战案例】Excel代码太多记不住怎么办?ChatGPT来帮你高效解决问题

    目录 适合人群 使用工具 制作步骤 示例1 Excel数据分列 示例2 Excel数据提取 适合人群 会Excel基本操作 但是不懂Excel公式编写的人 使用工具 内容生产工具 如ChatGPT 讯飞星火认知模型 文心一言等 EXCEL文
  • LeetCode1748. 唯一元素的和(python)

    题目 给你一个整数数组 nums 数组中唯一元素是那些只出现 恰好一次 的元素 请你返回 nums 中唯一元素的 和 示例 1 输入 nums 1 2 3 2 输出 4 解释 唯一元素为 1 3 和为 4 示例 2 输入 nums 1 1
  • VCF变异文件读取和详细

    下载了千人基因组variants数据 是 vcf gz和 vcf gz tbi文件格式 需要在linux上打开 此时我还是一个生信小菜鸡 记录一下vcf文件读取和详细解释 在服务器先解压再打开 gunzip 文件 vcf gz cat 文件
  • 弹性盒模型学习

    一 弹性盒布局 1 弹性盒布局的容器指的是采用了弹性布局的DOM元素 而弹性布局的条目指的是容器中包含的子DOM元素 最外围的边框表示的是容器 而编号1和2的边框表示的是容器中的条目 弹性盒布局中有两个相互垂直的坐标轴 一个是主轴 另一个称
  • 【UE虚幻引擎】UE源码版编译、Andorid配置、打包

    首先是要下载源码版的UE 我这里下载的是5 2 1 首先要安装Git 在你准备放代码的文件夹下右键点击Git Bash Here 然后可以直接git clone https github com EpicGames UnrealEngine
  • 51单片机播放音乐(一):蜂鸣器

    51单片机播放音乐 一 蜂鸣器 原理 蜂鸣器 乐谱转成循环次数 单片机代码 仿真电路图 本文完整源码 原理 蜂鸣器 蜂鸣器分为有 震动 源的和无源的 有源的无法控制频率 所以用无源的才能播放音乐 无源蜂鸣器需要自己控制输入变化的信号才能发声
  • Rstudio MarkDown使用教程

    认识MarkDown MarkDown是一种轻量级的 标记语言 它的优点很多 目前也被越来越多的写作爱好者 撰稿者广泛使用 Markdown 的语法十分简单 常用的标记符号也不超过十个 对于大学里掌握了多门语言的我们来说 这种不需要思维 仅
  • R语言—如何下载和使用包

    R语言中有非常多的包 每个包都具有不同的功能 因此 在正式的R语言学习之前 需要学会如何下载和安装R的包 以此进行下一步学习 install packages 安装 1 打开RStudio软件 在RStudio中输入代码install pa
  • 实现增删查改

    核心代码 增 myModel Table1 Add data 删 myModel Table1 Remove data 查 var data myModel Table1 ToList 改 myModel Entry data State
  • js 随机获取数组几个内容

    function getRandomArrayElements arr count var shuffled arr slice 0 i arr length min i count temp index while i gt min in
  • HTML <textarea> 标签

    实例
  • C++设计模式——观察者模式

    观察者模式 Observer 观察者模式是目前应用最广 影响范围最大的模式之一 因为 Observer 的一个实例Model View Control MVC 结构在系统开发架构设计中有着很重要的地位和意义 MVC实现了业务逻辑和表示层的解
  • 羞愧的“码龄3年”开篇之作

    打开账号发现码龄已经三年了 已经忘记了是什么情况之下注册了账号 怎能让账号下空空如也 先来个开篇之作留个痕迹 源于前两天学习了一下脚本语言 今天做一个内容回顾记录一下 以下是学习过程中有些不懂得地方查了各个博客后的整体总结 只针对于个人的只
  • Hadoop集群配置——1

    参考 Python Spark 2 0 Hadoop机器学习与大数据实战 林大贵 著 清华大学出版社 一 Hadoop集群 Hadoop集群需要4台服务器才可以建立 可以进行并行处理 所以在虚拟机上创建了master data1 data3