用dedecms做的网站是模板网站么,台州做网站的公司,江西省楚天建设集团有限公司网站,彩投网站建设sqoop sqoop2Sqoop是流行的Hadoop数据传输工具。 Sqoop允许从结构化数据存储#xff08;如关系数据库#xff0c;企业数据仓库和NoSQL数据存储#xff09;轻松导入和导出数据。 Sqoop还与Hive#xff0c;HBase和Oozie等基于Hadoop的系统集成。 在此博客文章中#xff0c;… sqoop sqoop2 Sqoop是流行的Hadoop数据传输工具。 Sqoop允许从结构化数据存储如关系数据库企业数据仓库和NoSQL数据存储轻松导入和导出数据。 Sqoop还与HiveHBase和Oozie等基于Hadoop的系统集成。 在此博客文章中我将介绍可用于在Sqoop中管理密码的各种选项。 Sqoop是一个非常稳定且易于使用的工具可用于将数据传入和传出Hadoop。 但是如果要自动执行导入/导出过程则密码必须在计划文本中这可能会被滥用。 以下是应对这一挑战的一些解决方案。 1.在文件系统中使用受保护的文件 为产品和开发创建单独的文件将单独的帐户用于产品和开发总是一个好习惯。 根据用户设置文件权限 ProdFile只有Prod用户可以访问 -rw------- 1 vgunnuProd staff 1.1M Oct 6 2014 password.txt 开发文件授予组读取权限–在团队成员之间共享文件 -rw-r----- 1 vgunnuDev staff 1.1M Oct 6 2014 password.txtsqoop import --connect jdbc:mysql://mapr.com/sqoop \--username sqoop \--password-file /mapr/democluster/opt/passwords/prodpass.txt --table vgunnu2.从数据库中读取密码 维护Dev和PROD数据库表并利用MySQL授权权限锁定PROD密码表以允许从Prod边缘节点访问某些用户。 # Read password from database
# Select Password from mapr.Prod where applicationdbmapr.vgunnu
echo -n $Password /mapr/democluster/opt/passwords/prodpass.txt
sqoop import --connect jdbc:mysql://mapr.com/sqoop \--username vgunnu \--password-file /mapr/democluster/opt/passwords/prodpass.txt --table vgunnu
rm /mapr/democluster/opt/passwords/prodpass.txt3.使用数据库和Expect脚本 在上述选项中我们可以使用linux spawn and Expect脚本来代替将密码保存到文件中。 #!/bin/bash
# Read password from database
# Select Password from mapr.Prod where applicationdbmapr.vgunnu
# Read password to variable pwd
/usr/bin/expect «EOFspawn sqoop import --connect jdbc:mysql://mapr.com/sqoop --username vgunnu -P --table vgunnuexpect Enter password:send $pwd\r\nset timeout -1 # Wait for Sqoop to finishexpect ~~~~~~~~~~~~wait
EOF4.使用Hadoop CredentialProvider API 在Hadoop 2.6中引入了一项基本功能–凭据API。 Hadoop中的CredentialProvider API允许分离应用程序以及它们如何存储所需的密码/秘密。 在Sqoop 1.4.5中Sqoop支持credentail API密钥库。 生成加密的credentail密钥库 [maprmaprdemo ~]$ hadoop credential create msql.vgunnudb -provider jceks://maprfs/user/mapr/mysql.password.m.jceks
Enter password:
Enter password again:
msql.vgunnudb has been successfully created.
org.apache.hadoop.security.alias.JavaKeyStoreProvider has been updated.[maprmaprdemo ~]$ hadoop credential list -provider jceks://maprfs/user/mapr/mysql.password.m.jceks
Listing aliases for CredentialProvider: jceks://maprfs/user/mapr/mysql.password.m.jceks
msql.vgunnudbsqoop import -Dhadoop.security.credential.provider.pathjceks://maprfs/user/mapr/mysql.password.m.jceks \--connect jdbc:mysql://mapr.com/sqoop \--username vgunnu \--password-file /mapr/democluster/opt/passwords/prodpass.txt --table vgunnu \-–password-alias msql.vgunnudb 在此博客文章中您了解了可用于在Sqoop中管理密码的不同选项。 如果您还有其他问题请在下面的评论部分中提问。 翻译自: https://www.javacodegeeks.com/2016/03/key-tips-managing-passwords-sqoop.htmlsqoop sqoop2