顺序:
①Mariadb
②Hive数据仓库
③Sqoop.
前提:该Sqoop教程基于Hadoop平台HDFS文件存储系统(首先要搭建Hadoop平台HDFS文件存储系统)
如有问题请点击相应按钮查看文章寻找解决方法!
Hadoop平台HDFS文件系统搭建 | Mariadb安装 | Hive数据仓库安装
Sqoop安装
1.下载sqoop
2、解压、编辑sqoop配置文件
-
- (1)、创建压缩包存在的文件夹,创建压缩包解压后的位置(看过之前文章的应该都知道)
mkdir /usr/tar
mkdir -p /usr/apps/sqoop
-
- (2)、进入创建好的文件夹(tar)
cd /usr/tar
-
- (3)、解压
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/apps/sqoop/
-
- (4)、进入Sqoop的conf修改配置文件
cd /usr/apps/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/conf
-
- (5)、改名或复制模板配置文件(两种方法都可行)
#改名 mv sqoop-env-template.sh sqoop-env.sh
#复制 cp sqoop-env-template.sh sqoop-env.sh
-
- (6)、编辑Sqoop配置文件
vi sqoop-env.sh
内容如下
export HADOOP_COMMON_HOME=/usr/apps/hadoop/hadoop-2.7.4 #Set path to where hadoop-*-core.jar is available export HADOOP_MAPRED_HOME=/usr/apps/hadoop/hadoop-2.7.4 #Set the path to where bin/hive is available export HIVE_HOME=/usr/apps/hive/apache-hive-1.2.2-bin
3、Mariadb(MySQL)的jar包设置
cd /usr/apps/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0/lib
#上传jar包 rz
4、sqoop环境变量设置
vi /etc/profile
-
- 最后一行添加:
#SQOOP_HOME export SQOOP_HOME=/usr/apps/sqoop/sqoop-1.4.7.bin__hadoop-2.6.0 export PATH=$PATH:$SQOOP_HOME/bin
-
- 刷新使环境变量立即生效
source /etc/profile
5、sqoop安装验证
-
- (1)、输入命令验证:
sqoop-version
-
- (2)、sqoop连接mysql验证
sqoop list-databases -connect jdbc:mysql://localhost:3306/ --username root --password 000
6、打开SQLyog
两种方法:
第一种:SQLyog连接Linux系统里的Mariadb(MySQL)进行操作
第二种:SQLyog连接Windows系统的IP也就是localhost,之后进行导入时一样执行
两种方法,你觉得怎么方便就使用哪一种就可以
个人觉得第一种,所以先写在第一位了。
第一种方法:连接Linux里的Mariadb(MySQL)
-
- (1)、新建连接界面操作
MySQL主机地址:你的master主机地址,例如192.168.1.4
用户名:root
密码:000
还记不记得输入过的命令:允许远程访问GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '000' WITH GRANT OPTION;000为最后导入的时候你需要用到的密码
如果连接不上记得在Mariadb里输入该命令
进入Mariadb:mysql -uroot -p000
输入允许远程访问命令即可。
端口:3306(无需改动)
数据库:留空(无需改动)
-
- (2)、进入数据库操作
本次可用到命令如下:
#创建库: create databases 库名; #允许某账户使用某密码进行远程访问: GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '000' WITH GRANT OPTION; #用户名:root #密码:000
想要执行哪一条命令需要先选中,点击类似于播放按钮“▶”的图标,即可执行
刷新:选中服务器(SQLyog)最上层“root@192.168.1.4”,右键,“Refresh Object Browser”即可刷新
创建库,库名为userdb
CREATE DATABASE userdb;
插入命令
DROP TABLE IF EXISTS `emp`;
CREATE TABLE `emp` ( `id` INT(11) NOT NULL, `name` VARCHAR(100) DEFAULT NULL, `deg` VARCHAR(100) DEFAULT NULL, `salary` INT(11) DEFAULT NULL, `dept` VARCHAR(10) DEFAULT NULL, PRIMARY KEY (`id`) ); INSERT INTO `emp` VALUES ('1201', 'gopal', 'manager', '50000', 'TP'); INSERT INTO `emp` VALUES ('1202', 'manisha','Proof reader', '50000', 'TP'); INSERT INTO `emp` VALUES ('1203', 'khalil','php dev', '30000', 'AC'); INSERT INTO `emp` VALUES ('1204', 'prasanth','php dev', '30000', 'AC'); INSERT INTO `emp` VALUES ('1205', 'kranthi','admin', '20000', 'TP');
创建表、插入信息
DROP TABLE IF EXISTS `emp_add`; CREATE TABLE `emp_add` ( `id` int(11) NOT NULL, `hno` varchar(100) DEFAULT NULL, `street` varchar(100) DEFAULT NULL, `city` varchar(100) DEFAULT NULL, PRIMARY KEY (`id`) ); INSERT INTO `emp_add` VALUES ('1201', '288A', 'vgiri', 'jublee'); INSERT INTO `emp_add` VALUES ('1202', '108I','aoc', 'sec-bad'); INSERT INTO `emp_add` VALUES ('1203', '144Z','pgutta', 'hyd'); INSERT INTO `emp_add` VALUES ('1204', '78B','old city', 'sec-bad'); INSERT INTO `emp_add` VALUES ('1205', '720X','hitec', 'sec-bad');
-
- (3)、HDFS文件系统:MySQL表导入(在Linux系统中输入命令)
sqoop import --connect jdbc:mysql://master:3306/userdb --username root --password 000 --target-dir /sqoopresult --table emp --num-mappers 1
-
- 第二种方法:连接Windows系统里的MySQL
-
- (1)、新建连接界面操作
MySQL主机地址:localhost
用户名:root
密码:000
还记不记得输入过的命令:允许远程访问GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '000' WITH GRANT OPTION;000为最后导入的时候你需要用到的密码
如果连接不上记得在Mariadb里输入该命令
进入Mariadb:mysql -uroot -p000
输入允许远程访问命令即可。
端口:3306(无需改动)
数据库:留空(无需改动)
-
- (3)、在Windows系统的MySQL中输入允许远程访问数据库命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY '000' WITH GRANT OPTION;
-
- (4)、HDFS文件系统:MySQL表导入(在Linux系统中输入命令)
sqoop import --connect jdbc:mysql://你的Windows电脑的IP:3306/userdb --username root --password 000 --target-dir /sqoopresult --table emp --num-mappers 1
Sqoop迁移完毕之后可以打开网址:master主机地址:50070查看
例如:192.168.1.4:50070
点击:Utilities>Browse the file system>即可查看
教程完毕