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看是否有传输文件

相关推荐
lllsure1 小时前
Python基础语法
开发语言·python
zxctsclrjjjcph2 小时前
【高并发内存池】从零到一的项目之centralcache整体结构设计及核心实现
开发语言·数据结构·c++·链表
zm3 小时前
服务器多客户端连接核心要点(1)
java·开发语言
炯哈哈3 小时前
【上位机——MFC】单文档和多文档视图架构
开发语言·c++·mfc·上位机
FuckPatience3 小时前
关于C#项目中 服务层使用接口的问题
java·开发语言·c#
编程轨迹_3 小时前
使用 Spring 和 Redis 创建处理敏感数据的服务
java·开发语言·restful
赵和范4 小时前
C++:书架
开发语言·c++·算法
boooo_hhh4 小时前
第J7周:对于ResNeXt-50算法的思考
开发语言·python·深度学习
LSL666_5 小时前
Java——多态
java·开发语言·多态·内存图
麓殇⊙5 小时前
CurrentHashMap的整体系统介绍及Java内存模型(JVM)介绍
java·开发语言·jvm