hadoop环境配置及HDFS配置
环境与配置
- ubuntu 20.04.6 /centos8
- hadoop 3.3.5
 指令有部分不一样但是,配置是相同的
安装步骤
- 创建一个虚拟机,克隆三个虚拟机,master内存改大一点4G,salve内存1Gj
- 修改主机名和配置静态ip(管理员模式下))
 `
 hostnamectl set-hostname node1 # 修改主机名
 sudo passwd root #设置root密码
sudo apt install -y ifupdown net-tools #安装网络服务
 sudo apt-get install openssh-server -y # 安装ssh服务
 init 6 # 重启
 vi /etc/network/interfaces # 创建文件夹,填入下面的内容
auto lo
 iface lo inet loopback
auto ens33
 iface ens33 inet static
 address 192.168.139.130
 netmask 255.255.255.0
 gateway 192.168.139.2
 dns-nameservers 223.5.5.5
 dns-nameservers 8.8.8.8
systemctl restart networking(重启网络服务)
可参考链接: https://blog.csdn.net/alfiy/article/details/122279914
 3. 修改windows的hosts和linux的host
 vim /etc/hosts # 修改主机映射
4. 设置ssh免密登录,三台机器都要
 ssh-keygen -t rsa -b 4096
ssh-copy-id node1
 ssh-copy-id node2
 ssh-copy-id node3
如果报错 Permission denied (publickey,password)
参考: https://blog.csdn.net/weixin_41891385/article/details/118631106
每台机器创建hadoop用户
sudo useradd -r -m -s /bin/bash hadoop
sudo passwd hadoop
sudo vim /etc/sudoers
 复制root那一行,把root改为hadoop
 参考链接: https://www.cnblogs.com/geyouneihan/p/9839153.html
 `
- 把hadoop包分别拉倒三个虚拟机中
 `
 mkdir -p /export/server
 tar -zxvf jdk.tar.gz -C /export/server/
 ln -s /export/server/jdk jdk
 vim /etc/profile 添加下面内容
 export JAVA_HOME=/export/server/jdk
 export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
source /etc/profile
 先删除系统的java链接,然后在添加自己的软连接
 rm -f /usr/bin/java
 ln -s /export/server/jdk/bin/java /usr/bin/java
apt-get install lib32z1 # 解决报错问题
 验证
 java -version
 javac -version
scp -r jdk/ node2:pwd/ 远程复制到node2,首先先进入到jdk所在的文件夹
 6. 关闭防火墙 sudo ufw disable 7.同步三台机器的时间
 sudo apt install -y ntp
 rm -f /etc/localtime ;sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
 apt install ntpdate
 ntpdate -u ntp.aliyun.com
 sudo service ntp restart
 8. 安装hadoop设置软连,修改hadoop文件夹下面的/etc/里面的文件
 worker 文件添加
 node1
 node2
 node3
vim hadoop-env.sh 添加
 export JAVA_HOME=/export/server/jdk
 export HADOOP_HOME=/export/server/hadoop
 export HADOOP_CONF_DIR= H A D O O P H O M E / e t c / h a d o o p e x p o r t H A D O O P L O G D I R = HADOOP_HOME/etc/hadoop export HADOOP_LOG_DIR= HADOOPHOME/etc/hadoopexportHADOOPLOGDIR=HADOOP_HOME/logs
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
 export YARN_PROXYSERVER_USER=root
下面这些参数是ubuntu系统需要的
 export HADOOP_COMMON_HOME= H A D O O P H O M E e x p o r t H A D O O P H D F S H O M E = HADOOP_HOME export HADOOP_HDFS_HOME= HADOOPHOMEexportHADOOPHDFSHOME=HADOOP_HOME
 export HADOOP_YARN_HOME= H A D O O P H O M E e x p o r t H A D O O P M A P R E D H O M E = HADOOP_HOME export HADOOP_MAPRED_HOME= HADOOPHOMEexportHADOOPMAPREDHOME=HADOOP_HOME
core-site.xml 添加
 
 fs.defaultFS
 hdfs://node1:9001
 
hdfs-site.xml 添加
 
 dfs.datanode.data.dir.perm
 700
 
 
 dfs.namenode.name.dir
 /data/nn
 
 
 dfs.namenode.hosts
 node1,node2,node3
 
 
 dfs.blocksize
 268435456
 
 
 dfs.namenode.handler.count
 100
 
 
 dfs.datanode.data.dir
 /data/dn
 
 
 dfs.namenode.datanode.registration.ip-hostname-check
 false
 
 
 dfs.replication
 3
 
三台机器都创建datanode和namenode对应的文件夹
 mkdir -p /data/nn;mkdir -p /data/dn
 把node1的hadoop文件夹复制到node2,node3
 scp -r hadoop-3.3.5/ node2:pwd/
 scp -r hadoop-3.3.5/ node3:pwd/
 复制完之后创建软连
 ln -s /export/server/hadoop hadoop
 三台机器都操作配置环境变量
 vim /etc/profile
 export HADOOP_HOME=/export/server/hadoop
 export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin::$HADOOP_HOME/sbin
source /etc/profile
为hadoop用户创建权限操作/data,/export
 chown -R hadoop:hadoop /data; chown -R hadoop:hadoop /export
 9.格式化hadoop 
 su hadoop
 hadoop namenode -format
 10.启动hadoop
 start-dfs.sh
 jps 查看启动状态
 stop-dfs.sh
 `
 11. 如果三个节点总有一个datanode或者主节点的namenode启动失败
 删除 data/dn;data/nn;hadoop/logs;hadoop/tmp里面的内容
 hadoop namenode -format 最好执行一次,否则每次执行都要删除上面的内容
相关文章:
hadoop环境配置及HDFS配置
环境与配置 ubuntu 20.04.6 /centos8hadoop 3.3.5 指令有部分不一样但是,配置是相同的 安装步骤 创建一个虚拟机,克隆三个虚拟机,master内存改大一点4G,salve内存1Gj修改主机名和配置静态ip(管理员模式下)) hostnamectl set-hostname node1 # 修改主机名 sudo passwd root …...
HTML中 meta的基本应用
meta 标签的定义 meta 标签是 head 部分的一个辅助性标签,提供关于 HTML 文档的元数据。它并不会显示在页面上,但对于机器是可读的。可用于浏览器(如何显示内容或重新加载页面),搜索引擎(SEO)或…...
docker compose 下 Redis 主备配置
1、准备两台虚拟机或者物理机 node1 IP:192.168.123.78 node2 IP:192.168.123.82 2、安装docker和docker compose 3、安装node1,配置docker-compose.yml version: 3services:redis-rs1:container_name: redis_node1image: redis:5.0.3rest…...
 
Tomcat ServletConfig和ServletContext接口概述
ServletConfig是一个接口,是Servlet规范中的一员 WEB服务器实现了ServletConfig接口,这里指的是Tomcat服务器 一个Servlet对象中有一个ServletConfig对象,Servlet和ServletConfig对象是一对一 ServletConfig对象是Tomcat服务器创建的…...
 
linux内核open文件流程
打开文件流程 本文基本Linux5.15 当应用层通过open api打开一个文件,内核中究竟如何处理? 本身用来描述内核中对应open 系统调用的处理流程。 数据结构 fdtable 一个进程可以打开很多文件, 内核用fdtable来管理这些文件。 include/linu…...
 
遗传算法讲解
遗传算法(Genetic Algorithm,GA) 是模拟生物在自然环境中的遗传和进化的过程而形成的自适应全局优化搜索算法。它借用了生物遗传学的观点,通过自然选择、遗传和变异等作用机制,实现各个个体适应性的提高。 基因型 (G…...
PostgreSQL修炼之道之高可用性方案设计(十六)
20 高可用性方案设计(一) 在一个生产系统中,通常都需要用高可用方案来保证系统的不间断运行。本章将详细介绍如何实现PostgreSQL数据库的高可用方案。 20.1 高可用架构基础 通常数据库的高可用方案都是让多个数据库服务器协同工作࿰…...
Bybit面经
缘起 V2EX有广告内推,看描述还挺不错 贴主5 年半工作经验,有两年大厂工作经历,20 年 11 月来到新加坡分公司开始工作 后来是猎头Jeff找的我 0318 主面 主要一个面试官是后端开发金融背景 某条金融线的负责人;其余是交叉面试。面…...
 
GORM---创建
目录 模型定义使用Create创建记录一次性创建多条数据批量插入数据时开启事务默认值问题 模型定义 定义一个PersonInfo结构体。 type PersonInfo struct {Id uint64 gorm:"column:id;primary_key;NOT NULL" json:"id"UserName string gorm:"co…...
高级查询 — 分组汇总
关于分组汇总 1.概述 将查询结果按某一列或者多列的值分组。 group by子句 分组后聚合函数将作用于每一个组,即每一组都有一个函数值。 语法 select 字段列表 from 表名 where 筛选条件 group by 分组的字段;select 字段列表 from 表名 group by 分组的字段 hav…...
 
【多线程】阻塞队列
1. 认识阻塞队列和消息队列 阻塞队列也是一个队列,也是一个特殊的队列,也遵守先进先出的原则,但是带有特殊的功能。 如果阻塞队列为空,执行出队列操作,就会阻塞等待,阻塞到另一个线程往阻塞队列中添加元素(…...
python2升级python3
查看当前版本 [roottest-01 node-v18.16.0]# python -V Python 2.7.5 安装依赖 [roottest-01 node-v18.16.0]# yum install -y gcc gcc-c zlib zlib-devel readline-devel 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base…...
Apache Hudi初探(八)(与spark的结合)--非bulk_insert模式
背景 之前讨论的都是’hoodie.datasource.write.operation’:bulk_insert’的前提下,在这种模式下,是没有json文件的已形成如下的文件: /dt1/.hoodie_partition_metadata /dt1/2ffe3579-6ddb-4c5f-bf03-5c1b5dfce0a0-0_0-41263-0_202305282…...
Java之旅(九)
Java 循环语句 Java 中的循环语句包括 for、while 和 do-while,它们都可以用于实现循环结构。 for 语句用于循环执行一段代码块,直到给定的条件表达式的布尔值为 false。 for 语句的一般格式如下: for (initialization; condition; update…...
 
6年测试经验之谈,为什么要做自动化测试?
一、自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。 个人认为,只要能服务于测试工作,能够帮助我们提升工作效率的,不管是所谓的自动化工具,还是简单的SQL 脚本、批处理脚本,还是自己编写…...
二分法的边界条件 2517. 礼盒的最大甜蜜度
2517. 礼盒的最大甜蜜度 给你一个正整数数组 price ,其中 price[i] 表示第 i 类糖果的价格,另给你一个正整数 k 。 商店组合 k 类 不同 糖果打包成礼盒出售。礼盒的 甜蜜度 是礼盒中任意两种糖果 价格 绝对差的最小值。 返回礼盒的 最大 甜蜜度。 记录一…...
 
java设计模式(十六)命令模式
目录 定义模式结构角色职责代码实现适用场景优缺点 定义 命令模式(Command Pattern) 又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化&a…...
[运维] iptables限制指定ip访问指定端口和只允许指定ip访问指定端口
iptables限制指定ip访问指定端口 要使用iptables限制特定IP地址访问特定端口,您可以使用以下命令: iptables -A INPUT -p tcp -s <IP地址> --dport <端口号> -j DROP请将 <IP地址> 替换为要限制的IP地址,将 <端口号&g…...
JS学习笔记(3. 流程控制)
1. 分歧 1.1 if条件 if (条件) {...} // 为真则执行,单条语句可省略大括号 if (条件) {...} else {...}// 为真则执行if,否则执行else if (条件1) {...} else if (条件2) {...} else {...} // 条件1为真则,条件2为真则,否则执…...
 
遥感云大数据在灾害、水体与湿地领域典型案例及GPT模型教程
详情点击链接:遥感云大数据在灾害、水体与湿地领域典型案例及GPT模型教程 一:平台及基础开发平台 GEE平台及典型应用案例; GEE开发环境及常用数据资源; ChatGPT、文心一言等GPT模型 JavaScript基础; GEE遥感云重…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
 
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
 
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
 
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
 
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
 
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
 
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
 
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
 
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
