Giter VIP home page Giter VIP logo

firstblood's Introduction

精简版ETL数据转换工具

功能

1.数据同步(目前只支持MySQL)
2.执行SQL脚本 (后期开发)
3.定时执行

安装(两种方法)

1.Docker 镜像安装

系统已打包成docker镜像,3个多G,可以直接使用

1.1 拉取镜像
docker pull hanson001/first_blood:v1
1.2 运行容器
docker run -itd --privileged -p 10028:22 -p 9028:9000 -p 3328:3306 -p 8080:8080 --name FirstBlood_test  hanson001/first_blood:v1 /usr/sbin/init

10028映射centos系统ssh连接端口,用户名root 密码 123.com
3328映射MySQL数据库端口,用户名root 密码123.com
8080映射内部websocket端口
9028映射内部系统访问端口,登录地址:http://服务器IP:9028 用户名 admim 密码123456.com

2.源码配置安装

准备环境

1.python 环境 2.7
2.安装requirements.txt里的依赖包,若运行时还报缺少模块的错误,再安装缺少的模块。
3.创建日志目录
  cd <项目路径/FirstBlood>
  mkdir log

建表

整个项目所需要的表,关于用户认证、权限控制等等使用django自带的,而项目其它功能模块使用原生SQL语句创建。
涉及到项目功能模块增删改查,全部使用原生SQL语句。
涉及到用户认证、权限控制等等,使用Django的orm。

1.create_table.sql 执行建表语句,创建项目中各个模块所需要的表
2.执行 python manage.py migrate,创建项目用户认证、权限控制所需要的表(Django自带)

运行其它服务

由于项目使用到定时任务和异步实时查询日志功能,所以需要使用到celery和websockted。
这两个服务的启动和运行全部交给supervisord托管,所以需要配置好supervisord配置文件。
supervisord配置文件分两个,dev为开发环境的配置文件,pro为生产环境的配置文件。
里面的路径需要根据自己实际的环境配置。

1.配置完成后执行以下命令,启动celery和websocketed服务
  supervisord -c 项目路径/FirstBlood/supervisord/FirstBlood_pro.conf (开发环境使用FirstBlood_dev.conf文件)

2.根据配置文件里的日志路径查看是否报错,有报错百度、Google。
  如果错误不影响功能的使用,则忽略。

settings配置文件

由于项目的settings配置文件,需要根据开发环境、生产环境来连接不同环境的数据库,所以需要在开发环境添加变量。
settings文件里就可以通过development_environment变量,选择是连接生产数据库,还是开发环境数据库。
1.1 修改 bash_profile 文件
    vim ~/.bash_profile
    # 程序根据不同环境变量加载测试或生产的配置文件
    development_environment=1
    export development_environment

下载阿里开发数据同步工具datax

5.1 下载datax工具,放在项目目录下
    项目路径/FirstBlood/datax

5.2 创建日志目录
    由于项目的数据同步,底层使用的datax,而datax产生的日志文件名是固定长度,且以datax的 json配置文件名命名,
    当配置文件名超过日志文件名的固定长度时,datax将会以固定长度截取配置文件名,来命名日志文件名称。所以无法以
    datax的自生的日志来实时显示同步日志。所以需要新创建日志目录 web_log,以任务ID+13位时间戳命名日志文件名,
    将datax产生的日志导入web_log目录里。

    操作命令:
    cd 项目路径/FirstBlood/datax/
    mkdir web_log

启动

以上步骤执行完成后,就可以运行项目。若有错误,百度Google。

使用

大部分功能操作参照博客
databaseinfo 表,需要预先导入生产库的表信息

firstblood's People

Contributors

hanson007 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

firstblood's Issues

没有初始化数据

网络上关注了您的项目,但安装完成后没有初始化数据,无法正常登录。是否可以提供相关数据放到Code中。

怎么启动后台服务celery的是有用如下错误呢?我用的Python2.5.7

Traceback (most recent call last):
File "/data/FirstBlood-master/manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/init.py", line 364, in execute_from_command_line
utility.execute()
File "/usr/lib/python2.7/site-packages/django/core/management/init.py", line 356, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/lib/python2.7/site-packages/django/core/management/init.py", line 206, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/usr/lib/python2.7/site-packages/django/core/management/init.py", line 40, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/usr/lib64/python2.7/importlib/init.py", line 37, in import_module
import(name)
File "/usr/lib/python2.7/site-packages/djcelery/management/commands/celery.py", line 11, in
class Command(CeleryCommand):
File "/usr/lib/python2.7/site-packages/djcelery/management/commands/celery.py", line 23, in Command
preload_options)
TypeError: can only concatenate list (not "tuple") to list

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.