Hadoop详细安装步骤,附带安装完的虚拟机。

news/2024/12/22 10:04:43/文章来源:https://www.cnblogs.com/wangyudi1029/p/18445355

Hadoop集群搭建笔记

环境:window11家庭中文版 23H2

VMware16.1.2

镜像:CentOS-7-x86_64-DVD-2009.iso

jdk:jdk-8u202-linux-x64.tar.gz

hadoop:hadoop-3.3.5.tar.gz

集群分布

主机 角色
node1(192.168.100.100) NN DN RM NM
node2(192.168.100.101) SNN DN NM
node3(192.168.100.102) DN NM

/export/servers 存放软件

/export/software 存放安装包

/export/data 存放数据

1.创建玩node1,完整复制2个后改IP和名字。

主机名修改:

vi /etc/hostname
vi /etc/hosts

2.修改IP

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

把IP改一下就行其他别动。

3.关防火墙和SSH免密

关闭防火墙

#关闭防火墙
systemctl stop firewalld.service
#关闭开机自启
systemctl disable firewalld.service
#查看防火墙状态
firewall-cmd --state

SSH免密

#node1生成公钥私钥 (一路回车)
ssh-keygen -t rsa
#node1配置免密登录到node1 node2 node3
cd /root/.ssh
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

时间同步

ntpdate ntp5.aliyun.com

4.安装JDK

/export/servers 存放软件

/export/software 存放安装包

/export/data 存放数据

创建目录

mkdir -p /export/servers
mkdir -p /export/software
mkdir -p /export/data

传送JDK和Hadoop安装包到software

解压JDK

tar -zxvf jdk-8u202-linux-x64.tar.gz -C /export/servers/

配置环境变量

#/etc/profile 存放环境变量
vi /etc/profile
#添加
export JAVA_HOME=/export/servers/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#重现加载环境变量
source /etc/profile
#查看JDK
java -version

分发JDK和环境变量

#分发JDK
scp -r /export/servers/jdk1.8.0_202 root@node2:/export/servers/
scp -r /export/servers/jdk1.8.0_202 root@node3:/export/servers/
#分发环境变量
scp -r /etc/profile root@node2:/etc
scp -r /etc/profile root@node3:/etc
#重现加载环境变量
source /etc/profile
#查看JDK
java -version

5.安装Hadoop

解压Hadoop

tar -zxvf /export/software/hadoop-3.3.5.tar.gz -C /export/servers/

配置系统变量

vi /etc/profile
#添加以下代码
export HADOOP_HOME=/export/servers/hadoop-3.3.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#重启变量
source /etc/profile
#查看版本
hadoop version

重点:修改配置文件

1.配置Hadoop运行环境:修改:/export/servers/hadoop-3.3.5/etc/hadoop/hadoop-env.sh

cd /export/servers/hadoop-3.3.5/etc/hadoop/
vi hadoop-env.sh
#添加以下代码
export JAVA_HOME=/export/servers/jdk1.8.0_202
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 

2.配置Hadoop:修改:/export/servers/hadoop-3.3.5/etc/hadoop/core-site.xml

vi core-site.xml
#添加到<configuration>
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property><name>fs.defaultFS</name><value>hdfs://node1:8020</value>
</property><!-- 设置Hadoop本地保存数据路径 -->
<property><name>hadoop.tmp.dir</name><value>/export/data/hadoop-3.3.5</value>
</property><!-- 设置HDFS web UI用户身份 -->
<property><name>hadoop.http.staticuser.user</name><value>root</value>
</property><!-- 整合hive 用户代理设置 -->
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property><property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property><!-- 文件系统垃圾桶保存时间 -->
<property><name>fs.trash.interval</name><value>1440</value>
</property>

3.配置HDFS:修改:/export/servers/hadoop-3.3.5/etc/hadoop/hdfs-site.xml

vi hdfs-site.xml
#添加到<configuration>
<!-- 设置HDFS的副本为2 -->
<property><name>dfs.replication</name><value>2</value>
</property>
<!-- 设置SNN进程运行机器位置信息 -->
<property><name>dfs.namenode.secondary.http-address</name><value>node2:9868</value>
</property>

4.配置MapReduce:修改:/export/servers/hadoop-3.3.5/etc/hadoop/mapred-site.xml

vi mapred-site.xml
#添加到<configuration>
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property><!-- MR程序历史服务地址 -->
<property><name>mapreduce.jobhistory.address</name><value>node1:10020</value>
</property><!-- MR程序历史服务器web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>node1:19888</value>
</property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

5.配置YARN:修改:/export/servers/hadoop-3.3.5/etc/hadoop/yarn-site.xml

vi yarn-site.xml
#添加到<configuration>
<!-- 设置YARN集群主角色运行机器位置 -->
<property><name>yarn.resourcemanager.hostname</name><value>node1</value>
</property><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property><!-- 是否将对容器实施物理内存限制 -->
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property><!-- 是否将对容器实施虚拟内存限制。 -->
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property><!-- 开启日志聚集 -->
<property><name>yarn.log-aggregation-enable</name><value>true</value>
</property><!-- 设置yarn历史服务器地址 -->
<property><name>yarn.log.server.url</name><value>http://node1:19888/jobhistory/logs</value>
</property><!-- 历史日志保存的时间 7天 -->
<property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value>
</property>

6.配置Hadoop的从节点:修改:/export/servers/hadoop-3.3.5/etc/hadoop/workers

vi workers
#删除完,改为:
node1
node2
node3

7.分发Hadoop

scp -r /export/servers/hadoop-3.3.5 root@node2:/export/servers/
scp -r /export/servers/hadoop-3.3.5 root@node3:/export/servers/

8.分发环境变量:

scp -r /etc/profile root@node2:/etc
scp -r /etc/profile root@node3:/etc
#重现加载环境变量
source /etc/profile

6.格式HDFS

1.只格式一次,不然前功尽弃

2.在node1格式,不然前功尽弃

3.建议打快照。

hdfs namenode -format

发现这个就成功了

7.基础命令

#HDFS集群start-dfs.sh stop-dfs.sh #YARN集群start-yarn.shstop-yarn.sh#Hadoop集群start-all.shstop-all.sh 
#查看进程
jps

Hadoop启动日志路径:/export/server/hadoop-3.3.0/logs/

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

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

相关文章

Nuxt.js 应用中的 app:redirected 钩子详解

title: Nuxt.js 应用中的 app:redirected 钩子详解 date: 2024/10/3 updated: 2024/10/3 author: cmdragon excerpt: app:redirected 是 Nuxt.js 中的一个钩子,主要用于处理服务器端渲染(SSR)过程中发生的重定向。该钩子在重定向被执行之前被调用,允许开发者在重定向发生前…

全网最适合入门的面向对象编程教程:55 Python字符串与序列化-字节序列类型和可变字节字符串

在Python中,字符编码是将字符映射为字节的过程,而字节序列(bytes)则是存储这些字节的实际数据结构,字节序列和可变字节字符串的主要区别在于其可变性和用途,bytearray是可变的字节序列,允许修改其内容。全网最适合入门的面向对象编程教程:55 Python 字符串与序列化-字节…

Zookeeper 基础学习

Zookeeper 基础学习 ​ Zookeeper 官网: http://zookeeper.apache.org/ 注:以下操作在CentOS7环境操作。 ​ Zookeeper 是 Apache 的一个分布式服务框架,是 Apache Hadoop 的一个子项目。官方文档上这么解释 Zookeeper,它主要是用来解决分布式应用中经常遇到的…

妙用编辑器:把EverEdit变成计算器

妙用编辑器:把EverEdit变成计算器 应用场景 日常工作过程中,会存在需要计算一些数据的场景,调用系统的计算器当然可以完成这项工作,但是需要来回切换,且系统自带的计算器没有表达式计算功能,真是不方便。 解决办法 一般比较流行的文本编辑器都支持脚本语言,比如:EverEd…

轻松搞定Java毕设:为全国大学生提供高效、优质的Java毕业设计代做服务

随着毕业季的临近,许多大学生面临着毕业设计的巨大压力。尤其是对于那些选择计算机相关专业的学生来说,毕业设计通常要求在一个较短的时间内完成复杂的项目开发,这对于技术掌握尚不成熟的学生来说无疑是一个巨大的挑战。再加上其他课程的压力和生活的琐事,毕业设计可能会成…

JAVA毕设代做(项目+论文+源码)

马上就要做毕业设计啦,计算机专业的小伙伴们终于开始紧张啦~ 但是Java相关的毕业设计,真的太难啦,都不知道做什么选题!!! 如果你平时没认真学,那么很可能根本就不知道怎么做毕业设计! 尤其是对于摸鱼上瘾的同学,稍不注意就容易挂掉! 大家现在担心的无非下面几点! 我…

星座图整形技术在光纤通信中的matlab性能仿真,分别对比标准QAM,概率整形QAM以及几何整形QAM

1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印):2.算法涉及理论知识概要星座图整形技术(Constellation Shaping Techniques)是现代光纤通信系统中提升数据传输效率的关键技术之一,通过优化星座点的布局和调制符号的使用概率,能在不增加系统功率或带宽的…

用难测的期待去对抗既定的焦虑和迷茫

大三到今天,经历了很多,不管是两次开发实习,还是一边秋招一边考公,或是毕业一个月后被鸽转正,又或是无数次的面试和考试,无数次的高铁和大巴,无数次的破而后立......都让我改变了此前狭隘的看法。回顾以往,其实我从很早以前就觉得路好像是直来直去的,一眼能看到底部,…

基于无线传感器网络的节点分簇算法matlab仿真

1.程序功能描述 对传感器网络进行分簇,在分簇过程中考量的有节点能量状态、节点拓扑位置、孤立节点删除等条件。与LEACH算法比较,对比如下几个方面指标: 1.网络从初始状态直到首个节点因能量耗尽而死亡的持续时间。 2.显示了随着时间的变化,一些节点开始死亡,整个网…

《Java 高级篇》八:新特性

Java 中的一些新特性:Lambda 表达式、函数式接口、Stream API。Author: ACatSmiling Since: 2024-10-01Lambda 表达式 Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一…

高级语言程序设计第二次作业

这个作业属于哪个课程 2024高级语言程序设计 (福州大学 - 计算机与大数据学院)这个作业要求在哪里 高级语言程序设计课程第二次个人作业学号 052205124姓名 林宇作业内容: 1.编写并运行书本第3章3.11 编程练习题目中的第1题~第8题 (1):通过试验(即编写带有此类问题的程序)…

《Java 高级篇》六:I/O 流

Java 中的文件系统和 I/O 流。Author: ACatSmiling Since: 2024-10-01字符编码 字符集 Charset:也叫编码表。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等。编码表的由来:计算机只能识别二进制数据,早期由来是电信号。为了方便应用计算机,…