使用docker安装分布式hadoop(阿里hadoop镜像)

2023-10-26

前面使用了docker自带的镜像安装,那么这篇使用阿里镜像搭建hadoop集群,也参考了网上部分播客,但是多多少少有问题,我这篇播客是全部经过实践测试成功跑起来的。

1、安装hadoop镜像

1)拉取镜像

拉取阿里的hadoop镜像
docker pull registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
在这里插入图片描述
查看镜像
docker images
在这里插入图片描述

3)创建hadoop容器

(1)创建master节点
docker run --name master -d -h master registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
参数说明:
-h 为容器设置主机名
–name 设置容器的名称
-d 在后台运行

(2)以此方法创建slave1和slave2节点
docker run --name slave1 -d -h slave1 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
docker run --name slave2 -d -h slave2 registry.cn-hangzhou.aliyuncs.com/kaibb/hadoop
(3)查看容器
docker ps -s
在这里插入图片描述
(4)进入容器查看jdk
docker exec -it master bash
jdk都已经自带了
在这里插入图片描述
(5)配置ssh生成秘钥,所有的节点都要配置
进入容器后
启动ssh
/etc/init.d/ssh start
生成秘钥
·ssh-keygen -t rsa
在这里插入图片描述
(5)分别进入每个节点,将其他节点的公钥也都复制到authorized_keys,也就是说每个>authorized_keys 文件中存储的公钥都是3个而且是一样的
将容器中的文件复制到centos本地
·docker cp 容器id/容器名称:/root/.ssh/authorized_keys /home/hadoop/authorized_keys_master在这里插入图片描述
将这三个文件复制到一个文件中
cd /home/hadoop/
cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
cat authorized_keys
在这里插入图片描述
将centos本地的文件复制到容器
docker cp /home/hadoop/authorized_keys 容器id/容器名称:/root/.ssh/authorized_keys
在这里插入图片描述
(6)分别为每个节点配置ip地址
进入容器,在此容器中可以直接使用ip addr命令查看ip地址
在这里插入图片描述
为每个容器设置地址,vi /etc/hosts 配置
在这里插入图片描述
ssh master 测试一下,测试成功
在这里插入图片描述

2、配置hadoop(配置文件的目录一般都在/opt/tools/hadoop-2.7.2/etc/hadoop/下面)

1)配置hadoop-env.sh,配置jdk

(1)进入容器查找 hadoop-env.sh存放位置

find / -name hadoop-env.sh
(2)查看 hadoop-env.sh文件
在这里插入图片描述

export JAVA_HOME=/opt/tools/jdk1.8.0_77

在这里插入图片描述

2)配置core-site.xml,配置hdfs的地址和端口号
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/hadoop/tmp</value>
    </property>

在这里插入图片描述

3)配置hdfs-site.xml ,配置hdfs备份数量,配置namenode和datanode的数据路径

/hadoop/data 和 /hadoop/name要提前建立此文件夹
mkdirp -p /hadoop/data
mkdirp -p /hadoop/name

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/hadoop/data</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/hadoop/name</value>
  </property>
</configuration>

slave数量要大于等于备份的数量,否者会报错
在这里插入图片描述

4)配置 mapred-site.xml,指定MapReduce运行在yarn上,配置JobTracker的地址和端口。
  <configuration>
  <property>
    <name>mapred.job.tracker</name>
    <value>localhost:9001</value>
</property>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

在这里插入图片描述

5)配置yarn-site.xml,配置hdfs备份数量

在这里插入图片描述
配置参数

 <property>
     <name>yarn.resourcemanager.address</name>
    <value>master:8032</value>
 </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
   <property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value> </property> <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
</property>
<property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8089</value>
</property>

在这里插入图片描述

6)将这些参数发送到其它节点

scp /opt/tools/hadoop-2.7.2/etc/hadoop/yarn-site.xml slave1:/opt/tools/hadoop-2.7.2/etc/hadoop/
将core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml yarn-site.xml 发送到slave1 和slave2节点 在这里插入图片描述

3、运行hadoop

1)配置slaves

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

2)在master上格式化namenode

hadoop namenode -format
在这里插入图片描述

3)在master上启动集群

cd /opt/tools/hadoop/sbin/
./start-all.sh
在这里插入图片描述

3)jps 查看进程,查看到说明已启动

在这里插入图片描述

4)进入slave1查看进程

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用docker安装分布式hadoop(阿里hadoop镜像) 的相关文章

随机推荐

  • 数据结构与算法 ---- 线性表 及Java实现 顺序表、链表、栈、队列

    数据结构与算法是程序设计的两大基础 大型的IT企业面试时也会出数据结构和算法的题目 它可以说明你是否有良好的逻辑思维 如果你具备良好的逻辑思维 即使技术存在某些缺陷 面试公司也会认为你很有培养价值 至少在一段时间之后 技术可以很快得到提高
  • 散列表(hash表)的基本原理以及hash冲突(碰撞)

    散列表为什么诞生 它用于做什么 先说说数组 数组的优点是查找比较快 但是添加和删除效率比较低 再说说链表 链表的优点是添加和删除效率比较快 相对于数组 但是遍历需要一个指针从头节点往后找 两者都各有优点和缺点 那么有没有一种方法 既可以添加
  • MAC(m1)-VMWare Fusion CentOS8设置静态IP、SSH连接

    在使用虚拟机的时候 默认情况下使用的DHCP协议 根据网段自动分配ip 分配的动态IP地址 使得每次打开虚拟机后当前的IP地址都会发生变化 这样不方便管理 为了能够给当前虚拟机设置 一个静态IP地址 方便后期使用XShell连接工具进行连接
  • 打造属于自己的正则表达式

    概述 首先需要说明的一点 无论是Winform 还是Webform 都有很成熟的日历控件 无论从易用性还是可扩展性上看 日期的选择和校验还是用日历控件来实现比较好 前几天在CSDN多个版块看到需要日期正则的帖子 所以整理了这篇文章 和大家一
  • 【windows无法自动将IP协议堆栈绑定到网络适配器的一种解决办法】

    今天打开笔记本发现没网了 能够连上WiFi但无法连接到互联网 以太网能够检测到网线插入 但同样无法连接到互联网 使用windows自带的疑难解答进行检测结果为网络适配器的驱动程序可能出现问题 以管理员身份进行修复也失败 查看详情提示wind
  • linux命令之sh的用法

    shell简介 sh命令就是shell 而我们知道shell的作用是什么 shell就是用来解释linux命令的 我们输入命令 指示linux帮我们做什么 而linux本身是看不懂我们输入的命令的 它只认识01 而事实显然不是如此 那么在用
  • vcs import src < ros2.repos失败

    网上找到的ros安装教程 但是运行到下面几部的时候出现了问题 1 mkdir p ros2 ws src 2 cd ros2 ws 3 wget https raw githubusercontent com ros2 ros2 dashi
  • 大Sql文件使用cmd命令执行

    sqlcmd S 127 0 0 1 U sa P 123 d tcd test1217 i E fap sql 键入 sqlcmd S 127 0 0 1 U sa P 000000 d DataBaseName i sqlfileNam
  • 读书笔记 - Direct93D游戏程序设计入门

    这本书是directx入门很好的教材 门槛低 可以了解directx很多基本的东西 可以作为跳板 看完以后去学习更高级的东西 比如directx自带的sample 以前看过这本书 现在再看一遍 主要目的是熟悉dx基本绘制知识 书中主要包含到
  • 2012-04-26 14:42 PROFILE各种选项

    2012 04 26 14 42 PROFILE各种选项 1 用户创建语句选项 引发的血案 如果大家细心的话 在创建用户的语法中有这么一个选项 PROFILE profile 下面是 11gR2官方文档中关于创建用户的语法描述 较之的文档可
  • 漏洞补丁:漏洞命名(CVE和CNNVD)及补丁查找

    摘要 以前一个项目 最近收到一份脆弱性分析报告 漏洞报告 通过这份报告小技能 1 记录一下报告中几个重要编号说明和如何下载对应的补丁文件 一 名称介绍 截图为报告的部分内容 里面包含了编号 描述 解决地址 这里对 CVE编号 CVSS分值
  • redis集群的维护(redis-cli --cluster 命令用法)

    目录 前言 1 cluster create 创建集群 2 cluster check 检查集群 3 cluster info 查看集群 4 cluster fix 修复集群 5 cluster rehard 迁移槽位 6 cluster
  • Windows10下安装Carla及基本操作

    1 Carla介绍 一款用于自动驾驶研究的开源模拟器 2 安装依赖 首先我们需要确保电脑已安装Python3 X 在命令行中输入 pip install user pygame numpy 安装pygame和numpy模块 3 下载ZIP文
  • 回归预测

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 内容介绍 采用 DNN 深度神经网络作为模型训练架构 具体如图 3 所示 模型输入 将网络训练
  • WebAssembly学习(三)——初步读取本地文件

    WebAssembly学习 三 初步读取本地文件 在之前的学习记录里面 已经实现了简单的hello word打印 在这一步学习如何利用SDL库打印图案以及加载文件 原文参考Emscripten的官网 利用SDL库打印图案 SDL库 SDL是
  • 【动态规划】背包问题(详细总结,很全)

    动态规划 一 背包问题 1 背包问题总结 1 动规四部曲 2 递推公式总结 3 遍历顺序总结 2 01背包 1 二维dp数组 代码实现 2 一维dp数组 代码实现 3 完全背包 代码实现 4 多重背包 代码实现 一 背包问题 1 背包问题总
  • Docker查看容器挂载目录

    只显示Docker容器挂载目录信息 docker inspect format Config Volumes 369a1376f78c 显示Docker容器和物理主机挂载目录信息 方法一 docker inspect f Mounts 36
  • AttributeError: module ‘faiss‘ has no attribute ‘StandardGpuResources‘

    pip install faiss gpu pip install faiss cpu 若安装了GPU版本的Faiss 仍然报以下错误 module faiss has no attribute StandardGpuResources m
  • 自动化测试只会用工具就行?真不是这样

    软件测试是对项目研发过程的产物 文档 代码等 进行审查 保障产品质量的过程 我们可以通过手工测试 自动化测试 工具扫描等方法完成这个任务 其中 自动化测试是当前重要的一种测试方法 具有响应速度快 稳定性高 人工干预少的特点 很好地契合了高响
  • 使用docker安装分布式hadoop(阿里hadoop镜像)

    前面使用了docker自带的镜像安装 那么这篇使用阿里镜像搭建hadoop集群 也参考了网上部分播客 但是多多少少有问题 我这篇播客是全部经过实践测试成功跑起来的 1 安装hadoop镜像 1 拉取镜像 拉取阿里的hadoop镜像 dock