滴滴云使用 DataX 实现 Hive 与 MySQL 数据传输

本文介绍了如何在滴滴云环境中利用 DataX 工具进行 Hive 到 MySQL 以及 MySQL 到 Hive 的数据同步。详细步骤包括在 Hive 节点安装 Hadoop 和 Hive,在 MySQL 节点安装 MariaDB,以及配置 DataX 进行数据传输。
摘要由CSDN通过智能技术生成

1. DataX 简介:

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SQLServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。本例中将使用 DataX 实现 Hive 与MySQL之间的数据传输。

本例中所使用的资源为三台 2 核 4G 内存,40G SSD 硬盘的 DC2,EIP 带宽为 1M。
DataC:10.254.125.48
Hive:10.254.237.61
MySQL:10.254.116.249

此处 IP 为云主机内网 IP,方便三台主机之间内网通信,而下载文件或外部访问则需 EIP,即外网 IP 或弹性 IP。有关滴滴云 EIP 的使用请参考以下链接:https://help.didiyun.com/hc/kb/section/1035272/

2. 在 Hive 节点安装 Hadoop 2.7.7+Hive 2.3.4

  • 滴滴云主机出于安全考虑,默认不能通过 root 用户直接登录,需要先用 dc2-user 登录,让后用 sudo su 切换至 root。本例中默认全部以 dc2-user 用户运行命令,Hadoop 默认用户同样为 dc2-user。

  • 设置免密登录,为 dc2-user 生成公钥。

ssh-keygen -b 4096
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:zRhhVpEfSIZydqV75775sZB0GBjZ/f7nnZ4mgfYrWa8 hadoop@10-254-149-24
The key's randomart image is:
+---[RSA 4096]----+
|        ++=*+ .  |
|      .o+o+o+. . |
|       +...o o  .|
|         = .. o .|
|        S + oo.o |
|           +.=o .|
|          . +o+..|
|           o +.+O|
|            .EXO=|
+----[SHA256]-----+

输入以下命令将生成的公钥复制到本机:

ssh-copy-id -i $HOME/.ssh/id_rsa.pub dc2-user@localhost
  • 配置 Java 环境
  1. 下载 JDK
cd /home/dc2-user
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz
tar -zxf jdk-8u191-linux-x64.tar.gz
  1. 配置 Java 变量
sudo vi /etc/profile.d/jdk-1.8.sh
export JAVA_HOME=/home/dc2-user/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  1. 使环境变量生效
source /etc/profile
  1. 查看 Java 版本
java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

出现以上输出,说明 Java 环境已经配置成功。

  • 安装 Hadoop

节点下载 Hadoop 2.7.7 并解压

cd /home/dc2-user
wget http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz<br/>
tar zxf hadoop-2.7.7.tar.gz<br/>

在 /home/dc2-user/hadoop-2.7.7/etc/hadoop 下需要配置的5个文件分别是 hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml

  1. hadoop-env.sh添加如下内容
export JAVA_HOME=/home/dc2-user/jdk1.8.0_191
export HDFS_NAMENODE_USER="dc2-user"
export HDFS_DATANODE_USER="dc2-user"
export HDFS_SECONDARYNAMENODE_USER="dc2-user"
export YARN_RESOURCEMANAGER_USER="dc2-user"
export YARN_NODEMANAGER_USER="dc2-user"
  1. core-site.xml
    <configuration>
        <property>
            <name>fs.default.name</name>
            <value>hdfs://10.254.237.61:9000</value>
        </property>
    </configuration>
  1. hdfs-site.xml
<configuration>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/home/dc2-user/data/nameNode</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/home/dc2-user/data/dataNode</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
       </property>
       <property>
           <name>dfs.
  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值