1、部署安装
1.1 系统要求
1.1.1 X86架构芯片
DataSong支持X86芯片下的Windows、Linux操作系统
操作系统 | 操作系统版本号 | 运行环境 | 运行环境版本号 |
---|---|---|---|
Windows | 7,10 | jdk-windows-x64 | jdk1.8 jdk11 |
CentOS | 6,7 | jdk-linux-x64 | jdk1.8 jdk11 |
Ubuntu | 14.04及以上 | jdk-linux-x64 | jdk1.8 jdk11 |
中科方德 | 4 | jdk-linux-x64 | jdk1.8 jdk11 |
1.1.2 ARM架构芯片
DataSong支持飞腾FT-2000芯片下的银河麒麟操作系统
操作系统 | 操作系统版本号 | 运行环境 | 运行环境版本号 |
---|---|---|---|
银河麒麟 | v10 | jdk-arm | jdk1.8 jdk11 |
1.2目录结构
- bin目录
bin
文件夹用于存放可执行脚本文件,实现DataSong的启动、关闭、状态查看以及重启等操作,其中.sh
文件后缀为Linux运行脚本,.bat
为Windows执行脚本。 - conf目录
conf
用于存放系统配置文件,用户可以根据需要进行配置调整。 - lib目录
lib是系统运行过程中需要的依赖文件。 - logs目录
logs
用于存放系统运行过程生成的相关日志文件。 - plugin目录
plugin
放置系统运行过程中可能用到的插件(与配置参数有关)。 - resource目录
resource
是系统的资源目录,包含了平台支持的存储引擎安装部署文件。
1.3 元数据部署
DataSong采用裁剪后的内置MySQL作为默认元数据库,也可连接外部MySQL数据库使用。内置MySQL会在安装时自动部署到plugin/mysql
目录下,安装后默认端口为3306,用户名为datasong,密码为iscas123。
1.4 启动/停止DataSong
1.4.1启动
- 前台启动
Windows
:进入bin目录下,双击start-datasong.bat
文件,也可使用cmd或powershell执行start-datasong.bat脚本。
Linux
:进入bin目录下,执行./start-datasong.sh
,需事先确认是否有执行权限。 - 后台启动
Windows
:同上
Linux
:进入bin目录下,执行nohup sh ./start-datasong.sh &
,启动后日志会写入到nohup.out
文件中,需事先确认是否有执行权限。 - 启动确认
可通过jps
命令查看系统中是否存在DataSongApplication
进程,也可通过浏览器或CURL工具访问http://ip:15680/datasong
如果返回相关信息即说明启动成功
1.4.2 停止
Windows
:进入bin目录下,双击stop-datasong.bat
文件,也可使用cmd或powershell执行stop-datasong.bat脚本。
Linux
:进入bin目录下,执行./stop-datasong.sh
,需事先确认是否有执行权限。
1.4.3 重启
Windows
:进入bin目录下,双击restart-datasong.bat
文件,也可使用cmd或powershell执行stop-datasong.bat脚本。
Linux
:进入bin目录下,执行./restart-datasong.sh
,需事先确认是否有执行权限。
1.5黑白名单配置
连接DataSong元数据库,默认端口为3306,用户名为datasong,密码为iscas123,选择datasong.iplistmetadata
表,执行
INSERT INTO `datasong`.`iplistmetadata`(`_id`, `IP`, `Kind`, `CreateTime`) VALUES ('1', '192.168.100.1-255', 0, '2021-01-01 00:00:00');
其中192.168.100.1-255为访问datasong客户端所在ip网段。
Kind字段为0时表示允许访问,为1时表示禁止访问。
2、参数配置
配置文件位于conf文件夹,可对组件进行参数配置。
2.1 开启/关闭组件
DataSong支持关系型数据存储服务(MySQL、Clickhouse)、全文检索存储服务(Elasticsearch)、非关系型数据存储服务(MongoDB、HBase)、内存数据存储服务(Redis)、本地文件存储服务、分布式文件存储服务(HDFS)、图数据存储服务(Neo4j)、关系型缓存服务(Caffeine)。
打开conf/component.xml
文件进行编辑,对需要使用的组件增加配置。(注:同一服务类型的组件只能开启一个)
服务类型 | 组件 | 配置项 |
---|---|---|
全文检索服务 | Elasticsearch | <bean id="fulltextDataService"class=“com.iscas.datasong.service.component.es.ElasticSearchService” scope=“singleton”> |
关系型数据存储服务 | MySQL | <bean id="sqlDataService"class=“com.iscas.datasong.service.component.mysql.MySqlService” scope=“singleton” > |
关系型数据存储服务 | Clickhouse | <bean id="sqlDataService"class=“com.iscas.datasong.service.component.clickhouse.ClickHouseService” scope=“singleton” > |
非关系型数据存储服务 | HBase | <bean id="backupDataService"class=“com.iscas.datasong.service.component.hbase.HBaseDataService” scope=“singleton”> |
非关系型数据存储服务 | MongoDB | <bean id="nosqlDataService"class=“com.iscas.datasong.service.component.mongodb.MongoDBService” scope=“singleton”> |
内存数据存储服务 | Redis | <bean id="memDataService"class=“com.iscas.datasong.service.component.redis.RedisDataService” scope=“singleton”> |
本地文件存储服务 | LocalFile | <bean id="smallFileService"class=“com.iscas.datasong.service.component.local.LocalDataService” scope=“singleton”> |
分布式文件存储服务 | HDFS | <bean id="largeFileService"class=“com.iscas.datasong.service.component.hdfs.FileDataService” scope=“singleton”> |
图数据存储服务 | Neo4j | <bean id="graphDataService"class=“com.iscas.datasong.service.component.neo4j.GraphDBService” scope=“singleton”> |
关系型缓存服务 | Caffeine | <bean id="cacheService"class=“com.iscas.datasong.core.cacheservice.impl.CaffeineCacheService” scope=“singleton”> |
需要开启的组件可将相关配置添加到标签中间
2.2 元数据连接配置
元数据库连接配置文件位于conf/application.properties
配置项 | 默认值 | 说明 |
---|---|---|
spring.datasource.url | jdbc:mysql://127.0.0.1:3306/datasong?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true | DataSong所用元数据库ip和端口 |
spring.datasource.username=datasong | datasong | DataSong所用元数据库用户名 |
spring.datasource.password=iscas123 | iscas123 | DataSong所用元数据库密码 |
server.port | 15680 | DataSong服务端口号 |
2.3 Elasticsearch配置
Elasticsearch配置文件位于conf/elasticsearch.properties
配置项 | 默认值 | 说明 |
---|---|---|
elasticsearch.config.instance.base.ip | 无 | Elasticsearch集群IP,多个节点ip可用分号分隔 |
elasticsearch.config.instance.base.port | 9300 | Elasticsearch集群端口,多个节点端口用分号分隔,数量需与ip保持一致 |
elasticsearch.config.common.base.refresh_interval | 5 | 内存数据落盘延时,单位秒,增大会提升写入性能,但数据不能被立即查询 |
elasticsearch.config.common.base.defaultAnalyzer | ik | 分词插件 |
elasticsearch.config.common.base.clusterName | 无 | 集群名称,应与Elasticsearch集群名称一致 |
elasticsearch.config.common.base.shardCount | 5 | 数据分片数量,根据Elasticsearch集群规模按需调整 |
elasticsearch.config.common.base.replicasCount | 1 | 副本数量(不包含主本) |
2.4 HBase配置
HBase配置文件位于conf/hbase.properties
配置项 | 默认值 | 说明 |
---|---|---|
hbase.config.common.base.host | 无 | HBase集群所用Zookeerper的主机名,多个主机名可用半角逗号分隔,主机名应事先配置在客户端hosts文件中 |
hbase.config.instance.base.port | 2181 | HBase集群所用Zookeeper端口号 |
2.5 HDFS配置
HDFS配置文件位于conf/hdfs.properties
配置项 | 默认值 | 说明 |
---|---|---|
hdfs.config.common.base.nameNode | 无 | [IP:port格式],例:172.16.10.120:9000 |
hdfs.config.common.base.basePath | /datasong | HDFS文件存储根目录 |
2.6 MySQL配置
MySQL配置文件位于conf/mysql.properties
配置项 | 默认值 | 说明 |
---|---|---|
mysql.config.instance.base.ip | 无 | MySQL数据库IP |
mysql.config.instance.base.port | 3306 | MySQL数据库端口号 |
mysql.config.instance.base.username | 无 | 登录用户名 |
mysql.config.instance.base.password | 无 | 登录密码 |
mysql.config.instance.base.database | 无 | 默认数据库名 |
2.7 本地文件存储服务配置
本地文件存储服务配置文件位于conf/localfile.properties
配置项 | 默认值 | 说明 |
---|---|---|
local.config.common.base.localFileBase | 无 | 本地存储路径 |
local.config.common.base.folderMode | None | 自动生成目录模式,支持None、Day、Month,即不自动生成、按天生成按月生成 |
2.8 MongoDB配置
MongoDB配置文件位于conf/mongo.properties
配置项 | 默认值 | 说明 |
---|---|---|
mongo.config.common.base.host | 无 | MongoDB数据库IP |
mongo.config.common.base.port | 27017 | MongoDB数据库端口号 |
mongo.config.common.base.username | 无 | MongoDB数据库用户名 |
mongo.config.common.base.password | 无 | MongoDB数据库密码 |
2.9 Clickhouse配置
Clickhouse配置文件位于conf/clickhouse.properties
配置项 | 默认值 | 说明 |
---|---|---|
clickhouse.config.instance.base.ip | 无 | Clickhouse数据库IP |
clickhouse.config.instance.base.port | 8123 | Clickhouse数据库端口号 |
clickhouse.config.instance.base.username | 无 | Clickhouse登录用户名 |
clickhouse.config.instance.base.password | 无 | Clickhouse登录密码 |
2.10 Redis配置
Redis配置文件位于conf/redis.properties
配置项 | 默认值 | 说明 |
---|---|---|
redis.config.common.base.ip | 无 | Clickhouse数据库IP |
redis.config.common.base.port | 6379 | Clickhouse数据库端口号 |
redis.config.common.base.database | 无 | Clickhouse登录用户名 |
redis.config.common.base.password | 无 | Clickhouse登录密码 |
2.11 Neo4j配置
Neo4j配置文件位于conf/ neo4j.properties
配置项 | 默认值 | 说明 |
---|---|---|
neo4j.config.common.base.host | 无 | Neo4j数据库IP |
neo4j.config.common.base.port | 7687 | Neo4j数据库端口号 |
neo4j.config.common.base. username | 无 | Neo4j登录用户名 |
neo4j.config.common.base.password | 无 | Neo4j登录密码 |