使用Docker的Alluxio群集设置
时间:2022-04-21
本文章向大家介绍使用Docker的Alluxio群集设置,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
使用Docker搭建Alluxio群集
在之前的文章中,我们向您介绍了Docker。这篇文章将带你一起搭建Alluxio集群。
第一步是使用所需的软件包创建一个基本映像,并公开SSH端口(22)。另外,创建Alluxio master所需的Hadoop用户,以便SSH到workers并启动进程。
下一步是按照安装Alluxio所需的步骤创建一个Docker文件:
之后,创建包含集群信息(Master和Worker)的Docker-Compose文件。在本文的例子中,我们有一个master和两个worker。
version: '2'
services:
#############################
# Master1
#############################
master1:
container_name: master1
domainname: master1.dev
hostname: master1
image: alluxio_base
working_dir: /opt/apache/
restart: always
ports:
- "32000:22"
- "32001:19999"
volumes:
- ./master1:/apacheapps/data/alluxio/master1
# - ./master1/conf:/opt/apache/alluxio/conf
# - ./master1/logs:/opt/apache/alluxio/logs:rw
mem_limit: 1000000000
#############################
# worker1
#############################
worker1:
container_name: worker1
domainname: worker1.dev
hostname: worker1
image: alluxio_base
working_dir: /opt/apache/
restart: always
ports:
- "32002:22"
- "32003:30000"
- "32004:19999"
volumes:
- ./worker1:/apacheapps/data/alluxio/worker1
# - ./worker1/conf:/opt/apache/alluxio/conf
# - ./worker1/logs:/opt/apache/alluxio/logs:rw
- ./worker1/ramdisk:/mnt/ramdisk
mem_limit: 1000000000
#############################
# worker2
#############################
worker2:
container_name: worker2
domainname: worker2.dev
hostname: worker2
image: alluxio_base
working_dir: /opt/apache/
restart: always
ports:
- "32005:22"
- "32006:30000"
- "32007:19999"
volumes:
- ./worker2:/apacheapps/data/alluxio/worker2
# - ./worker2/conf:/opt/apache/alluxio/conf
# - ./worker2/logs:/opt/apache/alluxio/logs:rw
- ./worker1/ramdisk:/mnt/ramdisk
mem_limit: 1000000000
接下来,用docker-compose up -d
命令启动容器。
连接到主容器,sudo到Hadoop(sudo su - hadoop
),生成SSH密钥(ssh-keygen
),并将密钥复制(ssh-copy-id
)到worker节点(/opt/apache/alluxio/workers
)。(这一步是为了配置ssh免密登录。)
最后一步是创建Alluxio所需的配置文件,并启动集群。
cd /opt/apache/alluxio/bin.
./alluxio bootstrapConf master1
./alluxio copyDir ../conf
./alluxio format
./alluxio-start.sh all NoMount
这是群集的屏幕截图:
- 【maven学习】 利用Profile构建不同环境的部署包
- 如何写好一份渗透测试报告?
- jqGrid 关闭刷新父页面数据
- [MyBatis]诡异的Invalid bound statement (not found)错误
- jfinal自定义freemarker标签
- Angrok 一个内网穿透服务
- Druid数据库连接池 实现数据库账号密码加密
- 【maven学习】划分模块
- 缓存策略优化
- Quartz框架应用(1)
- 6个编写优质干净代码的技巧
- 【Jfinal源码】第一章 com.jfinal.core.JFinalFilter(1)
- 【ehcache】 timeToLiveSeconds 和 timeToLiveSeconds 的区别
- 升级 CentOS7 、Redis 3.2.x 的问题
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- [记录点滴]编译安装luarocks、luacheck、luautf8
- [笔记整理] 一维搜索
- [记录点滴] 使用工具和命令对redis数据进行备份恢复
- [记录点滴]Spring Boot Admin源码分析笔记
- [记录点滴] luaxml编译过程
- [源码解析] Flink UDAF 背后做了什么
- [源码解析] 当 Java Stream 遇见 Flink
- [源码解析] Flink的Slot究竟是什么?(1)
- [源码解析] Flink的Slot究竟是什么?(2)
- [记录点滴] Spark迁移到Flink的几个点
- 深度对比Python的3种“字符串格式化”方法,看看你喜欢哪一种?
- 用Python分析广州房地产市场
- 面试题-JAVA之HashMap-put方法源码分析
- 案例实战 | Python 玩转 AB 测试中的分层抽样与假设检验!(附代码和数据集)
- Python 3.10 明年发布,看看都有哪些新特性?