Hadoop集群的基本操作(五: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的基本操作)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop集群的基本操作(四:Hive
- 下一篇: Oracle的基本操作(一:子查询与常用