1、hadoop环境搭建

1、环境配置

  • ip(/etc/sysconfig/network-scripts)
# 网卡1
DEVICE=eht0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.59.11
GATEWAY=192.168.59.1
NETMASK= 255.255.255.0
# 网卡2
DEVICE=eht0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
  • hostname(vim /etc/sysconfig/network)
HOSTNAME = hadoop1.keane.com
  • 映射( vim /etc/hosts)
192.168.59.11 hadoop.keane.com
  • (vim /etc/selinux/config)
SELINUX=disabled
  • 重启

2、安装jdk

  • 1.安装
rpm -ivh jdk-7u80-linux-x64.rpm
  • 2、配置环境变量
# vim  ~.bash_profile
JAVA_HOME=/usr/java/jdk1.7.0_80
CLASSPATH=.
PATH=$JAVA_HOME/bin:
export JAVA_HOME
export CLASSPATH
# 重新加载配置文件
source .bash_profile
# 验证是否配置成功
echo $JAVA_HOME
# 输出配置地址

3、安装hadoop

  • 1、解压
tar -zxvf hadoop-2.5.2.tar.gz -C /opt/install/
  • 2、使用notebook插件NppFTP对配置文件进行修改(注意关闭防火墙systemctl stop firewalld)
  • 3、hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_80
  • 4、core-site.xml(解决总入口和临时目录的问题)
	<property>		<name>fs.defaultFS</name><value>hdfs://hadoop1.keane.com:8020</value></property><property><name>hadoop.tmp.dir</name><value>/opt/install/hadoop-2.5.2/data/tmp</value></property>
  • 5、hdfs-site.xml
 <property><name>dfs.replication</name><value>1</value>
</property>
# 控制程序代码访问权限
<property><name>dfs.permissions.enabled</name><value>false</value></property>
  • 6、yarn-site.xml
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
  • 7、mapred-site.xml
<property>	 	        		<name>mapreduce.framework.name</name><value>yarn</value>
</property>
  • 8、slaves
hadoop1.keane.com
  • 9、格式化
bin/hdfs namenode -fromat

在这里插入图片描述

  • 10、启动
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager

在这里插入图片描述
在这里插入图片描述

4、hdfs命令

ls、put、get、mkdir、rm
bin/hdfs dfs -mkdir /keane
# 查看命令
bin/hdfs dfs# 新版
bin/hdfs fs# 老版

5、python访问HDFS

pip install hdfs
  • 注意:
    程序访问hdfs默认执行读操作,没有写的权限,如果需要写入,需要加入配置-hdfs-site.xml
  • 下载
  • 上传
res = self.client.upload(hdfs_path="",local_path="")
print(res)
  • 删除
  • 创建目录

6、HDFS集群搭建

  • 1、集群中机器的选择
    DataNode:存储数据,硬盘大
    NameNode:入口、树状目录结构、文件基本信息(都存放在内存中),内存比较大
  • 2、2个问题
    1. namenode上启动所有的datanode -->配置文件slaves
    2. 登录DataNode(ip,登录提供的密码)–>shell脚本
      ssh免密码登录–>解决登录需要密码的问题
  • 3、ssh免密登录
    1. ssh协议: 一台主机到另一台主机
    2. 用户端:
      通过加密算法生成公私钥对,公钥发给远程主机,私钥自己保存。
    3. 登录
      登录时,用户使用私钥+随机字符串进行登录
    4. 远程主机
      远程主机接受公钥后返回主机随机字符串,用户端使用私钥+随机字符串发给远程主机,然后远程主机解密,正确可以登录
  • 4、生成公私钥对
ssh ip  登录本机回自动生成一个.ssh文件夹
# 进入文件夹  ~/.ssh
ssh-keygen -t rsa # 生成公私钥对
# 将公钥发给远程主机
ssh-copy-id  root@ip

在这里插入图片描述

  • 5、如何将公钥发给远程主机
ssh-copy-id  root@ip
  • 6、HDFS集群搭建
    1、克隆三台节点
    2、每个节点设置ip地址、主机名、映射、防火墙、selinux、jdk ssh 免密登录
     # 将host文件复制到其他主机
    scp /etc/hosts root@ip:/etc
    
    3、解压hadoop安装包
    因为copy的已完成的节点,需要删除data/tmp中的数据
    rm -rf *
    
    4、修改6个配置文件,并同步集群的每个节点
    #	hsfs-site.xml -->节点换为3个或直接删除
    <property><name>dfs.replication</name><value>3</value>
    </property>
    #	slaves
    hadoop1.keane.com
    hadoop2.keane.com
    hadoop3.keane.com
    
    5、格式化
    bin/hdfs namenode -format
    
    6、启动、关闭集群
    sbin/start-dfs.sh
    sbin/stop-dfs.sh
    统一启动namenode/datanode/secondarynamenode
    
    在这里插入图片描述

7、NameNode的持久化

  • 1、NameNode定期的存储到硬盘中
FSImage-->NameNode某一时刻的数据镜像1、搭建HDFS集群时,进行格式化操作(bin/hdfs namenode -format),生成一个空的FSImage(data/tmp),后面会写入EditsLog2、每一次重启NameNode时,把EditsLog和FSImage的数据在内存中合并,并生成一个新的EditsLog(如果没到指定的时间不会合并,到了指定的时间才会合并)3、NameNode会定时的将Edits的数据和FSImage的数据进行合并(checkpoint机制)
EditsLog-->某一时刻后的,写操作信息

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

kafka源码阅读-ReplicaStateMachine(副本状态机)解析

概述 Kafka源码包含多个模块&#xff0c;每个模块负责不同的功能。以下是一些核心模块及其功能的概述&#xff1a; 服务端源码 &#xff1a;实现Kafka Broker的核心功能&#xff0c;包括日志存储、控制器、协调器、元数据管理及状态机管理、延迟机制、消费者组管理、高并发网络…

day05 Router、vuex、axios

配置 router和vuex需要在创建vue项目的时候&#xff0c;开始的时候选择Manually select features&#xff0c;于是就可以在下一个创建配置讯问中选择router和vuex。 axios则需要执行命令行&#xff1a; npm install axios -S 之后再在需要发送请求的view导入即可。 router…

某量JS逆向

https://chat.sensetime.com/wb/chat 目录 一、发起请求 二、观察发现只有入参 __data__ 进行了加密&#xff0c;返回是明文 三、 观察JS调用栈 四、从JS中搜索 __data__ 五、使用XHR对Ajax请求进行断点 六、再次发起请求就会断点拦住请求 七、对XHR入口分析 八、逐个…

挑选六西格玛管理咨询公司主要看什么

六西格玛作为一套被全球众多顶尖企业验证过的卓越绩效管理模式&#xff0c;正成为众多企业转型升级的利器。然而&#xff0c;面对市场上琳琅满目的六西格玛管理咨询公司&#xff0c;如何慧眼识珠&#xff0c;挑选出最适合自己企业的合作伙伴呢&#xff1f; 1、团队实力与专家阵…

昇思25天学习打卡营第25天|基于 MindSpore 实现 BERT 对话情绪识别

基于 MindSpore 实现 BERT 对话情绪识别 模型概述 BERT&#xff08;双向编码器表征量&#xff09;是Google于2018年发布的一种先进语言模型&#xff0c;基于Transformer架构&#xff0c;具备双向上下文理解功能。BERT的预训练方法创新性地结合了两种任务&#xff1a; Masked …

[Vulnhub] Raven2 PHPMailer-RCE+MSQP:Mysql权限提升

信息收集 IP AddressOpening Ports192.168.101.160TCP:22,80,111,46606 $ nmap -p- 192.168.101.160 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 6.7p1 Debian 5deb8u4 (protocol 2.0) | ssh-hostkey: | 1024 26:81:c1:f…

【ROS2】演示:为有损网络使用服务质量设置

目录 背景 先决条件 运行演示 命令行选项 添加网络流量 背景 请阅读有关 QoS 设置的文档页面&#xff0c;以获取有关 ROS 2 中可用支持的背景信息。 在这个演示中&#xff0c;我们将生成一个发布相机图像的节点和另一个订阅图像并在屏幕上显示图像的节点。然后&#xff0c;我们…

【JVM基础08】——类加载器-说一下类加载的执行过程?

目录 1- 引言&#xff1a;类加载的执行过程1-1 类加载的执行过程是什么&#xff1f;(What) 2- ⭐核心&#xff1a;详解类加载的执行过程(How)2-1 加载——>加载到运行时数据区2-2 验证——>类的安全性检查2-3 准备——>为类变量分配内存并设置初始值2-4 解析——>把…

Mysql explain 优化解析

explain 解释 select_type 效率对比 MySQL 中 EXPLAIN 语句的 select_type 列描述了查询的类型,不同的 select_type 类型在效率上会有所差异。下面我们来比较一下各种 select_type 的效率: SIMPLE: 这是最简单的查询类型,表示查询不包含子查询或 UNION 操作。 这种查询通常是…

html+css 实现水波纹按钮

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享htmlcss 绚丽效果&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 文…

python机器学习8--网络

1.超文本传输协议HTTP GET 在实际开发应用程序时&#xff0c;一定都会利用WiFi网络进行连接&#xff0c;再通过HTTP的方式读入后台的数据&#xff0c;并下载和显示在用户的PC上。这靠的是网络服务的技术&#xff0c;也就是大家提到的Web Service。而与HTTP服务器交换数据有两种…

STM32-寄存器时钟配置指南

目录 启动 SystemInit SetSysClock 总结 启动 从startup_stm32f0xx.s内的开头的Description可以看到 ;* Description : STM32F051 devices vector table for EWARM toolchain. ;* This module performs: ;* - Set the in…

Java解析epub电子书文件实战demo

如何使用 Java、Spring Boot 和 Epublib 库解析存储在阿里云对象存储服务&#xff08;OSS&#xff09;上的 EPUB 文件。这里将指导您完成设置必要依赖项、配置 OSS 客户端以及编写服务以读取和提取 EPUB 文件章节的全过程。 步骤1&#xff1a;添加依赖项 首先&#xff0c;将 E…

08 字符串和字节串

使用单引号、双引号、三单引号、三双引号作为定界符&#xff08;delimiter&#xff09;来表示字符串&#xff0c;并且不同的定界符之间可以相互嵌套。 很多内置函数和标准库对象也都支持对字符串的操作。 x hello world y Python is a great language z Tom said, "Le…

【ESP01开发实例】-ESP-01开发环境搭建与固件烧录

ESP-01开发环境搭建与固件烧录 文章目录 ESP-01开发环境搭建与固件烧录1、ESP-01介绍2、开发环境搭建3、固件下载3.1 使用 Arduino UNO 板对 ESP8266 (ESP-01) 模块进行编程3.2 使用USB 转串口转换器对 ESP8266 (ESP-01) 模块进行编程4、点亮LED本文将详细介绍如何使用 Arduino…

springboot在加了mapper之后报错

springboot在加了mapper之后报错 最后发现是spring boot版本不兼容&#xff0c;spring-boot-starter-parent换成3.0.5之后可以了

Asp .Net Core 系列:详解授权以及实现角色、策略、自定义三种授权和自定义响应

什么是授权&#xff08;Authorization&#xff09;&#xff1f; 在 ASP.NET Core 中&#xff0c;授权&#xff08;Authorization&#xff09;是控制对应用资源的访问的过程。它决定了哪些用户或用户组可以访问特定的资源或执行特定的操作。授权通常与身份验证&#xff08;Auth…

【Git-驯化】一文搞懂git中rm命令的使用技巧

【Git-驯化】一文搞懂git中rm命令的使用技巧 本次修炼方法请往下查看 &#x1f308; 欢迎莅临我的个人主页 &#x1f448;这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免费获取相关内容文档关注&#xff1a;微信公…

JS+H5在线文心AI聊天(第三方接口)

源码在最后面 调用的不是文心官方接口 可以正常聊天 有打字动画 效果图 源代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

OpenSSL学习笔记及在项目中的使用

OpenSSL官方命令手册&#xff1a;OpenSSL commands - OpenSSL Documentation 参考教程&#xff1a; 操作&#xff1a;OpenSSL的基本使用教程(一&#xff09;_openssl.exe使用教程-CSDN博客 操作&#xff1a;Linux和Shell回炉复习系列文章总目录 - 骏马金龙 - 博客园 (cnblog…