hadoop分布式环境搭建

准备三台centos虚拟机 。(master,slave1,slave2)

 (hadoop、jdk文件链接:https://pan.baidu.com/s/1wal1CSF1oO2h4dkSbceODg 提取码:4zra)

 前四步可参考hadoop伪分布式环境搭建详解-CSDN博客 

1.修改主机名,设置ip与主机的映射关系

hostname //查看主机名
vim /etc/hostname //更改主机名
vim /etc/hosts  //将127.0.0.1后面的主机名更改为本机主机名,并在文件中写入三台机器的ip与主机名的映射关系
reboot //重启服务器

(文件的后三行在三台机器上都要存在且保持一致)

2.在master机器上创建/usr/apps、/usr/apps/dist-hadoop,将jdk解压至/usr/apps,hadoop解压至/usr/apps/dist-hadoop下(路径不要随便设,否则和第四步的配置文件对应不上

mkdir /usr/apps 
mkdir /usr/apps/dist-hadoop

tar -zxf jdk-8u201-linux-x64.tar.gz -C /usr/apps/
tar -zxvf hadoop-2.7.1.tar.gz -C /usr/apps/dist-hadoop/ //-zxvf可以打印解压的东西

3.在master设置jdk,hadoop的环境变量

vim 编辑/etc/profile文件

添加下列语句(赋值时不要有空格,图中有空格)

export JAVA_HOME=/usr/apps/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/apps/dist-hadoop/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin

 保存退出。

source /etc/profile //重新加载该文件
java -version //查看jdk版本,检查环境是否设置成功

4.在master机器上dist-hadoop/hadoop-2.7.1/etc/hadoop目录下修改以下六个配置文件

①slaves

vim 编辑slaves文件,加入节点的主机名

slave1

slave2

②hadoop-env.sh

编辑/etc/hadoop/hadoop-env.sh文件,将jdk路径导入

[root@master data]# cd /usr/apps/hadoop-2.7.1/
[root@master hadoop-2.7.1]# cd /etc/hadoop
[root@master hadoop]# vim hadoop-env.sh

 

③core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> 
<property> 
<name>fs.defaultFS</name> 
<!-- 指定了客户端访问的主机名“master”,则该主机的hadoop就是namenode节点了--> <value>hdfs://master:9000</value> 
</property> 
<!-- 指定hadoop运行时产生文件的存储目录 --> 
<property> 
<name>hadoop.tmp.dir</name> 
<value>/usr/apps/dist-hadoop/hadoop-2.7.1/data/</value> 
</property>
<property> 
<name>hadoop.http.staticuser.user</name> 
<value>root</value> 
<description> 网页界面访问数据使用的用户名</description> 
</property>

 ④hdfs-site.xml

<!-- 指定HDFS副本的数量 --> 
<property> 
<name>dfs.replication</name> 
<value>2</value> 
</property> 
<property> 
<name>dfs.namenode.name.dir</name> 
<value>file:///usr/apps/dist-hadoop/hadoop-2.7.1/data/dfs/nn/name</value> 
<description>NN使用的元数据保存</description> 
</property>
<property> 
<name>dfs.datanode.data.dir</name> 
<value>/usr/apps/dist-hadoop/hadoop-2.7.1/data/</value> 
<description>DN使用的数据保存</description> 
</property> 
<property> 
<name>dfs.namenode.edits.dir</name> 
<value>file:///usr/apps/dist-hadoop/hadoop-2.7.1/data/dfs/nn/edits</value> <description>edits文件的存储路径</description>
<property> 
<name>dfs.namenode.checkpoint.edits.dir</name> 
<value>/usr/apps/dist-hadoop/hadoop-2.7.1/data/dfs/snn/edits</value> <description>SecondaryNameNode在文件系统中存储用于合并的临时edits文件的目录</description> </property> 
<property> 
<name>dfs.namenode.secondary.http-address</name> 
<value>master:50090</value> 
<description>secondarynamenode提供网络服务的端口和地址</description> 
</property> </property><property> <name>dfs.permissions</name> <value>false</value> <description>文件操作时的权限检查标识</description> 
</property> 
<property> 
<name>dfs.namenode.http-address</name> 
<value>master:50070</value> 
<description>namenode提供网络服务的端口和地址</description> 
</property>

 

⑤mapred-site.xml

先将mapred-site.xml.template复制到 mapred-site.xml中

再进入mapred-site.xml编辑

 <!-- 指定mr运行在yarn上 --> 
<property> 
<name>mapreduce.framework.name</name> 
<value>yarn</value> 
</property> 
<property> 
<name>mapreduce.jobhistory.address</name> 
<value>master:10020</value> 
<description>MapReduce的JobHistoryserver的IP和端口</description> 
</property>
<property> 
<name>mapreduce.jobhistory.webapp.address</name> 
<value>master:19888</value> 
<description>MapReduce的JobHistoryserver在web端查看的地址</description> 
</property>
<property> 
<name>mapreduce.job.ubertask.enable</name> 
<value>true</value> 
<description>是否开启小作业优化</description> 
</property>

⑥yarn-site.xml 

<!-- 指定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>
<property> 
<name>yarn.log-aggregation-enable</name> 
<value>false</value> 
<description>是否启用日志聚合功能,日志聚合开启后保存到HDFS上</description> 
</property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> 
<description>聚合后的日志在HDFS上保存多长时间,单位为s </description> 
</property>

 5.在master上配置三台机器的免密登陆

[root@master hadoop-2.7.1]# ssh-keygen -t rsa  //在hadoop目录下生成密钥对
[root@master hadoop-2.7.1]# find / -name .ssh //找到密钥对的位置

拷贝秘钥。 

[root@master ~]# cd /root/.ssh/
[root@master .ssh]# ssh-copy-id master
[root@master .ssh]# ssh-copy-id slave1
[root@master .ssh]# ssh-copy-id slave2

6.在master上将jdk,dist-hadoop,/etc/profile文件拷贝至其他两台机器(slave1,slave2)

scp -r /usr/apps/jdk1.8.0_201 slave1:/usr/apps/jdk1.8.0_201
scp -r /usr/apps/jdk1.8.0_201 slave2:/usr/apps/jdk1.8.0_201
scp -r dist-hadoop/ slave1:/usr/apps/
scp -r dist-hadoop/ slave2:/usr/apps/
scp -r /etc/profile slave1:/etc/profile
scp -r /etc/profile slave2:/etc/profile

(拷贝的时候在其他两台机器的jdk和hadoop的路径可能不对,此时进入/etc/profile修改正确即可

并在slave1和slave2上重载/etc/profile文件

source /etc/profile

 

 7.格式化namenode

[root@master hadoop-2.7.1]# hadoop namenode -format

 

8.master上启动dfs.sh,yarn.sh文件

sbin/start-dfs.sh
sbin/start-yarn.sh

 

搭建成功! 

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

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

相关文章

论文阅读——MoCo

Momentum Contrast for Unsupervised Visual Representation Learning 动量在数学上理解为加权移动平均&#xff1a; yt-1是上一时刻输出&#xff0c;xt是当前时刻输入&#xff0c;m是动量&#xff0c;不想让当前时刻输出只依赖于当前时刻的输入&#xff0c;m很大时&#xff0…

pytorch升级打怪(六)

自动分化 torch.autograd张量、函数和计算图计算梯度禁用梯度跟踪 torch.autograd 在训练神经网络时&#xff0c;最常用的算法是反向传播。在该算法中&#xff0c;根据损失函数相对于给定参数的梯度调整参数&#xff08;模型权重&#xff09;。 为了计算这些梯度&#xff0c;…

软件测试6年,我的心路历程。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 现在的大环境下&#xff0c;各行各业都开始内卷起来&#xff0c;测试也不例外&#xff0c;企业要…

LeetCode——两数相加

目录 一、两数相加 1、题目 2、题目解读 3、代码 二、反转链表 1、题目 2、题目解读 3、代码 三、两数相加 II 1、题目 2、题目解读 3、代码 反转链表再进行计算 借助栈 一、两数相加 1、题目 2. 两数相加 - 力扣&#xff08;Leetcode&#xff09; 给你两个 非…

MS16_016 漏洞利用与安全加固

文章目录 环境说明1 MS16_016 简介2 MS16_016 复现过程3 MS16_016 安全加固 环境说明 渗透机操作系统&#xff1a;kali-linux-2024.1-installer-amd64漏洞复现操作系&#xff1a;cn_windows_7_professional_with_sp1_x64_dvd_u_677031 1 MS16_016 简介 MS16_016 漏洞产生的原因…

WebServer -- 八股(终章)

&#x1f442; Honey Honey - 孙燕姿 - 单曲 - 网易云音乐 目录 &#x1f33c;触类旁通 &#x1f6a9;线程 && 进程 线程与进程的区别 多线程锁是什么 进程 / 线程 / 协程 的区别 线程切换时&#xff0c;需要切换的状态 &#x1f382;并发 && 并行 并…

Java基础夯实——八股文【2024面试题案例代码】

1、Java当中的基本数据类型 Java中常见的数据类型及其对应的字节长度和取值范围如下&#xff1a; byte&#xff1a;1字节&#xff0c;取值范围为-128到127。short&#xff1a;2字节&#xff0c;取值范围为-32,768到32,767。int&#xff1a;4字节&#xff0c;取值范围为-2,147…

【数据挖掘】练习2:数据管理2

课后作业2&#xff1a;数据管理2 一&#xff1a;上机实验2 # 编写函数stat&#xff0c;要求该函数同时计算均值&#xff0c;最大值&#xff0c;最小值&#xff0c;标准差&#xff0c;峰度和偏度。 install.packages("timeDate") library(timeDate) stat <- func…

Swagger Array 使用指南:详解与实践

Swagger 允许开发者定义 API 的路径、请求参数、响应和其他相关信息&#xff0c;以便生成可读性较高的文档和自动生成客户端代码。而 Array &#xff08;数组&#xff09;是一种常见的数据结构&#xff0c;用于存储和组织多个相同类型的数据元素。数组可以有不同的维度和大小&a…

腾讯钟学丹:人工智能成为汽车行业新质生产力 推动数智化升级

近日&#xff0c;在中国电动汽车百人会论坛&#xff08;2024&#xff09;新质生产力分论坛上&#xff0c;腾讯智慧出行副总裁钟学丹发表了题为《AI驱动汽车“新智能”》的主题演讲&#xff0c;分享了腾讯AI大模型等新技术在汽车产业的创新应用成果。 腾讯智慧出行副总裁钟学丹 …

【鸿蒙HarmonyOS开发笔记】如何使用图片插帧将低像素图片清晰放大

开发UI时&#xff0c;当我们的原图分辨率较低并且需要放大显示时&#xff0c;图片会模糊并出现锯齿。如下图所示 这时可以使用interpolation()方法对图片进行插值&#xff0c;使图片显示得更清晰。该方法的参数为ImageInterpolation枚举类型&#xff0c;可选的值有: ImageInte…

主键约束

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 主键约束可以看成是非空约束再加上唯一约束 也就是说设置为主键列&#xff0c;不能为空&#xff0c;不能重复 像一般用户编号是不可能重复的&#xff0c;也不可能为空的 …

C#开发中方法使用的问题注意

C#开发中&#xff0c;我们在进行方法内嵌时&#xff0c;需要注意方法回传带值时&#xff0c;我们需要对方法回传的值进行一个赋值传递 如下所示 console.WriteLine("请输入你的爱好&#xff1a;"); string aihao Console.ReadLine(); name ChangeData(name);同时在…

找不到msvcp110.dll怎么办,msvcp110.dll丢失的5种修复方法

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp110.dll丢失”。由于msvcp110.dll是Microsoft Visual C Redistributable Package的重要组成部分&#xff0c;它的缺失会导致依赖于该组件的软件无法正常启动或运行&#xff0c;比如某…

Java开发者的新宠:探索轻量级且功能强大的Magic-API

Java开发者的新宠&#xff1a;探索轻量级且功能强大的Magic-API 一、Magic-API简介二、Magic-API的核心特性三、结语 大家好&#xff0c;这里是程序猿代码之路&#xff0c;在当今的软件开发领域&#xff0c;快速迭代和高效交付是每个项目追求的目标。对于Java开发者来说&#x…

汽车电子零部件(7):电机Motor

前言: 新能源汽车的三大件是:电池、电机、电控。可见电机的重要性,可以说直接就取代了发动机。而用到电机的地方不仅仅有驱动四轮,还有方向盘、门窗甚至电池热管理等也都是需要电机这个器件的。当然就电机而言又分变频电机和直流电机,有刷电机和无刷电机。从架构上说,需…

Day21:实现退出功能、开发账号设置、检查登录状态

实现退出功能 将登录凭证修改为失效状态。跳转至网站首页。 数据访问层 不用写了&#xff0c;已经有了updateStatus方法&#xff1b; 业务层 UserService public void logout(String ticket) {loginTicketMapper.updateStatus(ticket, 1);}Controller层 RequestMapping(p…

Python:filter过滤器

filter() 是 Python 中的一个内置函数&#xff0c;用于过滤序列&#xff0c;过滤掉不符合条件的元素&#xff0c;返回由符合条件元素组成的新列表。该函数接收两个参数&#xff0c;一个是函数&#xff0c;一个是序列&#xff0c;序列的每个元素作为参数传递给函数进行判定&…

电脑msvcp140_1.dll丢失的解决方法,总结5种可靠的方法

在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“msvcp1401.dll丢失”。这个DLL文件是Microsoft Visual C Redistributable Package的一部分&#xff0c;对于许多基于Windows的应用程序来说至关重要。这个错误通常会导致某些应用程序无…

摄影第一课

色彩 红色绿色黄色 红色蓝色洋红 蓝色绿色青色 冷暖色 摄影基础 选择合适的前景&#xff0c;增加照片层次感 测光拍摄&#xff0c;照片有亮和暗的地方&#xff0c;立体感更强 拍摄技巧 拍摄倒影 手机靠近水面&#xff0c;距离越近拍到的倒影越多适当降低曝光、获得更加准…