[bigdata-028]apache nifi 从mysql导出数据到hbase
2017-01-12 11:32
363 查看
0.在hbase节点,启动thrift服务
hbase-daemon.sh start thrift
1. 在本机启动nif
./bin/nifi.sh start
2. 在浏览器输入http://localhost:8080/nifi,看到nifi的界面
3. 拖一个processor ExecuteSQL到界面
3.1 在processor上点击右键,选择configure,点击第三个tab,也就是properties
3.2 在property列表,选择 database connection pooling service-->DBCPConnectionPool,然后再点击右侧的箭头,配置下一个选项,
3.3 于是到了Process Group Configuration页面,点击右侧“+”符号,添加一个mysql数据库的连接。
jdbc:mysql://192.168.20.175:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true
com.mysql.jdbc.Driver
/home/xxxx/mysql-connector-java-5.1.39.jar
root
123456
3.4 然后,在回到ExecuteSQL的properties,设置SQL select query为 select * from user
3.5 设置Max Wait Time为10 seconds
4. 从mysql里出来的是avro格式的数据,需要将它转化成json格式。拖一个ConvertAvroToJson processor到界面。然后,从ExecuteSQL拖一条线到ConvertAvroToJson,关系为success。
5. 添加一个SplitJson processor到界面,然后从ConvertAvroToJson拖一条线到SplitJson,关系为success。
5.1 配置SplitJson,在properties页,将JsonPathExpression设置为*
6. 添加一个PutHbaseJson processor到界面,然后配置PutHbaseJson
6.1 在properties页,配置HBase Client Service成为 HBase_1_1_2_ClientService
6.2 完成6.1之后,点击右侧的小箭头,增加HbaseClientService,然后点击edit按键,在properites做如下设置:
ZooKeeper Quorum :192.168.2.xxxx
Zookeeper client port: 2181
Zookeeper znode parent: /hbase
Hbase client Reties: 1
6.3 配置完成后,点击小闪电,让配置生效
6.4 配置RowIdentifier。因为传入的是Json,所以使用FieldName为ID,填写ColumnFamlity和TableName,点击Apply。
Table Name: my_user1 #这是hbase的一张表
Row Identifier Field Name: id
Row Identified Encoding Strategy: String
Column Famlily: prop
7. 从SplitJosn连接到PutHbaseJson,关系为Split
8. 增加一个LogAttribute,将其他所有processor的failure以及splitJson的Original关系全部连接到它上面。
9. 将LogAttribute和PutHbaseJson的setting配置页面的Automatically terminate 勾选成success。
10. 在PutHbaseJson出错了。把zookeeper cp过来,看连接
zkCli.sh -server 192.168.0.xxx:2181
ls /
ls /hbase
get /hbase/hmaster
11. 最容易出现的问题,是各节点机的hostname和Hosts文件配置文件。
12.1 集群四种节点:mysql节点,hbase节点,nifi节点,nifi client节点。
12.2 如果出现问题,通常都是上述四种节点的/etc/hosts和/etc/hostname出现错误。
12.3 错误类型:不能根据hostname找到对应的ip,在错误log里有错误的ip地址。所以操作者需要熟悉各hostname和对应ip关系,发现陌生的或者不合理的ip,要及时做修改。
hbase-daemon.sh start thrift
1. 在本机启动nif
./bin/nifi.sh start
2. 在浏览器输入http://localhost:8080/nifi,看到nifi的界面
3. 拖一个processor ExecuteSQL到界面
3.1 在processor上点击右键,选择configure,点击第三个tab,也就是properties
3.2 在property列表,选择 database connection pooling service-->DBCPConnectionPool,然后再点击右侧的箭头,配置下一个选项,
3.3 于是到了Process Group Configuration页面,点击右侧“+”符号,添加一个mysql数据库的连接。
jdbc:mysql://192.168.20.175:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=true
com.mysql.jdbc.Driver
/home/xxxx/mysql-connector-java-5.1.39.jar
root
123456
3.4 然后,在回到ExecuteSQL的properties,设置SQL select query为 select * from user
3.5 设置Max Wait Time为10 seconds
4. 从mysql里出来的是avro格式的数据,需要将它转化成json格式。拖一个ConvertAvroToJson processor到界面。然后,从ExecuteSQL拖一条线到ConvertAvroToJson,关系为success。
5. 添加一个SplitJson processor到界面,然后从ConvertAvroToJson拖一条线到SplitJson,关系为success。
5.1 配置SplitJson,在properties页,将JsonPathExpression设置为*
6. 添加一个PutHbaseJson processor到界面,然后配置PutHbaseJson
6.1 在properties页,配置HBase Client Service成为 HBase_1_1_2_ClientService
6.2 完成6.1之后,点击右侧的小箭头,增加HbaseClientService,然后点击edit按键,在properites做如下设置:
ZooKeeper Quorum :192.168.2.xxxx
Zookeeper client port: 2181
Zookeeper znode parent: /hbase
Hbase client Reties: 1
6.3 配置完成后,点击小闪电,让配置生效
6.4 配置RowIdentifier。因为传入的是Json,所以使用FieldName为ID,填写ColumnFamlity和TableName,点击Apply。
Table Name: my_user1 #这是hbase的一张表
Row Identifier Field Name: id
Row Identified Encoding Strategy: String
Column Famlily: prop
7. 从SplitJosn连接到PutHbaseJson,关系为Split
8. 增加一个LogAttribute,将其他所有processor的failure以及splitJson的Original关系全部连接到它上面。
9. 将LogAttribute和PutHbaseJson的setting配置页面的Automatically terminate 勾选成success。
10. 在PutHbaseJson出错了。把zookeeper cp过来,看连接
zkCli.sh -server 192.168.0.xxx:2181
ls /
ls /hbase
get /hbase/hmaster
11. 最容易出现的问题,是各节点机的hostname和Hosts文件配置文件。
12.1 集群四种节点:mysql节点,hbase节点,nifi节点,nifi client节点。
12.2 如果出现问题,通常都是上述四种节点的/etc/hosts和/etc/hostname出现错误。
12.3 错误类型:不能根据hostname找到对应的ip,在错误log里有错误的ip地址。所以操作者需要熟悉各hostname和对应ip关系,发现陌生的或者不合理的ip,要及时做修改。
相关文章推荐
- 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- sqoop从hbase导出数据到mysql
- Mysql数据导入到Hbase报错:org.apache.hadoop.hbase.HTableDescriptor.addFamily
- Sqoop_详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- [bigdata-001] mysql 5.7 由于安全问题不能导出数据的解决方式
- Sqoop_详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出
- 大数据基础(二)hadoop, mave, hbase, hive, sqoop在ubuntu 14.04.04下的安装和sqoop与hdfs,hive,mysql导入导出
- 使用sqoop1导出mysql数据到hbase中
- 从hbase(hive)将数据导出到mysql
- mysql数据导入导出语句
- MySQL中的导出数据(mysqldump)命令使用详解
- 从mysql中导出表及数据
- MySQL数据的导出工具:mysqldump的使用
- Mysql 导出数据表结构
- MySQL数据的导出和导入工具:mysqldump
- MySQL导入导出大量数据的程序实现方法
- MySQL数据导入导出方法与工具介绍(3-Exporting Data)
- MySQL数据导入导出方法与工具介绍(2-import from sql files)