• 大数据-Datax安装部署


    环境要求:

    Linux

    JDK 1.8

    Python 3.6.5

    一、下载压缩包

    方法一:下载页面地址:https://github.com/alibaba/DataX

    不要在【Clone or download】处下载,那里下载的是源码;对于Java不是很在行的人来说,自行编译显得有点困难。

    而是在:【Quick Start】--->【Download DataX下载地址】进行下载。下载后的包名:datax.tar.gz 解压后{datax}目录下有{bin  conf  job  lib  log  log_perf  plugin  script  tmp}几个目录。

    方法二:使用命令:wget http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz

    二、安装

    1、首先:解压datax.tar.gz到相应的安装目录: $ sudo tar -zxf ~/下载/datax.tar.gz -C /usr/local

    2、修改文件权限$ sudo chmod -R 755 /usr/local/datax

    3、由于我的python版本是3以上,官方datax只能使用python2.7版本,是因为语法问题,需要下载相应的文件:https://github.com/365taole/DataX_Python3

    解压放置在datax/bin目录,环境切换到py3即可启动,亲测可用

    4、进入bin目录 $ cd /usr/local/datax/bin

    三、同步作业测试

    例一、 hadoop@hadoop-master:/usr/local/datax/bin$ python3 datax.py /usr/local/datax/job/job.json

    1 结果:
    2 2020-02-29 12:29:32.717 [job-0] INFO  JobContainer - 
    3 任务启动时刻                    : 2020-02-29 12:29:22
    4 任务结束时刻                    : 2020-02-29 12:29:32
    5 任务总计耗时                    :                 10s
    6 任务平均流量                    :          253.91KB/s
    7 记录写入速度                    :          10000rec/s
    8 读出记录总数                    :              100000
    9 读写失败总数                    :                   

    例二、mysql数据同步到hive中(hive是hadoop内的一个数据仓库,进入hive之前,要先打开hadoop)

    1 hadoop@hadoop-master:/usr/local/hive$ cd /usr/local/hadoop
    2 hadoop@hadoop-master:/usr/local/hadoop$ sbin/start-dfs.sh
    3 *****
    4 hadoop@hadoop-master:/usr/local/hadoop$ cd /usr/local/hive/bin
    5 hadoop@hadoop-master:/usr/local/hive/bin$ ./hive

    1.进入mysql--建表--插入数据

    进入mysql:mysql -u root -p

    查看数据库:show databases;

    新建数据库:create database db_name;

    进入数据库:use dn_name;

    新建表:create table dim_area( id int(20) not null auto_increment primary key, name varchar(32) not null, parent_id int(20) );
    插入数据:nsert into dim_area(id,name,parent_id) values (110000,'beijing',null);

    查看表数据:select * from dim_area;

    查看表结构:desc dim_area;

    查看数据库端口:show global variables like 'port';

    2.进入hive并建表

    查看数据库:show databases;

    新建数据库:create database db_name;

    进入数据库:use dn_name;

    创建表:create table dim_area(id int,name string,parent_id int) row format delimited fields terminated by '/t';

    查看数据库基本信息:desc formatted dim_area;

    3.编辑.json文件

    大多数情况下,mysql的本地ip均为127.0.0.1,端口号为3306

    查找hive表的路径:命令:desc formatted dim_area;

     1 {
     2     "content":[
     3         {
     4             "reader":{
     5                 "name":"mysqlreader",
     6                 "parameter":{
     7                     "connection":[
     8                         {
     9                             "jdbcUrl":[
    10                                 "jdbc:mysql://127.0.0.1:3306/db_name"
    11                             ],
    12                             "querySql":[
    13                                 "SELECT id, name, parent_id FROM dim_area;"
    14                             ]
    15                         }
    16                     ],
    17                     "password":"*******",
    18                     "username":"root"
    19                 }
    20             },
    21             "writer":{
    22                 "name":"hdfswriter",
    23                 "parameter":{
    24                     "column":[
    25                         {
    26                             "name":"id",
    27                             "type":"int"
    28                         },
    29                         {
    30                             "name":"name",
    31                             "type":"string"
    32                         },
    33                         {
    34                             "name":"parent_id",
    35                             "type":"int"
    36                         }
    37                     ],
    38                     "compress":"",
    39                     "defaultFS":"hdfs://192.168.1.100:9000/",
    40                     "fieldDelimiter":"	",
    41                     "fileName":"tmp",
    42                     "fileType":"text",
    43                     "path":"/user/hive/warehouse/db_name.db/dim_area",
    44                     "writeMode":"append"
    45                 }
    46             }
    47         }
    48     ],
    49     "setting":{
    50         "speed":{
    51             "channel":10
    52         }
    53     }
    54 }
    注:一定要注意path属性的路径编写方式

    例二结果同例一

  • 相关阅读:
    Python2 和 Python3的区别 更新中
    CentOS下图形界面安装_Orcaale 11g
    Nmap_使用介绍
    shell_innobackup增量备份步骤
    shell_跳板机推送公钥
    shell_clean_log
    shell_xtrabackup_backup_mysql
    gitlab免密登录
    gitlab安装与部署
    git合并分支
  • 原文地址:https://www.cnblogs.com/daisy99lijing/p/12383350.html
Copyright © 2020-2023  润新知