实验

目的

要求

目的:

  1. 掌握ETL工具Sqoop的使用;
  2. 掌握MySQL和HDFS之间的数据转换;

要求:

  1. 掌握ETL工具Sqoop的使用;
  2. 能够正常操作数据库、表、数据;

  1. 五台独立PC式虚拟机;
  2. 主机之间有有效的网络连接;
  3. 每台主机内存2G以上,磁盘50G;
  4. 所有主机上安装CentOS7-64位操作系统;
  5. 所有主机已完成静态网络地址、主机名、主机地址映射的配置;
  6. 已完成Hadoop平台的搭建;
  7. 已完成MySQL数据库平台的搭建;
  8. 已完成Hbase的安装;
  9. 已完成Hive数据仓库的安装;
  10. 已完成Sqoop工具的安装

练习内容

步骤一:集群的启动

★ 该项的所有操作步骤使用专门用于集群的用户admin进行。

★ 启动HBase集群之前首先确保Zookeeper集群已被开启状态。(实验5台),Zookeeper的启动需要分别在每个计算机的节点上手动启动。如果家目录下执行启动报错,则需要进入zookeeper/bin目录执行启动命令。

★ 启动HBase集群之前首先确保Hadoop集群已被开启状态。 (实验5台)Hadoop只需要在主节点执行启动命令。

a) 在集群中所有主机上使用命令“zkServer.sh status”查看该节点Zookeeper服务当前的状态,若集群中只有一个“leader”节点,其余的均为“follower”节点,则集群的工作状态正常。如果Zookeeper未启动,则在集群中所有主机上使用命令“zkServer.sh start”启动Zookeeper服务的脚本;

                

b) 在主节点,查看Java进程信息,若有名为“NameNode”、“ResourceManager”的两个进程,则表示Hadoop集群的主节点启动成功。在每台数据节点,若有名为“DataNode”和“NodeManager”的两个进程,则表示Hadoop集群的数据节点启动成功, 如果不存在以上三个进程,则在主节点使用此命令,启动Hadoop集群。

主节点及备用主节点:

通信节点:

c) 确定Hadoop集群已启动状态,然后在主节点使用此命令,启动HBase集群, 在集群中所有主机上使用命令“jps”;

1、在主节点使用命令“hive”启动Hive,启动成功后能够进入Hive的控制台。

2、在控制台中使用命令“show databases;”查看当前的数据库列表。

3、在主节点使用命令“sqoop2-tool verify”验证配置是否正确;

4、使用命令“sqoop2-server start”启动Sqoop服务器,并查看java进程,若有名为“SqoopJettyServer”的进程,则表示Sqoop启动成功;

5、使用命令“sqoop2-shell”进入Sqoop的控制台;

6、MySQL集群使用root用户进行操作;

a)启动管理节点;

b)启动数据服务节点;

c)启动SQL服务节点;

练习一:MySQL->HDFS

注:*MySQL集群使用root用户进行操作;

*Hadoop、Hbase、Hive、Sqoop使用admin用户进行操作;

1、初始化Sqoop服务器连接参数;

命令:

$sqoop2-shell

>set server –host Cluster-01 –port 12000 –webapp sqoop

>show version –all

>show connector

2、建立MySQL测试表空间、表和数据;

a)创建用户sqoop并授权;

命令:

$mysql -uroot -pmysqlabc

>grant all privileges on *.* to 'sqoop'@'%' identified by 'sqoop' with grant option;

b)创建表空间(schema)sqoop,并创建测试表;

命令:

$create database sqoop;

>use sqoop;

>create table students (id int not null primary key,name varchar(20),age int);

>show tables;

>select * from students;

c)插入测试数据;

> insert into students values('10001','liyang',29);

> insert into students values('10002','lion',28);

> insert into students values('10003','leon',26);

> select * from students;

3、建立MySQL数据库连接

a) 把MySQL的数据库连接工具包“mysql-connector-java-5.1.42-bin.jar”上传到用户家目录的“setups”目录下,该目录为事先自行创建用于存放实训相关软件包的目录。

b) 将MySQL的数据库连接工具包添加到Sqoop的“extra”目录下

命令:

$ cp ~/setups/mysql-connector-java-5.1.42-bin.jar ~/sqoop/sqoop-1.99.7-bin-hadoop200/extra

c)创建数据库连接;

命令:

>sqoop2-shell

>create link -connector generic-jdbc-connector

>show link

d)建立HDFS文件系统连接;

命令:

$sqoop2-shell

>create link -connector hdfs-connector

>show link;

e)在HDFS创建用于存放导出的数据文件的目录;

命令:

#su admin

$hadoop fs -mkdir -p /user/admin/test/sqoop

f)创建数据传输事物;

命令:

$sqoop2-shell

>create job -f mysql-sqoop -t HDFS-sqoop

g)web查看

练习二:

1、在admin用户家目录/home/admin/新建一个文本文件test001.txt,内容如下:

  • 1,lcuy,25,18133333333
  • 2,lili,20,18044444444
  • 3,yueyue,24,18955555555

2、从本地文件系统复制文件到HDFS文件系统;

命令:

$ hadoop fs -put test001.txt /user/admin/test001.txt

$ hadoop fs -ls /user/admin/

$ hadoop fs -cat /user/admin/test001.txt

3、在Mysql提前创建好表结构;

命令:

# mysql -uroot -pmysqlabc

> show databases;

> grant all privileges on *.* to 'sqoop'@'%' identified by 'sqoop' with grant option;

> CREATE DATABASE sqoop;

> use sqoop;

> create table test001(id int not null primary key,name varchar(20),age int,tel varchar(20));

> select*from test001;

4、创建job并执行导入到MySQL中;

命令:

> show job

> start job -n HDFS-mysql

> status job -n HDFS-mysql

> exit

5、在MySQL查询导入的数据;

命令:

# mysql -uroot -pmysqlabc

> show databases;

> use sqoop;

> show tables;

> select*from test001;

Hadoop集群的基本操作(五:Sqoop的基本操作)相关推荐

  1. Hadoop集群搭建(五:Hadoop HA集群模式的安装)

    实验 目的 要求 目的: 1.Hadoop的高可用完全分布模式的安装和验证 要求: 完成Hadoop的高可用完全分布模式的安装: Hadoop的相关服务进程能够正常的启动: HDFS能够正常的使用: ...

  2. Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

    ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...

  3. Hadoop集群的基本操作(二:HBase的基本操作)

    实验 目的 要求 目的: 1.HBase的基本应用 要求: 完成HBase的高可用完全分布模式的安装: HBase的相关服务进程能够正常的启动: HBase控制台能够正常使用: 表创建.数据查询等数据 ...

  4. 虚拟化Hadoop集群的部署和管理 - 基本操作

    在Big Data Extensions(BDE)上不仅可以在分钟级别非常快速地部署Hadoop集群,这点可以通过前文<大数据虚拟化零起点-6基础运维第五步-使用CLI创建Apache Hado ...

  5. 从零搭建生产Hadoop集群(五)——CDH集群修改主机名与IP

    从零搭建生产Hadoop集群(五)--CDH集群修改主机名与IP 一.概述 二.完整步骤 1.官网推荐步骤: (1)验证下SSL/TLS认证是否所有服务都有配备,确认创建新的SSL/TLS认证. (2 ...

  6. Hadoop集群的基本操作(四:Hive的基本操作)

    实验 目的 要求 目的: (1)掌握数据仓库工具Hive的使用: 要求: 掌握数据仓库Hive的使用: 能够正常操作数据库.表.数据: 实 验 环 境 五台独立PC式虚拟机: 主机之间有有效的网络连接 ...

  7. Hadoop集群的基本操作(一:HDFS操作及MapReduce程序练习)

    实验 目的 要求 目的: 理解HDFS在Hadoop体系结构中的角色: 熟练使用HDFS操作常用的Shell命令: 了解Hadoop集群MapReduce程序的简单使用: (上传WordCount的j ...

  8. 学习笔记Hadoop(五)—— Hadoop集群的安装与部署(2)—— Hadoop集群部署模式、配置固定IP

    一.Hadoop集群部署模式 Hadoop的安装部署的模式一共有三种: 独立模式(本地模式) standalone 默认的模式,无需运行任何守护进程(daemon),所有程序都在单个JVM上执行.由于 ...

  9. (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置

    前言 本节内容我们实现虚拟机的克隆,主要根据模板虚拟机克隆三台hadoop虚拟机,用于hadoop集群的搭建,同时根据上一小节的内容,配置hadoop虚拟机的主机名.ip网络等,最终完成hadoop虚 ...

最新文章

  1. 元素水平垂直居中的方法
  2. ADAS越来越热,这家公司为何能俾睨群雄
  3. 【计算理论】正则语言 ( 推广型的非确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )
  4. 成功解决Python3版UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x90 in position 614: ordinal not in
  5. VHDL实现打地鼠游戏设计
  6. 11-13SQLserver基础--数据库之事务
  7. java struts2下载zip_Struts2多文件下载
  8. java cookie id,我如何在Java中获取会话ID
  9. Beta版本测试第二天
  10. My97DatePickerBeta日期控件乱码问题解决方案
  11. excel单元格数据有效性自定义
  12. XMind 2022 for Mac(思维导图软件)中文免费版
  13. Linux 父进程子进程的进程分析
  14. nginx全局配置文件通解
  15. 程序员健身不完全指南
  16. servlet和jsp简介
  17. 整理全菜30篇学习vue和脚手架的笔记
  18. linux中cmd是什么文件格式,CMD 文件扩展名: 它是什么以及如何打开它?
  19. Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版
  20. SOLIDWORKS Simulation实例分析演示

热门文章

  1. 一个html文件放到服务器访问,访问云服务器里面的html文件
  2. 只有20%的iOS程序员能看懂:详解intrinsicContentSize 及 约束优先级/content Hugging/content Compression Resistance
  3. lua的table+setfenv+setmetatable陷阱
  4. Ant Design of React从入门到开发教程
  5. 史上第二走心的 iOS11-Drag Drop 教程
  6. Web服务器 之 Apache 2.x 服务器中的URL重写的配置和应用
  7. flask的客户端服务端
  8. Laravel开启跨域的方法
  9. HUST 1586 数字排列
  10. 我的Android进阶之旅------Android嵌入图像InsetDrawable的用法