大数据环境部署8:Sqoop1部署安装
2015-10-31 09:34
337 查看
一、Sqoop的安装
1、下载sqoop并解压:
也可用wge命令下载
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 对应hadoop
2.x http://psg.mtu.edu/pub/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
解压:tar zxf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz
2、下载并解压MySQL
Connectors:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.36.tar.gz
解压mysql-connector-java-5.1.36.tar.gz,将mysql-connector-java-5.1.36-bin.jar复制到:$SQOOP_HOME/lib下
3、复制sqoop包到hadoop集群节点Master上。
$ scp -rsqoop-1.4.6.bin__hadoop-2.0.4-alpha spark@Master:/home/hadoop/ sqoop-1.4.6
4、设置环境变量
Vi ~/.bash_profile
source ~/.bash_profile
5、修改配置文件
在$SQOOP_HOME/conf 目录下拷贝sqoop-env-template.sh改名为sqoop-env.sh.
cp sqoop-env-template.shsqoop-env.sh
修改$SQOOP_HOME/bin/configure-sqoop(实际未作修改)
二、运行测试
启动sqoop:Sqoop1作为客户端模式,并没有服务端需要启动。
列出数据库:
sqoop list-databases--connectjdbc:mysql://172.16.247.140:3306/ --username hive --password 123456
列出表:
sqoop list-tables --connectjdbc:mysql://172.16.247.140:3306/sqoop--username hive --password 123456
把mysql中表tb1导入到hdfs:
sqoop import--connectjdbc:mysql://172.16.247.140:3306/sqoop --username hive --password123456--table tb1 -m 1
其他的一些例子:
3、说明
sqoop1和sqoop2区别
这两个版本是完全不兼容的,其具体的版本号区别为1.4.x为sqoop1,1.99x为sqoop2。sqoop1和sqoop2在架构和用法上已经完全不同。
在架构上,sqoop2引入了sqoop server(具体服务器为tomcat),对connector实现了集中的管理。其访问方式也变得多样化了,其可以通过REST
API、JAVA API、WEBUI以及CLI控制台方式进行访问。另外,其在安全性能方面也有一定的改善,在sqoop1中我们经常用脚本的方式将HDFS中的数据导入到mysql中,或者反过来将mysql数据导入到HDFS中,其中在脚本里边都要显示指定mysql数据库的用户名和密码的,安全性做的不是太完善。在sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,你输入的密码信息不被看到。
本次安装的是Sqoop1,与Sqoop2比起来安装上都差不多,使Sqoop2使用起来不太习惯。
参考:
http://f.dataguru.cn/thread-523804-1-1.html
一、Sqoop的安装
1、下载sqoop并解压:
也可用wge命令下载
sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 对应hadoop
2.x http://psg.mtu.edu/pub/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz
解压:tar zxf sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz
2、下载并解压MySQL
Connectors:
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.36.tar.gz
解压mysql-connector-java-5.1.36.tar.gz,将mysql-connector-java-5.1.36-bin.jar复制到:$SQOOP_HOME/lib下
3、复制sqoop包到hadoop集群节点Master上。
$ scp -rsqoop-1.4.6.bin__hadoop-2.0.4-alpha spark@Master:/home/hadoop/ sqoop-1.4.6
4、设置环境变量
Vi ~/.bash_profile
#forhadoop2.6.0 exportJAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.91.x86_64 exportJRE_HOME=$JAVA_HOME/jre exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH exportHADOOP_HOME=/home/spark/opt/hadoop-2.6.0 exportPATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME/bin:$PATH #forzookeeper exportZOOKEEPER_HOME=/home/spark/opt/zookeeper-3.4.6 exportPATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf #forhbase exportHBASE_HOME=/home/spark/opt/hbase-1.0.1.1 exportPATH=$PATH:$HBASE_HOME/bin #for sqoop1.4.6 exportSQOOP_HOME=/home/spark/opt/sqoop-1.4.6.bin__hadoop-2.0.4-alpha export PATH=$PATH:$SQOOP_HOME/bin
source ~/.bash_profile
5、修改配置文件
在$SQOOP_HOME/conf 目录下拷贝sqoop-env-template.sh改名为sqoop-env.sh.
cp sqoop-env-template.shsqoop-env.sh
#Setpath to where bin/hadoop is available exportHADOOP_COMMON_HOME=/home/spark/opt/hadoop-2.6.0 #Setpath to where hadoop-*-core.jar is available #exportHADOOP_MAPRED_HOME=/home/spark/opt/hadoop-2.6.0 #setthe path to where bin/hbase is available exportHBASE_HOME=/home/spark/opt/hbase-1.0.1.1 #Setthe path to where bin/hive is available #exportHIVE_HOME=/home/spark/opt/hive-1.2.1 #Setthe path for where zookeper config dir is exportZOOCFGDIR=/home/spark/opt/zookeeper-3.4.6
修改$SQOOP_HOME/bin/configure-sqoop(实际未作修改)
二、运行测试
启动sqoop:Sqoop1作为客户端模式,并没有服务端需要启动。
列出数据库:
sqoop list-databases--connectjdbc:mysql://172.16.247.140:3306/ --username hive --password 123456
列出表:
sqoop list-tables --connectjdbc:mysql://172.16.247.140:3306/sqoop--username hive --password 123456
把mysql中表tb1导入到hdfs:
sqoop import--connectjdbc:mysql://172.16.247.140:3306/sqoop --username hive --password123456--table tb1 -m 1
其他的一些例子:
sqoop list-databases --connect jdbc:mysql://xx.xx.xx.xx:3306/ --username xxxxxx --password xxxxxx sqoop list-tables --connect jdbc:mysql://192.168.56.204:3306/mysql --username root --password root sqoop list-databases -connect jdbc:mysql://xx.xx.xx.xx:3306/ -username xxxxxx -password xxxxxx sqoop create-hive-table --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --table base_dorm --username xxxxxx --password xxxxxx --hive-table base_dorm sqoop list-tables --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --table base_dorm -m 9999999 sqoop create-hive-table --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --table base_dorm --username xxxxxx --password xxxxxx --hive-table base_dorm sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --table base_dorm --hive-table base_dorm --hive-import sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --table h_59_dormentrydorm --hive-table h_59_dormentrydorm --hive-import sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --table base_dorm_sal --hive-table base_dorm_sal --hive-import -m 1 sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --table base_dorm_pur_trace --hive-table base_dorm_pur_trace --hive-import --split-by dorm_id,rid sqoop import --connect jdbc:mysql://xx.xx.xx.xx:3306/datahouse --username xxxxxx --password xxxxxx --query 'select a.order_id,a.order_mo,a.order_amount,a.order_date,a.city_desc,a.city_staff_name,a.dorm_name,b.dorm_price from base_order a left join base_food b on a.order_id=b.order_id WHERE $CONDITIONS' --target-dir /alidata/query1 --split-by a.order_id
3、说明
sqoop1和sqoop2区别
这两个版本是完全不兼容的,其具体的版本号区别为1.4.x为sqoop1,1.99x为sqoop2。sqoop1和sqoop2在架构和用法上已经完全不同。
在架构上,sqoop2引入了sqoop server(具体服务器为tomcat),对connector实现了集中的管理。其访问方式也变得多样化了,其可以通过REST
API、JAVA API、WEBUI以及CLI控制台方式进行访问。另外,其在安全性能方面也有一定的改善,在sqoop1中我们经常用脚本的方式将HDFS中的数据导入到mysql中,或者反过来将mysql数据导入到HDFS中,其中在脚本里边都要显示指定mysql数据库的用户名和密码的,安全性做的不是太完善。在sqoop2中,如果是通过CLI方式访问的话,会有一个交互过程界面,你输入的密码信息不被看到。
本次安装的是Sqoop1,与Sqoop2比起来安装上都差不多,使Sqoop2使用起来不太习惯。
参考:
http://f.dataguru.cn/thread-523804-1-1.html
相关文章推荐
- There are unfinished transactions remaining. Please run yum-complete-transaction as root.
- 8.10 Paint Fill
- container_of(ptr, type, member)宏定义解析
- Baidu Map BuslineSearch
- Daily Scrumming* 2015.10.30(Day 11)
- Daily Scrum (2015/10/30)
- Win环境下本地运行hadoop1版本出现访问权限问题 Failed to set permissions of path
- sleep()、wait()、yield()、join()方法 解析
- LeetCode Contains Duplicate III
- load mainaccount
- Mac下使用SecureCRT的一些记录
- Daily Srum 10.30
- 【POJ 1681】 Painter's Problem (高斯消元)
- 大数据挖掘技术之DM经典模型
- VS2012工程用2010打不开的以及error LNK1123: failure during conversion to COFF的解决方案
- HDU 4609 3-idiots
- sicily 1193. Up the Stairs
- AIR文件操作:使用文件对象操作文件和目录 .
- multithreading--synchronized对象锁以及对象的notify(),notifyAll(),wait()等的用法
- sicily 1093. Air Express