「大数据-2.0」安装Hadoop和部署HDFS集群
目录
一、下载Hadoop安装包
二、安装Hadoop
0. 安装Hadoop前的必要准备
1. 以root用户登录主节点虚拟机
2. 上传Hadoop安装包到主节点
3. 解压缩安装包到/export/server/目录中
4. 构建软链接
三、部署HDFS集群
0. 集群部署规划
1. 进入hadoop安装包内
2 进入etc目录下的hadoop目录
3. 配置workers文件
4. 配置hadoop-env.sh文件
5.配置core-site.xml文件
6.配置hdfs-site.xml文件
7. 准备数据目录
8. 分发Hadoop文件夹
三、配置环境变量
四、为Hadoop用户授权
五、格式化HDFS文件系统
1. 格式化namenode
2. 一键启动hdfs集群
3. 使用jps检查运行中的进程
4. 查看HDFS WEBUI
六、拍摄快照保存配置好的虚拟机
七、启动和关闭HDFS集群
1. 一键启动HDFS集群
2. 一键关闭HDFS集群
一、下载Hadoop安装包
1. 官网下载
2. 百度网盘链接 提取码:2233
二、安装Hadoop
0. 安装Hadoop前的必要准备
在开始部署前,请确认已经完成前置准备中的服务器创建、固定IP、防火墙关闭、Hadoop用户创建、SSH免密、JDK部署等操作。 如果不确定,请看博主文章:http://t.csdn.cn/YlUi5
1. 以root用户登录主节点虚拟机
如博主的主节点为node1,所以在node1虚拟机中以root身份登录,进入/export/server/目录下。
2. 上传Hadoop安装包到主节点
将下载好的压缩包拖拽到远程终端软件 或 在远程终端软件中使用rz命令。
3. 解压缩安装包到/export/server/目录中
1. 进入/export/server/目录: cd /export/server/2. 解压到当前目录下: tar -zxvf hadoop-3.3.4.tar.gz
4. 构建软链接
ln -s /export/server/hadoop-3.3.4 hadoop
三、部署HDFS集群
0. 集群部署规划
1. 进入hadoop安装包内
cd hadoop
Hadoop安装包的目录结构:
现在是集群部署的配置阶段,我们着重于etc目录。
2 进入etc目录下的hadoop目录
cd /etc/hadoop
接下来主要要对以下四个文件进行配置:
3. 配置workers文件
workers文件的作用是记录大数据集群中的从节点服务器。
配置步骤:
1. 使用vim打开workers: vim workers2. 按i进入插入模式3. 删除原来的lockhoot4. 写入: node1 node2 node35. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!强制保存并退出。
4. 配置hadoop-env.sh文件
hadoop-env.sh文件的作用是记录Hadoop在运行时会用到的一些环境变量。
配置步骤:
1. 使用vim打开hadoop-env.sh: vim hadoop-env.sh2. 按i进入插入模式3. 找个空白的地方(最上面)写入: export JAVA_HOME=/export/server/jdk export HADOOP_HOME=/export/server/hadoop export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR=$HADOOP_HOME/logs4. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!强制保存并退出。说明: JAVA_HOME,指明JDK环境的位置在哪 HADOOP_HOME,指明Hadoop安装位置 HADOOP_CONF_DIR,指明Hadoop配置文件目录位置 HADOOP_LOG_DIR,指明Hadoop运行日志目录位置 通过记录这些环境变量, 来指明上述运行时的重要信息
5.配置core-site.xml文件
该文件的作用是配置一些自定义设置,我们要在这里配置NameNode(主节点)的启动和缓冲区大小。
配置步骤:
1. 使用vim打开core-site.xml: vim core-site.xml2. 找到标签<configuration></configuration>3. 按i进入插入模式,在标签中间写入:<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value></property><property><name>io.file.buffer.size</name><value>131072</value></property>4. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!强制保存并退出。说明: 1.key:fs.defaultFS 含义:HDFS文件系统的网络通讯路径 值:hdfs://node1:8020 协议为hdfs:// namenode(主节点)为node1 namenode(主节点)通讯端口为8020 2.key:io.file.buffer.size 含义:io操作文件缓冲区大小 值:131072 bit 3.hdfs://node1:8020为整个HDFS内部的通讯地址,应用协议为hdfs://(Hadoop内置协议) 表明DataNode(从节点)将和node1的8020端口通讯,node1是NameNode(主节点)所在机器 此配置固定了node1必须启动NameNode(主节点)进程
6.配置hdfs-site.xml文件
该文件的作用也是配置一些自定义设置,我们要在这里配置:默认创建的文件权限、主节点数据的存储位置、NameNode(主节点)允许哪几个节点的DataNode(从节点)连接(即允许加入集群)、hdfs默认块大小、Namenode(主节点)处理的并发线程数、从DataNode(从节点)的数据存储目录。
配置步骤:
1. 使用vim打开hdfs-site.xml: vim hdfs-site.xml2. 找到标签<configuration></configuration>3. 按i进入插入模式,在标签中间写入:<property><name>dfs.datanode.data.dir.perm</name><value>700</value></property><property><name>dfs.namenode.name.dir</name><value>/data/nn</value></property><property><name>dfs.namenode.hosts</name><value>node1,node2,node3</value></property><property><name>dfs.blocksize</name><value>268435456</value></property><property><name>dfs.namenode.handler.count</name><value>100</value></property><property><name>dfs.datanode.data.dir</name><value>/data/dn</value></property>4. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!强制保存并退出。说明: 1.key:dfs.datanode.data.dir.perm 含义:hdfs文件系统,默认创建的文件权限设置 值:700,即:rwx------ 2.key:dfs.namenode.name.dir 含义:NameNode(主节点)元数据的存储位置 值:/data/nn,在node1节点的/data/nn目录下 3.key:dfs.namenode.hosts 含义:NameNode(主节点)允许哪几个DataNode(从节点)连接(即允许加入集群) 值:node1、node2、node3,这三台服务器被授权 4.key:dfs.blocksize 含义:hdfs默认块大小 值:268435456(256MB) 5.key:dfs.namenode.handler.count 含义:Namenode(主节点)处理的并发线程数 值:100,以100个并行度处理文件系统的管理任务 6.key:dfs.datanode.data.dir 含义:DataNode(从节点)的数据存储目录 值:/data/dn,即数据存放在node1、node2、node3,三台机器的/data/dn内
7. 准备数据目录
在之前的配置中,只是指定了主节点和从节点的数据放在哪个文件,但我们还没有真正的创建这些文件,现在我们就是要创建这些文件。
在上一步中的配置中,我们把 namenode数据存放在node1虚拟机的/data/nn目录下;datanode数据存放在node1、node2、node3虚拟机的/data/dn目录下。
所以我们要在node1虚拟机创建/data/nn目录和/data/dn目录;在node2、node3虚拟机创建/data/dn目录(不要少了data前面的/)。
步骤:
1.在node1虚拟机: mkdir -p /data/nn mkdir -p /data/dn2.在node2和node3虚拟机: mkdir -p /data/dn
8. 分发Hadoop文件夹
目前,已经基本完成Hadoop的配置操作,可以从node1将hadoop安装文件夹远程复制到node2、node3(通过scp命令)。
步骤:
1. 在node1虚拟机执行如下命令 cd /export/server scp -r hadoop-3.3.4 node2:`pwd`/ scp -r hadoop-3.3.4 node3:`pwd`/2. 在node2执行如下命令,为hadoop配置软链接 ln -s /export/server/hadoop-3.3.4 /export/server/hadoop3. 在node3执行如下命令,为hadoop配置软链接 ln -s /export/server/hadoop-3.3.4 /export/server/hadoop
三、配置环境变量
为了方便我们操作Hadoop,可以将Hadoop的一些脚本、程序配置到PATH中(通过配置profile文件),方便后续使用。
1. 修改/etc目录下的profile文件:
1. 使用vim打开/etc下的profile文件: vim /etc/profile2. 按i进入插入模式,在末尾追加写入: export HADOOP_HOME=/export/server/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin3. 按下Esc退出插入模式,按下Shift+:进入底行模式,按下wq!强制保存并退出。
2. 启动上面的配置
source /etc/profile
3. 在node2和node3虚拟机中重复上面的步骤。
四、为Hadoop用户授权
到了这里,hadoop部署的准备工作基本完成,为了确保安全,hadoop系统不以root用户启动,我们以普通用户hadoop来启动整个Hadoop服务。所以,现在需要对文件权限进行授权。
1. 以root身份,在node1、node2、node3三台虚拟机上均执行如下命令:
# 以root身份,在三台服务器上均执行 chown -R hadoop:hadoop /data chown -R hadoop:hadoop /export
2. 检查
五、格式化HDFS文件系统
前期准备全部完成,现在对整个文件系统执行初始化,以下命令在主节点虚拟机node1中执行即可。
1. 格式化namenode
1. 在主节点虚拟机node1中切换到hadoop用户 su - hadoop 2. 格式化namenode hadoop namenode -format
这样表示格式化成功了
2. 一键启动hdfs集群
1. 回到根目录 cd 2. 一键启动hdfs集群 start-dfs.sh
3. 使用jps检查运行中的进程
在终端中输入jps,如果显示内容像图片中的一样基本上表示整个配置都成功了:
如果jps中没有Datanode,证明clusterID有问题:
原因是多次格式化NameNode会重新生成新的clusterID(集群ID)
我们要做的是在主节点node1下找到正确的clusterID,然后更改所有从节点的clusterID。
步骤:
1. 进入node1虚拟机下的/data/nn/current/目录 cd /data/nn/current/2. 打开VERSION文件 vim VERSION3. 复制clusterID4. 退出,然后进入/data/dn/current/目录 cd /data/dn/current/5. 打开VERSION文件, 然后用刚才复制的内容替换这里的clusterID6. 进入node2虚拟机下的/data/dn/current/目录 cd /data/dn/current/7. 打开VERSION文件, 然后用刚才复制的内容替换这里的clusterID8. 进入node3虚拟机下的/data/dn/current/目录 cd /data/dn/current/9. 打开VERSION文件, 然后用刚才复制的内容替换这里的clusterID
4. 查看HDFS WEBUI
启动Hadoop后,可以在浏览器打开: http://node1:9870,即可查看到hdfs文件系统的管理网页。
能够打开这个网址,且Live Nodes 为3,就表示我们的Hadoop部署完全成功了!
六、拍摄快照保存配置好的虚拟机
0. 为什么需要拍摄快照?
拍快照相当于给当前虚拟机的配置做一个备份,将来有问题,直接按照快照还原虚拟机即可,不需要删除再重新配置。
1. 在VMware将所有虚拟机关机
2. 拍摄快照
3. 如何使用快照恢复?
七、启动和关闭HDFS集群
Hadoop HDFS组件内置了HDFS集群的一键启停脚本。
1. 一键启动HDFS集群
$HADOOP_HOME/sbin/start-dfs.sh
2. 一键关闭HDFS集群
$HADOOP_HOME/sbin/stop-dfs.sh
关闭虚拟机前一定要先关闭HDFS集群,然后用 init 0 断开Xshell等远程连接!
------------------------END-------------------------
才疏学浅,谬误难免,欢迎各位批评指正。
相关文章:
「大数据-2.0」安装Hadoop和部署HDFS集群
目录 一、下载Hadoop安装包 二、安装Hadoop 0. 安装Hadoop前的必要准备 1. 以root用户登录主节点虚拟机 2. 上传Hadoop安装包到主节点 3. 解压缩安装包到/export/server/目录中 4. 构建软链接 三、部署HDFS集群 0. 集群部署规划 1. 进入hadoop安装包内 2 进入etc目录下的hadoop…...
文档在线预览word、pdf、excel文件转html以实现文档在线预览
目录 一、前言 1、aspose2 、poi pdfbox3 spire二、将文件转换成html字符串 1、将word文件转成html字符串 1.1 使用aspose1.2 使用poi1.3 使用spire2、将pdf文件转成html字符串 2.1 使用aspose2.2 使用 poi pbfbox2.3 使用spire3、将excel文件转成html字符串 3.1 使用aspose…...
FFmpeg视音频分离器----向雷神学习
雷神博客地址:https://blog.csdn.net/leixiaohua1020/article/details/39767055 本程序可以将封装格式中的视频码流数据和音频码流数据分离出来。 在该例子中, 将FLV的文件分离得到H.264视频码流文件和MP3 音频码流文件。 注意: 这个是简化版…...
CentOS 8开启bbr
CentOS 8 默认内核版本为 4.18.x,内核版本高于4.9 就可以直接开启 BBR,所以CentOS 8 启用BBR非常简单不需要再去升级内核。 开启bbr echo "net.core.default_qdiscfq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_contro…...
Redis的安装与基本使用
文章目录 Linux 环境下安装Redis下载Redis 安装包解压安装包安装Redis进入redis安装包下编译并且安装到指定目录下 启动redis配置远程访问找到Redis.config文件 Windows 环境下安装Redis说明官方提供方式安装或启用WSL2在WSL(Ubuntu)上安装Redis启动Redi…...
2014 款金旅牌小型客车 发动机怠速抖动、加速无力
故障现象 一辆2014款金旅牌小型客车,搭载JM491Q-ME发动机,累计行驶里程约为20万km。车主反映,最近该车发动机怠速抖动、加速无力,且经常缺少冷却液。 故障诊断 根据车主描述的故障现象,初步判断该车气缸垫损坏&#…...
R语言逻辑回归、决策树、随机森林、神经网络预测患者心脏病数据混淆矩阵可视化...
全文链接:https://tecdat.cn/?p33760 众所周知,心脏疾病是目前全球最主要的死因。开发一个能够预测患者心脏疾病存在的计算系统将显著降低死亡率并大幅降低医疗保健成本。机器学习在全球许多领域中被广泛应用,尤其在医疗行业中越来越受欢迎。机器学习可…...
网站被劫持了怎么办
网站被劫持了怎么办 建议新建一个index.html文件,文件中只写几个数字,上传到网站根目录,然后访问网站域名,看看是不是正常,从而可以确定是程序问题还是域名被劫持的问题。 如果是域名被劫持,你可以登录你的…...
【面试题精讲】Java包装类缓存机制
有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top 首发博客地址[1] 面试题手册[2] 系列文章地址[3] 1. 什么是 Java 包装类缓存机制? Java 中的包装类(Wrapper Class)是为了将…...
网络相关知识
0 socket SOCK_DGRAM #无连接UDP SOCK_STREAM #面向连接TCP 1 UDP 1.1 检测UDP yum install -y nc 使用netcat测试连通性 服务器端启动 UDP 30003 端口 nc -l -u 30003 客户端连接服务器的30003端口(假设服务的IP地址是119.23.67.12) nc -u 119…...
商品冷启动推荐综述
About Me: LuckBoyPhd/Resume (github.com) (1)一种基于三部图网络的协同过滤算法 推荐系统是电子商务领域最重要的技术之一,而协同过滤算法又是推荐系统用得最广泛的.提出了一种基于加权三部图网络的协同过滤算法,用户、产品及标签都被考虑到算法中,并且研究了标签结点的度对…...
GEO生信数据挖掘(二)下载基因芯片平台文件及注释
检索到目标数据集后,开始数据挖掘,本文以阿尔兹海默症数据集GSE1297为例 目录 下载平台文件 1.AnnotGPL参数改为TRUE,联网下载芯片平台的soft文件。(国内网速奇慢经常中断) 2.手工去GEO官网下载 转换芯片探针ID为gene name 拓…...
淘宝电商必备的大数据应用
在日常生活中,大家总能听到“大数据”“人工智能”的说法。现在的大数据技术应用,从大到巨大科学研究、社会信息审查、搜索引擎,小到社交联结、餐厅推荐等等,已经渗透到我们生活中的方方面面。到底大数据在电商行业可以怎么用&…...
Docker版部署RocketMQ开启ACL验证
一、拉取镜像 docker pull apache/rocketmq:latest 二、准备挂载目录 mkdir /usr/local/rocketmq/data mkdir /usr/local/rocketmq/conf 三、运行 docker run \ -d \ -p 9876:9876 \ -v /usr/local/rocketmq/data/logs:/home/rocketmq/logs \ -v /usr/local/rocketmq/data…...
【RabbitMQ实战】04 RabbitMQ的基本概念:Exchange,Queue,Channel等
一、简介 Message Queue的需求由来已久,80年代最早在金融交易中,高盛等公司采用Teknekron公司的产品,当时的Message queuing软件叫做:the information bus(TIB)。 TIB被电信和通讯公司采用,路透…...
APACHE NIFI学习之—RouteOnAttribute
RouteOnAttribute 描述: 使用属性表达式语言根据其属性路由数据流,每个表达式必须返回Boolean类型的值(true或false)。 标签: attributes, routing, Attribute Expression Language, regexp, regex, Regular Expression, Expression Language, 属性, 路由, 表达式, 正则…...
防火墙网络接口下面多个外网地址,只有第一地址可以访问通其他不通
环境: 主备防火墙 8.0.75 AF-2000-FH2130B-SC 问题描述: 两台防火墙双击热备,高可用防火墙虚拟网络接口Eth4下面有多个外网地址,只有第一地址可以访问通其他不通 解决方案: 1.检查防火墙路由设置(未解决…...
【HTTP】URL结构、HTTP请求和响应的报文格式、HTTP请求的方法、常见的状态码、GET和POST有什么区别、Cookie、Session等重点知识汇总
目录 URL格式 HTTP请求和响应报文的字段? HTTP请求方法 常见的状态码 GET 和 POST 的区别 Cookie 和 Session URL格式 ?:是用来分割URL的主体部分(通常是路径)和查询字符串(query string)…...
苹果mac电脑显示内存不足如何解决?
忍痛删应用、删文档、删照片视频等等一系列操作都是众多Mac用户清理内存空间的方法之一,悲催的是一顿“猛如虎的操作”下,释放出来的内存空间却少的可怜,原因很简单,这样释放内存空间是无效的。如何合理有效的清理内存空间&#x…...
如何在Windows 10上安装Go并搭建本地编程环境
引言 Go是在谷歌的挫折中诞生的编程语言。开发人员不得不不断地选择一种执行效率高但需要长时间编译的语言,或者选择一种易于编程但在生产环境中运行效率低的语言。Go被设计为同时提供这三种功能:快速编译、易于编程和在生产中高效执行。 虽然Go是一种通用的编程语…...
[Realtek sdk-3.4.14b]RTL8197FH-VG 2.4G to WAN吞吐量低于60%的问题分析及解决方案
问题描述 RTL8197FH-VG 2.4G wifi to WAN吞吐量低于65%的标准,正常2T2R的wifi 300Mbps x 65% = 195Mbps,但是实际只能跑到160Mbps,这个时候CPU的idl已经为0,sirq占用率达到98%左右 网络拓扑 一台PC通过2.4G WiFi连接到RTL8197FH-VG,另外一台PC直接通过WAN口连接到RTL8197…...
软件设计模式系列之十八——迭代器模式
1 模式的定义 迭代器模式是一种行为型设计模式,它允许客户端逐个访问一个聚合对象中的元素,而不暴露该对象的内部表示。迭代器模式提供了一种统一的方式来遍历不同类型的集合,使客户端代码更加简洁和可复用。 2 举例说明 为了更好地理解迭…...
前端项目配置 prettier、eslint、lint-stages、husky、commitlint 、style-lint设置代码书写和提交规范
prettier中文网:Options Prettier 中文网 eslint中文网 :ESLint 中文网 github husky : https://github.com/typicode/husky commitlint.js 官网:commitlint - Lint commit messages 、github:GitHub - conventiona…...
如何开始着手一篇Meta分析 | Meta分析的流程及方法
Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析的方法,最早出现于“循证医学”,现已广泛应用于农林生态,资源环境等方面。…...
【PID控制技术】
PID控制技术 简介控制原理相关术语调参技巧相互作用 相似算法与PWM对比 应用范围优缺点硬件支持 简介 PID控制是一种在工业过程控制中广泛应用的控制策略,其全称是比例-积分-微分(Proportional Integral Derivative)控制。它的基本原理是根据…...
docker openjdk:8-jdk-alpine 修改时区、添加字体
新建Dockerfile文件,制作新镜像 FROM openjdk:8-jdk-alpine 1、解决字体问题 RUN apk add --update ttf-dejavu fontconfig && rm -rf /var/cache/apk/* 2、解决时差问题 # 解决时差8小时问题ENV TZAsia/ShanghaiRUN ln -snf /usr/share/zoneinfo/$TZ /et…...
9+单细胞+实验验证,探讨单基因对癌细胞转移作用的思路方向
今天给同学们分享一篇单细胞实验的生信文章“Identification of RAC1 in promoting brain metastasis of lung adenocarcinoma using single-cell transcriptome sequencing”,这篇文章于2023年5月18日发表在Cell Death Dis期刊上,影响因子为9。 本研究旨…...
《计算机视觉中的多视图几何》笔记(7)
7 Computation of the Camera Matrix P P P 这章讲的是摄像机参数估计。摄像机标定,本质上就是求摄像机矩阵 P P P,当我们知道足够多的 X ↔ x X \leftrightarrow x X↔x,我们该如何计算 P P P?如果知道3D和2D点的对应ÿ…...
Python经典练习题(四)
文章目录 🍀第一题🍀第二题🍀第三题 🍀第一题 题目:打印出如下图案(菱形): 我们首先分析一下,本题实现的步骤主要有两个,分别是前四行和后三行 前四行:第一…...
Mac Pro在重装系统时提示“未能与恢复服务器取得联系”
检查网络连接: 确保你的Mac Pro连接到稳定的网络。尝试更换其他网络,例如切换到不同的Wi-Fi或使用有线连接。 系统时间校正: 错误的系统时间有时会导致与恢复服务器的连接问题。在恢复模式下打开终端(在实用工具菜单中选择终端&a…...
企业网站制作设计公司/网络推广优化
未能加载文件或程序集“log4net, Version1.2.10.0, Cultureneutral, PublicKeyToken1b44e1d426115821”或它的某一个依赖项。系统找不到指定的文件。 把log4net的bll文件复制到bin文件中就行 转载于:https://www.cnblogs.com/kbqLibrary/p/5987851.html...
大兴做网站/开源crm系统
1、找不到方法的实现unrecognized selector sent to instance 2、KVC造成的crash 3、EXC_BAD_ACCESS 4、KVO引起的崩溃 5、集合类相关崩溃 6、多线程中的崩溃 7、Socket长连接,进入后台没有关闭 8、Watch Dog超时造成的crash 9、后台返回NSNull导致的崩溃&a…...
青岛网站建设和优化/舆情分析报告案例
签:服务器2010blanktargettitle原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://tingdongwang.blog.51cto.com/1056852/1208844安装Microsoft Lync 2013先决性条件:…...
盘锦如何做百度的网站/网站优化招商
Docker 修改容器端口 本文介绍如何修改容器端口 对于已经创建的容器,可以通过下面的方法修改端口: 将容器提交为镜像,重新运行修改容器配置文件 将容器提交为镜像,重新运行 略 修改容器配置文件 修改前需要关闭docker&…...
个人网站建设实训报告/免费自媒体网站
Daniel Mohl是一名专业的软件工程师/架构师,他的兴趣包括理解各种复杂的编程语言、企业应用架构以及如何搭建业务与技术,他通晓F#、C#、CoffeeScript、JavaScript、Erlang、ASP.NET、MVC、WPF、WCF、Sliverlight、SQL Server等技术。有着多年的软件开发经…...
做招聘网站要多久/百度客服系统
如果要讨论人工智能在这两年最为火热的应用方向,智能穿戴、智慧交通、智能制造、智慧社区、智慧城市必定榜上有名,它们的共同之处在于,需要机器通过AI赋能去“看清”和“看懂”海量的画面信息。因此,机器视觉的广泛应用࿰…...