sqoop,flume草稿

连xftp传sqoop压缩包到/opt/soft 目录下

cd opt/soft/

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop

cd sqoop/conf/

cp sqoop-env-template.sh sqoop-env.sh

vi sqoop-env-sh

export HADOOP_COMMON_HOME=/opt/soft/hadoop

export HADOOP_MAPRED_HOME=/opt/soft/hadoop

export HBASE_HOME=/opt/soft/hbase

export HIVE_HOME=/opt/soft/hive

vi /etc/profile

export SQOOP_HOME=/opt/soft/sqoop

export PATH=PATH:SQOOP_HOME/bin

export HIVE_CONF_DIR=/opt/soft/hive/conf

export HADOOP_CLASSPATH=HADOOP_CLASSPATH:HIVE_HOME/lib/*

export CLASSPATH=.:$HIVE_HOME/lib

source /etc/profile

start-all.sh

zkServer.sh start

rm -rf /opt/soft/sqoop/lib/jackson-*

cp /opt/soft/hive/lib/mysql-connector-java-5.1.37.jar /opt/soft/sqoop/lib/

cp /opt/soft/hive/conf/hive-site.xml /opt/soft/sqoop/conf/

cp /opt/soft/hive/lib/hive-common-3.1.2.jar /opt/soft/sqoop/lib/

cp /opt/soft/hive/lib/hive-exec-3.1.2.jar /opt/soft/sqoop/lib/

cp /opt/soft/hive/lib/libthrift-0.9.3.jar /opt/soft/sqoop/lib/

cp /opt/soft/hive/lib/disruptor-3.3.6.jar /opt/soft/sqoop/lib/

cp /opt/soft/hive/lib/jackson-* /opt/soft/sqoop/lib/

useradd hadoop

su hadoop

测试sqoop是否能够正常连接MySQL数据库。

sqoop list-databases --connect jdbc:mysql://127.0.0.1:3306/ --username root -password 123456

创建MySQL数据库和数据表。

mysql -uroot -p

create database sample;

use sample;

create table student (number char(9) primary key,name char(10));

insert into student values('01','zhangsan');

insert into student values('02','lisi');

insert into student values('03','wangwu');

select * from student;

exit

在hive中创建sample数据库和student数据表。

su root

cd /opt/soft/hive/conf

vi hive-site.xml 85改217

hive

create database sample;

show databases;

use sample;

create table student(number STRING,name STRING) row format delimited fields terminated by "|" stored as textfile;

exit;

列出MySQL数据库

sqoop list-databases -connect jdbc:mysql://localhost:3306/ -username root -password 123456

连接MySQL并列出sample库中的表

sqoop list-tables -connect jdbc:mysql://localhost:3306/sample -username root -password 123456

从MySQL中导出数据,并导入hive。

sqoop import --connect jdbc:mysql://192.168.217.80:3306/sample --username root --password 123456 --table student --fields-terminated-by '|' --delete-target-dir --num-mappers 1 --hive-import --hive-database sample --hive-table student

从hive中导出数据,并导入MySQL。

sqoop export --connect "jdbc:mysql://192.168.217.80:3306/sample?useUnicode=true&characterEncoding=utf-8" --username root --password 123456 --table student --input-fields-terminated-by '|' --export-dir /user/hive/warehouse/sample.db/student/*

查看数据是否导入浏览器 192.168.217.80:50070

Utilities user hive warehouse sample.db student

列出MySQL数据库中的所有数据库。

sqoop list-databases -connect jdbc:mysql://localhost:3306/ -username root -password 123456

连接MySQL并列出test数据库中的表。

sqoop list-tables -connect jdbc:mysql://localhost:3306/test -username root -password 123456

将关系型数据的表结构复制到hive中。

sqoop create-hive-table -connect jdbc:mysql://localhost:3306/test -table sqoop_test -username root -password Password 123456 -hive-table test

从关系数据库导入文件到hive中。

sqoop import -connect jdbc:mysql://localhost:3306/zxtest -username root -password 123456 -table sqoop_test -hive-import -hive-table s_test -m 1

从关系数据库导入MySQL中。

sqoop export -connect jdbc:mysql://localhost:3306/zxtest -username root -password root -table hive_test -export-dir /user/hive/warehouse/ new_test_partition

从数据库导出表的数据到HDFS文件中。

sqoop import -connect jdbc:mysql://localhost:3306/comperssion-username=hadoop-password=123456 -table HADOOP_USER_INFO -m 1 -target-dir /user/test

从数据库增量导入表数据到HDFS中

sqoop import -connect jdbc:mysql://localhost:3306/compression -username=hadoop -password=123456 -table HADOOP_USER_INFO -m 1 -target-dir /user/test -check-columnid -incremental append -last-value 3

解压、安装Flume

解压安装

解压、

cd /opt/soft

tar -zxvf apache-flume-1.6.0-bin.tar.gz

安装Flume 配置Flume

mv apache-flume-1.6.0-bin flume

vim /etc/profile

内容:

export FLUME_HOME=/opt/soft/flume

export PATH=PATH:FLUME_HOME/bin

source /etc/profile

cd /opt/soft/flume/conf

ls一下

cp flume-env.sh.template flume-env.sh

ls一下 看有没有生成flume-env.sh

vim flume-env.sh

内容:

export JAVA_HONE=/opt/soft/jdk

验证

flume-ng version

删除一些包

cd /opt/soft/hadoop/share/hadoop/common/lib

rm -rf guava-11.0.2.jar

在hdfs创建:hdfs dfs -mkdir -p /tmp/flume

然后给权限:hdfs dfs -chmod 777 /tmp/flume让它能够接收和发送数据

cd /opt/soft/flume

配置文件

vim simple-hdfs-flume.conf

内容为

a1.sources=r1

a1.sinks=k1

a1.channels=c1

a1.sources.r1.type=spooldir

a1.sources.r1.spoolDir=/opt/soft/hadoop/logs/

a1.sources.r1.fileHeader=true

a1.sinks.k1.type=hdfs

a1.sinks.k1.hdfs.path=hdfs://master:9000/tmp/flume

a1.sinks.k1.hdfs.rollsize=1048760

a1.sinks.k1.hdfs.rollCount=0

a1.sinks.k1.hdfs.rollInterval=900

a1.sinks.k1.hdfs.useLocalTimeStamp=true

a1.channels.c1.type=file

a1.channels.c1.capacity=1000

a1.channels.c1.transactionCapacity=100

a1.sources.r1.channels=c1

a1.sinks.k1.channel=c1

使用flume命令加载simple-hdfs-flume.conf配置信息,启动Flume传输数据

flume-ng agent --conf-file simple-hdfs-flume.conf --name a1

hdfs dfs -ls /tmp/flume看是否有传输文件

相关推荐
dangdang___go10 分钟前
动态内存管理||malloc和free.realloc和calloc
c语言·开发语言·算法·动态内存管理
YA33320 分钟前
mcp-grafana mcp 使用stdio报错
java·开发语言
周杰伦_Jay23 分钟前
【Go 语言主流 Web】 框架详细解析
开发语言·后端·微服务·架构·golang
PfCoder1 小时前
WinForm真入门(20)——StatusStrip控件解析
开发语言·windows·c#·winform·statusstrip
灵犀坠1 小时前
前端面试八股复习心得
开发语言·前端·javascript
代码游侠1 小时前
学习笔记——数据结构学习
linux·开发语言·数据结构·笔记·学习
沐知全栈开发1 小时前
XML 验证器
开发语言
自学互联网2 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
合作小小程序员小小店2 小时前
桌面开发,在线%医院管理%系统,基于vs2022,c#,winform,sql server数据
开发语言·数据库·sql·microsoft·c#
一点★2 小时前
“equals”与“==”、“hashCode”的区别和使用场景
java·开发语言