摸鱼大数据——Linux搭建大数据环境(集群免密码登录和安装Hadoop)二

集群设置免密登录

克隆node1虚拟机的前置条件:node1虚拟机存在且处于关闭状态

1.克隆出node2虚拟机

1.node1虚拟机: 右键 -> "管理" -> "克隆"

2.图形化弹窗中: "下一页"->"下一页"->选择"创建完整克隆"再"下一页"->填写"node3和对应位置"再点击"完成"

3.node3虚拟机: 右键 -> "设置" -> "NAT模式" -> "高级" -> "生成"Mac地址再'确定' -> 最后点击"确定"

node3基础配置
  • 修改ip地址

[root@node1 /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 注意此操作是在node3中修改ip地址
IPADDR="192.168.88.103"
  • 修改主机名

[root@node1 ~]# vim /etc/hostname 
# 注意此操作是在node3中修改主机名
node3
  • 重启虚拟机

[root@node1 ~]# reboot
  • 查看配置是否生效

[root@node3 ~]# ifconfig

3.CRT操作所有会话

SecureCRT软件: "查看 "- >  选择"交互窗口" -> 右键选择"发送交互到所有会话"

4.设置免密登录

  • 三台虚拟机都生成公钥和私钥

    输入命令(注意需要三次回车操作): ssh-keygen

    三台虚拟机都执行完命令后,在 /root/.ssh 中会自动生成两个文件: id_rsaid_rsa.pub

  • 分别拷贝公钥给其他虚拟机

    输入命令(注意需要输入yes和密码): ssh-copy-id node1
    输入命令(注意需要输入yes和密码): ssh-copy-id node2
    输入命令(注意需要输入yes和密码): ssh-copy-id node3
  • 测试免密登录

    输入命令(注意此时会直接登录成功): ssh node1
    输入命令(注意此时会直接登录成功): ssh node2
    输入命令(注意此时会直接登录成功): ssh node3

安装hadoop软件

1.上传软件

使用CRT等客户端远程上传 hadoop-3.3.0-Centos7-64-with-snappy.tar.gz文件到/export/software目录下

2.解压软件

[root@node1 ~]# cd /export/software/
[root@node1 software]# tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C /export/server/

3.添加环境变量

[root@node1 software]# vim /etc/profile
# 把如下内容复制到profile文件的最后,注意:记得保存并退出wq
# 小技巧 : 按G + o快速到文件末尾
export HADOOP_HOME=/export/server/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  • 修改完后重启生效

[root@node1 server]# source /etc/profile

4.1修改配置文件[自动方式]

上传文件

使用CRT等客户端远程上传 配置好的文件压缩包hadoop-config.tar文件到/export/software目录下

解压文件
[root@node1 ~]# cd /export/software/
[root@node1 software]# tar -xvf hadoop-config.tar -C /export/server/
覆盖原有文件
[root@node1 software]# mv -f /export/server/hadoop-config/* /export/server/hadoop-3.3.0/etc/hadoop/
[root@node1 software]# rm -rf /export/server/hadoop-config*  

4.2配置文件详解[手动方式]

需要进入/export/server/hadoop-3.3.0/etc/hadoop目录下修改如下配置文件

  • hadoop-env.sh : 文件中设置的是Hadoop运行时需要的环境变量

  • core-site.xml : hadoop的核心配置文件,如果在core-site.xml里没有配置的属性,自动会获取core-default.xml 里的相同属性的值

  • hdfs-site.xml : HDFS的核心配置文件,如果在hdfs-site.xml里没有配置的属性,会自动会获取hdfs-default.xml里的相同属性的值

  • mapred-site.xml : MapReduce的核心配置文件,如果在mapred-site.xml里没有配置的属性,会自动会获取mapred-default.xml里的相同属性的值

  • yarn-site.xml : YARN的核心配置文件,如果在yarn-site.xml里没有配置的属性,会自动会获取yarn-default.xml里的相同属性的值

  • workers : 文件中记录集群的主机名。主要配合一键启动脚本如start-dfs.sh、stop-yarn.sh用来进行集群启动

①hadoop-env.sh文件
[root@node1 hadoop]# vim hadoop-env.sh
# 在55行添加JAVA_HOME,因为Hadoop把当前的执行环境当成远程服务器,所以需要重新配置下
export JAVA_HOME=/export/server/jdk1.8.0_65
# 在440行文件末尾添加以下内容
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 
② core-site.xml文件
[root@node1 hadoop]# vim core-site.xml
<!-- 在文件的<configuration></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.0</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>
​
<!-- 开启垃圾桶机制[可选操作] 1440 表示1440分钟也就是24小时一天的时间-->
<property>
   <name>fs.trash.interval</name>
   <value>1440</value>
</property>
③ hdfs-site.xml文件
[root@node1 hadoop]# vim hdfs-site.xml
<!-- 在文件的<configuration></configuration>的标签中添加以下内容:  -->    
    <!-- 指定secondarynamenode运行位置 -->
    <property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>node2:9868</value>
    </property>
④ mapred-site.xml文件
[root@node1 hadoop]# vim mapred-site.xml
<!-- 在文件的<configuration></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>
​
<!-- 历史服务器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>
⑤ yarn-site.xml文件
[root@node1 hadoop]# vim yarn-site.xml
<!-- 在文件的<configuration></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>
⑥ workers文件
[root@node1 hadoop]# vim workers
# 用以下内容把之前内容覆盖
node1
node2
node3

5.拷贝软件到其他机器

  • nod1主机上拷贝到node2和node3中各一份

[root@node1 server]# scp -r /export/server/hadoop-3.3.0  root@node2:/export/server/
[root@node1 server]# scp -r /export/server/hadoop-3.3.0  root@node3:/export/server/
  • node2主机配置环境变量

[root@node2 server]# echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /etc/profile
[root@node2 server]# echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
[root@node2 server]# source /etc/profile
  • node3主机配置环境变量

[root@node3 server]# echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /etc/profile
[root@node3 server]# echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
[root@node3 server]# source /etc/profile

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

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

相关文章

蓝鹏测控:扩大出口,勇拓海外市场

蓝鹏测控自2012年成立以来&#xff0c;始终专注于工业测量仪器的研发、生产与销售。公司坚持经验与创新并存&#xff0c;长期与华北电力大学、河北大学等多所知名院校深度合作&#xff0c;拥有一支技术力量雄厚的研发团队。经过多年的努力&#xff0c;蓝鹏测控已研发出多款具有…

使用C++实时读取串口数据(window使用已编译LibModbus库并用QT实现一个实时读取串口数据)

先看这篇文章&#xff0c;写得很详细: QT应用篇 四、window编译LibModbus库并用QT编写一个Modbus主机 手把手教学 编译好的LibModbus库可以在上面文章里下载&#xff0c;也可以在我的链接里下载&#xff1a; 为了在Qt Creator中创建新项目并嵌入上述C代码&#xff0c;请执行以…

算法-卡尔曼滤波之卡尔曼滤波的第二个方程:预测方程(状态外推方程)

在上一节中&#xff0c;使用了静态模型&#xff0c;我们推导出了卡尔曼滤波的状态更新方程&#xff0c;但是在实际情况下&#xff0c;系统都是动态&#xff0c;预测阶段&#xff0c;前后时刻的状态是改变的&#xff0c;此时我们引入预测方程&#xff0c;也叫状态外推方程&#…

冯喜运:5.14今日黄金原油涨跌走势分析操作建议

【黄金消息面分析】&#xff1a;本周黄金市场将迎来关键的美国通胀数据&#xff0c;包括周二的生产者价格指数(PPI)和周三的消费者物价指数(CPI)。这些数据对美联储的政策路径至关重要&#xff0c;可能会影响市场对利率调整的预期。目前&#xff0c;现货黄金价格小幅上涨&#…

Redis知识总结

文章目录 1. NoSQL2. Redis介绍3. Redis的下载与安装3.1 Windows版3.2 Linux版 4. Redis的数据类型5. Redis常用命令5.1 操作字符串的命令5.2 操作哈希结构的命令5.3 操作列表的命令5.4 操作set集合的命令5.5 操作zset集合的命令5.6 Redis通用命令5.7 其他命令 6. 在Java中操作…

【Python |基础入门】入门必备知识(基础各方面全覆盖)

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; &#x1f388;丠丠64-CSDN博客&#x1f388; ✨✨ 帅哥美女们&#xff0c;我们共同加油&#xff01;一起…

Linux系统运行级别

Linux系统运行级别&#xff1a;linux系统共有7个运行级别&#xff0c;不同的级别运行的程序和功能都是不一样的而linux系统默认是运行在一个标准级别上&#xff0c;系统运行级别文件/etc/inittab 运行级别0&#xff1a;所有进程被终止&#xff0c;机器将有序的停止&#xff0c;…

C语言学习【常量和C预处理器】

C语言学习【常量和C预处理器】 符号常量(symbolic constant) C预处理器可以用来定义常量 就像这样 #define TAXRATE 0.015/* 通用格式 末尾不加分号 */ /* 大写表示符号常量是 C 语言一贯的传统 */ #define NAME value编译程序时&#xff0c;程序中所有TAXRATE都会被替换成0.…

天锐绿盾|设计院图纸透明加密软件、制造业文件资料防止外泄

#图纸加密软件# 天锐绿盾是一家专注于数据安全解决方案的提供商&#xff0c;其产品主要为企业级用户设计&#xff0c;旨在保护敏感信息和知识产权免遭未经授权的访问或泄露。"天锐绿盾"的图纸透明加密软件和机械制造业文件资料防止外泄系统&#xff0c;是专为设计院…

Properties配置文件和源码

先对测试类进行get方法复写得到getReqType 判断caseinfo等于get时&#xff0c;就是get请求&#xff0c;反之就不是 这里的url和param都是xxx代替&#xff0c;如果直接写内容&#xff0c;每次都会请求 三目运算优化 为什么要用配置文件 test里时url,可以将ip和端口写在配置文…

Flink CDC 原理

简介 Flink CDC&#xff08;Change Data Capture&#xff09;是 Apache Flink 提供的一个变更数据捕获工具集。它可以监控数据库的变更&#xff0c;并将这些变更实时地以流的形式提供给下游系统&#xff0c;这些变更包括插入、更新和删除操作。 Flink CDC 适用于需要实时数据…

利用matplotlib和KNeighborsClassifier,进行DBSACN聚类算法

代码&#xff1a; # -*- coding: utf-8 -*- """ Created on Sat May 11 10:23:50 2024author: admin """ # 调用库 import numpy as np import matplotlib.pyplot as plt # 调用人工智能模型库 from sklearn.neighbors import KNeighborsClassi…

自定义el-select下拉菜单的内容以及数据回显的内容

最终的效果 下拉选项的自定义内容好实现&#xff0c;因为他有默认插槽&#xff0c;所以直接在el-option标签里面写自定义内容就可以实现 <el-selectref"seriesBorderTypeRef"class"series-border-type"change"changeSeriesBorderType"v-model…

如何轻松获得稳定的静态IP?

在当今互联网时代&#xff0c;静态IP地址对于许多领域至关重要。无论是个人用户还是企业&#xff0c;拥有一个稳定的静态IP地址都能够提供诸多便利。静态IP地址与动态IP地址相比&#xff0c;具有不变性和可追溯性&#xff0c;适用于需要长期稳定通信和追踪的场景。了解静态IP的…

【前端】打砖块游戏:实现细节介绍

打砖块游戏:实现细节介绍 在本文中,我将详细介绍如何使用HTML、CSS和JavaScript技术构建一个简单的打砖块游戏。我们将重点讨论游戏的三个核心技术方面:碰撞检测、画图和事件监听。 完整代码我放在:github可以直接拉取代码测试。 游戏概览 打砖块游戏中,玩家通过控制底…

[Cesium]Cesium基础学习——Primitive

Cesium开发高级篇 | 01空间数据可视化之Primitive - 知乎 Primitive由两部分组成&#xff1a;几何体&#xff08;Geometry&#xff09;和外观&#xff08;Appearance&#xff09;。几何体定义了几何类型、位置和颜色&#xff0c;例如三角形、多边形、折线、点、标签等&#xf…

Linux之·网络编程·I/O复用·select

系列文章目录 文章目录 前言一、概述1.1 介绍IO复用的概念和作用1.1.1 I/O复用具体使用的场景1.1.2 I/O复用常用函数 二、select函数的重要性和用途2.1 基本的select函数2.2 如何使用FD_SET、FD_CLR等宏来设置和清除文件描述符集合2.3 select()函数函数整体使用框架&#xff1a…

被动防护不如主动出击

自网络的诞生以来&#xff0c;攻击威胁事件不断涌现&#xff0c;网络攻防对抗已然成为信息时代背景下的一场无硝烟的战争。然而&#xff0c;传统的网络防御技术&#xff0c;如防火墙和入侵检测技术&#xff0c;往往局限于一种被动的敌暗我明的防御模式&#xff0c;面对攻击者无…

CSS实现渐变色

渐变色分为线性渐变和径向渐变。 线性渐变linear-gradient(方向, 颜色1, 颜色2, … ,颜色n)径向渐变radial-gradient(颜色1 覆盖区域大小, 颜色2 覆盖区域大小, … ) 线性渐变的方向可以为&#xff1a; ​ 1、一个方向值时&#xff1a; to bottom 表示从上边到下边渐变 ​ 2、…

GO语言核心30讲 实战与应用 (WaitGroup和Once,context,Pool,Map,字符编码,string包,bytes包)

原站地址&#xff1a;Go语言核心36讲_Golang_Go语言-极客时间 一、sync.WaitGroup和sync.Once 1. sync.WaitGroup 比通道更加适合实现一对多的 goroutine 协作流程。 2. WaitGroup类型有三个指针方法&#xff1a;Wait、Add和Done&#xff0c;以及内部有一个计数器。 (1) Wa…