ubuntu操作系统中docker下Hadoop分布式前置环境配置实验
版本:
centos7
hadoop 3.1.3
java JDK:1.8
集群规划:
master slave1 slave2 HDFS NameNode
DataNode
DataNode SecondryNameNode
DataNode
YARN NodeManager ResourceManage
NodeManager
NodeManager
1.docker容器:
把普通用户加入到docker组:
sudo gpasswd -a $USER docker
newgrp docker
配置docker容器源:
sudo vim /etc/docker/daemon.json
{"registry-mirrors" : ["http://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://nfesww3w.mirror.aliyuncs.com"],"insecure-registries" : ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],"debug" : true,"experimental" : true
}
重启docker服务:
sudo systemctl restart docker
查看docker状态:
ps -ef | grep docker
拉取centos7:7.5.1804镜像:
docker pull centos:7.5.1804
查看镜像:
docker images
创建容器:
docker run --name master -it centos:7.5.1804 /bin/bash
docker run --name slave1 -it centos:7.5.1804 /bin/bash
docker run --name slave2 -it centos:7.5.1804 /bin/bash
查看容器:
docker ps -a
启动容器:
docker start a08b
进入容器:
docker exec -it a08b00fdc6ce /bin/bash
2.配置ssh做免密登录:
由于最小化centos7,需安装 net-tools ,vim,openssh-server,oppenssh-clients
yum install -y net-tools
yum install -y vim
yum install -y openssh-server
yum install -y openssh-clients
查看每个容器中的ip
master:172.17.0.3
slave1:172.17.0.4
slave2:172.17.0.2
设置root密码为aaaaaa:
sudo passwd
修改/etc/hosts:
vi /etc/hosts
172.17.0.4 slave1
172.17.0.2 slave2
172.17.0.3 master
配置ssh公钥和私钥:(一路回车)
ssh-keygen -t rsa
暂时不知docker启动ssh方法
ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
usr/sbin/sshd -D
启动后会卡住退出重启
ps -e 查看后台sshd服务已启动:
配置所有节点免密登录(包括自己):
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-di slave2
3.配置JAVA_HOME环境:
master :在/opt/目录下分别创建software和module文件夹:
mkdir /opt/softwore
mkdir /opt/module
将ubuntu的jdk拷贝到master /opt/software上:
docker cp jdk-8u212-linux-x64.tar.gz master:/opt/software
解压jdk到 /opt/module下:
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
配置JAVA_HOME环境变量:
vi /etc/profile.d/my_env.sh
添加:
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
加载配置文件:
source /etc/profile
使用 java -version查看环境变量是否配置完成:
JAVA_HOME环境变量配置完毕
4 .配置hadoop_HOME环境:
将物理机的jar包拷贝到master/opt/module下:
docker cp hadoop-3.1.3.tar.gz master:/opt/software
解压到/opt/module 目录下:
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
配置环境变量:
vi /etc/profile.d/my_env.sh
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
加载配置文件:
source /etc/profile
用hadoop -version查看环境是否配置完成:
HADOOP_HOME环境变量配置完成
注意:
注意 配置完成后 同步给其他节点
scp -r 要发送的内容 主机名:src
5.HADOOP_配置文件:
cd /opt/module/hadoop-3.1.3/etc/hadoop
core-site.xml:
<property><name>fs.defaultFS</name><value>hdfs://master:9820</value>
</property>
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value>
</property>
yarn-site.xml:
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.resourcemanager.hostname</name><value>slave1</value>
</property><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value>
</property>
<property><name>yarn.scheduler.maxmum-allocation-mb</name><value>4096</value>
</property>
<property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</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>
hdfs-site.xmlL:
<property><name>dfs.namenode.name.http-address</name><value>master:9870</value>
</property>
<property><name>dfs.namenode.secondary.http-address</name><value>slave2:9868</value>
</property>
maperd-site.xml:
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
配置完成后同步给其他节点
scp -r hadoop slave1:/opt/moder/hadoop3.1.3/etc
6.启动hadoop:
格式化hadoop :
hdfs namenode -format
在hadoop3.1.3下多出data和logs两个文件
格式化成功
启动 hadoop
在master节点下:
start-dfs.sh
好,启动失败
这是由于权限问题:
在每个节点增加用户:
useradd bigdata
passwd bigdata 111111
增加/opt /module的权限:
chown bigdata:bigdata /module
并使用bigdata用户给每个节点执行ssh免密
注意在每个节点都要执行
再次在master上启动:
start-dfs.sh
在slave1上启动:
start-yarn.sh
hadoop启动成功
总结:
hadoop 启动失败 datanode 挂掉两台
docker端口问题
相关文章:

ubuntu操作系统中docker下Hadoop分布式前置环境配置实验
版本: centos7 hadoop 3.1.3 java JDK:1.8 集群规划: masterslave1slave2HDFS NameNode DataNode DataNode SecondryNameNode DataNode YARNNodeManager ResourceManage NodeManager NodeManager 1.docker容器: 把普通用户加入到docker组&am…...

【Linux学习笔记】protobuf 基本数据编码
https://zhuanlan.zhihu.com/p/557457644https://zhuanlan.zhihu.com/p/557457644 [新文导读] 从Base64到Protobuf,详解Protobuf的数据编码原理本篇将从Base64再到Base128编码,带你一起从底层来理解Protobuf的数据编码原理。本文结构总体与 Protobuf 官…...

OpenCV快速入门:图像分析——图像分割和图像修复
文章目录 前言一、图像分割1.1 漫水填充法1.1.1 漫水填充法原理1.1.2 漫水填充法实现步骤1.1.3 代码实现 1.2 分水岭法1.2.1 分水岭法原理1.2.2 分水岭法实现步骤1.2.3 代码实现 1.3 GrabCut法1.3.1 GrabCut法原理1.3.2 GrabCut法实现步骤1.3.3 代码实现 1.4 Mean-Shift法1.4.1…...

BART - 磁共振重建库 linux系统安装 MATLAB 使用
本文主要介绍如何在linux系统中安装伯克利大学的磁共振重建库BART 和在matlab中的配置使用。 安装必要的库 (linux 命令行) $ sudo apt-get install make gcc libfftw3-dev liblapacke-dev libpng-dev libopenblas-dev 下载编译BART 文件 (官网链接:BART Toolbox) 命令行下…...
在linux下在官网的nginxtar包 的安装方式并配置全局变量
在Linux系统中,Nginx是一种流行的Web服务器和反向代理服务器,它可以提供高性能的静态内容服务和动态内容服务。本文将详细介绍如何在Linux系统中安装Nginx,并配置全局变量。 安装Nginx 以下是在Linux系统中安装Nginx的步骤: 1.…...
Java中数据库查询方法MapListProcessor的应用
1.供应链系统的销售合同捉过了两个金额一样的,同一个项目 2.合同号也一样,oaid不一样,但是从OA前台只有一个 3.一个是建云的一个是泛微的 4.做下过滤,如果同一个合同编号,在泛微里面有的,建云的就不获取了 …...

一键换肤功能
使用css3的css变量来实现 示例: 代码: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name&qu…...

Oracle SQL 注入上的 Django GIS 函数和聚合漏洞 (CVE-2020-9402)
漏洞描述 Django 于2020年3 月4日发布了一个安全更新,修复了 GIS 函数和聚合中的 SQL 注入漏洞。 参考链接: Django security releases issued: 3.0.4, 2.2.11, and 1.11.29 | Weblog | Django 该漏洞要求开发者使用 JSONField/HStoreField;此外&…...
MYSQL 排序和分组怎么做?
文章目录 前言MySQL 排序语法在命令提示符中使用 ORDER BY 子句在PHP脚本中使用 ORDER BY 子句 MySQL 分组GROUP BY 语法实例演示使用 WITH ROLLUP 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:Mysql 🐱👓博…...

ESP32 ESP-IDF5.1 在Visual Studio Code中自定义分区表与调整Flash大小
好记心不如烂笔头 使用ESP-IDF开发ESP32的时候,要是同时用到蓝牙和WIFI的话,很多时候会提示Flash不够, 我是照着这样解决的,存档记录 来源 : zaixingxing2539 大佬的 ESP32 ESP-IDF5.0 在VSCODE中自定义分区表 用Visual Studio Code自定义分区表 # ESP-IDF Partition Table…...

【Amazon】通过代理连接的方式导入 AWS EKS集群至KubeSphere主容器平台
文章目录 一、设置主集群方式一:使用 Web 控制台方式二:使用 Kubectl命令 二、在主集群中设置代理服务地址方式一:使用 Web 控制台方式二:使用 Kubectl命令 三、登录控制台验证四、准备成员集群方式一:使用 Web 控制台…...

网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记)
网络爬虫(Python:Selenium、Scrapy框架;爬虫与反爬虫笔记) SeleniumWebDriver 对象提供的相关方法定位元素ActionChains的基本使用selenium显示等待和隐式等待显示等待隐式等待 Scrapy(异步网络爬虫框架)Sc…...
一个简易计算器实现(c语言)
该程序使用c语言实现了一个简易的计算器,该计算器具有以下功能: 1、设计功能选择界面,实现菜单选择、数据输入和输出的功能; 2、至少自定义五个子函数分别完成加、减、乘、除以及求模运算功能; 3、考虑代码的健壮性和…...

JVM——垃圾回收算法(垃圾回收算法评价标准,四种垃圾回收算法)
目录 1.垃圾回收算法发展简介2.垃圾回收算法的评价标准1.吞吐量2.最大暂停时间3.堆使用效率 3.垃圾回收算法01-标记清除算法垃圾回收算法-标记清除算法的优缺点 4.垃圾回收算法02-复制算法垃圾回收算法-复制算法的优缺点 5.垃圾回收算法03-标记整理算法标记整理算法的优缺点 6.…...

【虚拟机】在VM中安装 CentOS 7
1.2.创建虚拟机 Centos7是比较常用的一个Linux发行版本,在国内的使用比例还是比较高的。 大家首先要下载一个Centos7的iso文件,我在资料中给大家准备了一个mini的版本,体积不到1G,推荐大家使用: 我们在VMware《主页》…...
Qt 信号与槽简介
Qt是一个跨平台的C应用程序开发框架,它提供了丰富的功能和工具来帮助开发者构建高质量、高性能的GUI应用程序。在Qt中,信号与槽(Signal and Slot)机制是一种用于处理事件的重要特性。 信号(Signal)…...

ruoyi-plus-vue docker 部署
本文以 ruoyi-vue-plus 5.x docker 部署为基础 安装虚拟机 部署文档 安装docker 安装docker 安装docker-compose 配置idea环境 上传 /doicker 文件夹 到服务器;赋值 777权限 chmod -R 777 /docker idea构建 jar 包 利用 idea 构建镜像; 创建基础服务 docker…...

springboot使用redis缓存乱码(key或者 value 乱码)一招解决
如果查看redis中的值是这样 创建一个配置类就可以解决 package com.deka.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; i…...

rk3588配置uac功能,android13使能uac及adb的复合设备
最近,因新增需求需要在现有产品上增加UAC的功能,查阅并学习相关知识后,在rk3588 SOC硬件平台搭载android13系统平台上成功配置了uac及uac&adb的复合设备。基于开源共享精神希望给大家提供些参考。 1.技术可行性预研 (1&#…...

对未来新能源车测试工具的看法
汽车行业正在经历变革的说法算是比较轻描淡写的了,还记得我1983年加入这个行业时,行业聚焦点是引入发动机管理系统。当时还是以家庭掀背车为主的时代,发动机分析仪的体积像衣柜一样大,还没出现“CAN”通信协议。现在经常听到我的导…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)
目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...