一· 配置文件
需要架包
sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar
mysql-connector-java-5.1.38-bin
解压
tar -zxvf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar
修改文件名为sqoop(名字太长了,修改个简单一点的名字)
路径如图
将mysql-connector-java-5.1.38-bin文件放在sqoop的lib目录下面
路径如图
修改sqoop/conf里面sqoop-env.sh
vi sqoop-env.sh
vi /etc/profile
添加
#sqoop
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
刷新 source /etc/profile
二·Sqoop基础指令(在Sqoop的bin目录下执行下列指令)
查看mysql所有数据库
sh sqoop list-databases --connect jdbc:mysql://192.168.6.22:3306/ -username root -password root
现在mysql数据库的test数据下建立一张tabx表,并插入测试数据
查看指定数据库下的所有表
sh sqoop list-tables --connect jdbc:mysql://192.168.6.22:3306/hive -username root -
password root
查看所有数据库
show databaese;
进入到mysql数据库
use mysql;
建表:
create table tabx (id int,name varchar(20));
insert into tabx (id,name) values (1,'aaa'),(2,'bbb'),(3,'ccc'),(1,'ddd'),(2,'eee'),(3,'fff');
上传文件并解压,在conf目录下面创建一个配置文件template.conf
在里面添加相关配置
#配置Agent a1 的组件
a1.sources=r1 a1.channels=c1 (可以配置多个,以空格隔开,名字自己定) a1.sinks=s1 (可以配置多个,以空格隔开,名字自己定
#描述/配置a1的r1
a1.sources.r1.type=netcat (netcat表示通过指定端口来访问) a1.sources.r1.bind=0.0.0.0 (表示本机)
a1.sources.r1.port=44444 (指定的端口,此端口不固定,但是不要起冲突
#描述a1的s1
a1.sinks.s1.type=logger (表示数据汇聚点的类型是logger日志)
#描述a1的c1
a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100
#位channel 绑定 source和sink
a1.sources.r1.channels=c1 (一个source是可以对应多个通道的) a1.sinks.s1.channel=c1 (一个sink,只能对应一个通道)
配置环境变量:
vi /etc/bashrc(在etc文件下给bashrc添加环境变量)
export FLUME_HOME=/opt/bao/flume
export FLUME_CONF_DIR=$FLUME_HOME/con
export PATH=$PATH:$FLUME_HOME/bin
source …bashrc
运行FlumeAgent,监听本机的44444端口
-n 后面对应agent名称
-c 配置文件目录
-f 配置文件地址
flume-ng agent -n a1 -c conf -f ../conf/template.conf
nc localhost 44444 hello flume
hello flume
通过外部http请求访问对应的ip和端口
http://192.168.6.22:44444/hello
在虚拟机这边,会出现如下提示: