# NEUStore_migrate **Repository Path**: HeterogeneousSystem/neustore_migrate ## Basic Information - **Project Name**: NEUStore_migrate - **Description**: 采用分级存储和根据数据的冷热程度迁移数据存储的优化方式提升系统性能 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-10-15 - **Last Updated**: 2021-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 基于Kafka的数据流分级存储的消息队列系统 ================= 为了提供高吞吐量和低延迟的功能, 可以使用更快的存储设备,比如 SSD,当然由于 SSD 的价格限制,不能够大量的使用, 则可以考虑使用 SSD 和 HDD 的混合存储为 Kafka 提升吞吐量、减少延迟。 ## 0 直接下载 已构建的版本,可以在这里[下载](http://120.132.109.90/nkrdp/neuKafkaDownload) ## 1 重新构建(可跳过此步) ### 前期准备 - Java 8 - 本机版本`java version "1.8.0_141"` - Gradle 5.0 or higher - 本机版本`Gradle 5.4.1` - 默认Scala 2.12,但也可以通过自定义的方式使用其他的scala版本. - 本机版本`Scala code runner version 2.12.8` - IDEA scala插件 - 本机版本 `v2018.3.7` ### Bootstrap ### cd kafka2.3_migration_source_dir gradle ### 清除构建 ### gradle clean ### 构建可执行binary包 ### gradle releaseTarGz -x signArchives 可运行的二进制版本可以在./core/build/distributions/内找到 已构建的版本,可以在这里[下载](http://120.132.109.90/nkrdp/neuKafkaDownload) ## 2 部署 ### 解压 ### tar -xvzf kafka_2.12-2.3.1-SNAPSHOT.tgz ### 更改脚本执行权限 ``` chmod a+x bin/* ``` ### 配置文件 打开`config/server.properties` ,以下配置是有关分级存储相关,可以保持不做修改 ``` replica.discover.hotdata.time.ms=120000 //数据迁移触发时间间隔 replica.replacement.strategy=lru //置换策略 lfu.init.value=5 lfu.log.factor=10 lfu.decay.time=1 //指定消息日志存储位置,第一个为固态硬盘的路径,第二个是机械硬盘的路径 log.dirs=/home/hhcb/yhlKakfa/yLogs/ssdDir,/home/hhcb/yhlKakfa/yLogs/hddDir ``` 其他配置参照kafka官方文档指导.