1.概述node
本文檔描述了在Kerberos與非Kerberos的CDH集羣之間BDR不可用的狀況下實現數據互導。文檔主要講述web
1.測試集羣環境描述shell
2.CDH的BDR功能驗證安全
3.集羣之間數據複製要求和限制網絡
4.集羣之間數據複製的方式app
5.使用DistCp複製數據注意事項tcp
6.經過DistCp進行數據互導oop
這篇文檔將着重介紹CDH Kerberos集羣與非Kerberos集羣之間BDR不可用的狀況下實現數據互導,並基於如下假設:測試
1.Kerberos集羣與非Kerberos集羣已搭建完成,並正常運行url
2.兩個集羣都安裝了HttpFS服務
2.測試集羣環境描述
如下是對本次測試環境,但不是本操做手冊的硬限制:
源集羣(非Kerberos) | 目標集羣(Kerberos) |
---|---|
http://52.221.181.252:7180/ | http://172.31.8.141:7180/ |
CDH5.12.0 | CDH5.11.1 |
root用戶操做 | ec2-user用戶操做 |
操做系統CentOS 6.5 | 操做系統CentOS 6.5 |
3.CDH的BDR功能驗證
3.1分別在兩個集羣進行BDR配置
分別在兩個集羣進行同行集羣配置,如下爲配置步驟。
2.點擊「Add Peer」添加集羣信息
PeerName:定義一個同行集羣的名稱
PeerURL:同行集羣CM訪問地址
PeerAdmin Username:同行集羣的管理員帳號
PeerAdmin Password:同行集羣的管理密碼
3.點擊添加,查看狀態是否爲「已鏈接」
3.2在非Kerberos集羣測試BDR
3.點擊保存,提示以下錯誤
3.3在Kerberos集羣測試BDR
2.點擊保存,提示以下錯誤
經過如上操做得出,CDH的BDR功能不支持安全集羣與非安全集羣之間的數據複製;
4.Hadoop的DistCp集羣間數據複製
術語說明:
源集羣(Source):指要遷移和複製數據的集羣
目標集羣(Destination):指存儲遷移數據的集羣
4.1集羣間數據遷移的要求和限制
4.2集羣之間數據複製方式
5.Distcp使用
注意:如下操做均在Kerberos集羣上執行
5.1非Kerberos到Kerberos集羣數據複製
非Kerberos集羣爲源集羣,Kerberos集羣爲目標集羣。
如下操做是將源集羣/data目錄的數據複製到目標集羣的/sourcedata目錄
1.查看源集羣/data目錄
[root@ip-172-31-6-148 ~]# hadoop fs -ls /data Found 2 items drwxr-xr-x - root supergroup 0 2017-08-31 14:19 /data/cdh-shell -rw-r--r-- 3 root supergroup 5279500 2017-08-31 14:11 /data/kudu.tar.gz [root@ip-172-31-6-148 ~]# hadoop fs -ls /data/cdh-shell Found 9 items -rw-r--r-- 3 root supergroup 60 2017-08-31 14:19 /data/cdh-shell/README.md -rw-r--r-- 3 root supergroup 125 2017-08-31 14:19 /data/cdh-shell/a.sh -rw-r--r-- 3 root supergroup 5470 2017-08-31 14:19 /data/cdh-shell/autouninstall.sh -rw-r--r-- 3 root supergroup 145 2017-08-31 14:19 /data/cdh-shell/b.sh -rw-r--r-- 3 root supergroup 498 2017-08-31 14:19 /data/cdh-shell/components.list -rw-r--r-- 3 root supergroup 2438 2017-08-31 14:19 /data/cdh-shell/delete.list -rw-r--r-- 3 root supergroup 52 2017-08-31 14:19 /data/cdh-shell/node.list -rw-r--r-- 3 root supergroup 1809 2017-08-31 14:19 /data/cdh-shell/ntp.conf -rw-r--r-- 3 root supergroup 125 2017-08-31 14:19 /data/cdh-shell/user.list [root@ip-172-31-6-148 ~]#
[ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls / Found 9 items drwxrwxrwx - root supergroup 0 2017-08-27 10:27 /HiBench drwxrwxrwx - user_r supergroup 0 2017-08-21 11:23 /benchmarks drwxr-xr-x - hive supergroup 0 2017-08-30 03:58 /data drwxrwxrwx - user_r supergroup 0 2017-08-23 03:23 /fayson drwx------ - hbase hbase 0 2017-08-31 09:56 /hbase drwxrwxrwx - solr solr 0 2017-08-17 14:09 /solr drwxrwxrwt - hdfs supergroup 0 2017-08-31 06:18 /tmp drwxrwxrwx - hive supergroup 0 2017-08-24 12:28 /udfjar drwxrwxrwx - hdfs supergroup 0 2017-08-30 03:48 /user [ec2-user@ip-172-31-8-141 ~]$
3.在Kerberos集羣命令行進行Kerberos用戶初始化
[ec2-user@ip-172-31-8-141_~]**$** kinit user\_r Password_ **for** user\_r@CLOUDERA.COM: [ec2-user@ip-172-31-8-141_ ~]**$** klist Ticket_ cache: FILE:/tmp/krb5cc\_500 Default_ principal: user\_r@CLOUDERA.COM Valid_ starting Expires Service principal 08/31/17_ 10:03:41 09/01/17 10:03:41 krbtgt/CLOUDERA.COM@CLOUDERA.COM renew_ **until** 09/07/17 10:03:41 [ec2-user@ip-172-31-8-141_ ~]**$**
4.執行以下操做進行數據拷貝(目標HDFS方式)
源集羣使用WebHDFS和目標集羣使用HDFS協議進行數據拷貝
[ec2-user@ip-172-31-8-141 ~]$ hadoop distcp webhdfs://ip-172-31-6-148:14000/data/ hdfs://172.31.8.141:8020/sourcedata ... 17/08/31 10:23:58 INFO tools.DistCp: DistCp job-id: job_1504187767743_0002 17/08/31 10:23:58 INFO mapreduce.Job: Running job: job_1504187767743_0002 17/08/31 10:24:10 INFO mapreduce.Job: Job job_1504187767743_0002 running in uber mode : false 17/08/31 10:24:10 INFO mapreduce.Job: map 0% reduce 0% 17/08/31 10:24:27 INFO mapreduce.Job: map 33% reduce 0% 17/08/31 10:24:28 INFO mapreduce.Job: map 100% reduce 0% 17/08/31 10:24:28 INFO mapreduce.Job: Job job_1504187767743_0002 completed successfully ... [ec2-user@ip-172-31-8-141 ~]$
Yarn做業運行界面
任務運行完成,檢查數據是否與源集羣數據一致
[ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 10:24 /sourcedata/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 10:24 /sourcedata/kudu.tar.gz [ec2-user@ip-172-31-8-141 ~]$ [ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata/cdh-shell Found 9 items -rw-r--r-- 3 user_r supergroup 60 2017-08-31 10:24 /sourcedata/cdh-shell/README.md -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:24 /sourcedata/cdh-shell/a.sh -rw-r--r-- 3 user_r supergroup 5470 2017-08-31 10:24 /sourcedata/cdh-shell/autouninstall.sh -rw-r--r-- 3 user_r supergroup 145 2017-08-31 10:24 /sourcedata/cdh-shell/b.sh -rw-r--r-- 3 user_r supergroup 498 2017-08-31 10:24 /sourcedata/cdh-shell/components.list -rw-r--r-- 3 user_r supergroup 2438 2017-08-31 10:24 /sourcedata/cdh-shell/delete.list -rw-r--r-- 3 user_r supergroup 52 2017-08-31 10:24 /sourcedata/cdh-shell/node.list -rw-r--r-- 3 user_r supergroup 1809 2017-08-31 10:24 /sourcedata/cdh-shell/ntp.conf -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:24 /sourcedata/cdh-shell/user.list [ec2-user@ip-172-31-8-141 ~]$
源集羣與目標集羣數據一致。
5.執行數據拷貝命令(目標WebHDFS方式)
源集羣使用WebHDFS和目標集羣使用WebHDFS協議進行數據拷貝,刪除目標集羣hdfs的/sourcedata目錄
[ec2-user@ip-172-31-8-141 ~]$ hadoop distcp webhdfs://ip-172-31-6-148:14000/data/ webhdfs://ip-172-31-9-186:14000/sourcedata ... 17/08/31 10:37:11 INFO mapreduce.Job: The url to track the job: http://ip-172-31-9-186.ap-southeast-1.compute.internal:8088/proxy/application_1504187767743_0003/ 17/08/31 10:37:11 INFO tools.DistCp: DistCp job-id: job_1504187767743_0003 17/08/31 10:37:11 INFO mapreduce.Job: Running job: job_1504187767743_0003 17/08/31 10:37:22 INFO mapreduce.Job: Job job_1504187767743_0003 running in uber mode : false 17/08/31 10:37:22 INFO mapreduce.Job: map 0% reduce 0% 17/08/31 10:37:31 INFO mapreduce.Job: map 33% reduce 0% 17/08/31 10:37:33 INFO mapreduce.Job: map 100% reduce 0% 17/08/31 10:37:33 INFO mapreduce.Job: Job job_1504187767743_0003 completed successfully ... [ec2-user@ip-172-31-8-141 ~]$
Yarn任務界面
任務運行完成,檢查數據是否與源集羣數據一致
[ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 10:37 /sourcedata/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 10:37 /sourcedata/kudu.tar.gz [ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata/cdh-shell Found 9 items -rw-r--r-- 3 user_r supergroup 60 2017-08-31 10:37 /sourcedata/cdh-shell/README.md -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:37 /sourcedata/cdh-shell/a.sh -rw-r--r-- 3 user_r supergroup 5470 2017-08-31 10:37 /sourcedata/cdh-shell/autouninstall.sh -rw-r--r-- 3 user_r supergroup 145 2017-08-31 10:37 /sourcedata/cdh-shell/b.sh -rw-r--r-- 3 user_r supergroup 498 2017-08-31 10:37 /sourcedata/cdh-shell/components.list -rw-r--r-- 3 user_r supergroup 2438 2017-08-31 10:37 /sourcedata/cdh-shell/delete.list -rw-r--r-- 3 user_r supergroup 52 2017-08-31 10:37 /sourcedata/cdh-shell/node.list -rw-r--r-- 3 user_r supergroup 1809 2017-08-31 10:37 /sourcedata/cdh-shell/ntp.conf -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:37 /sourcedata/cdh-shell/user.list [ec2-user@ip-172-31-8-141 ~]$
5.2Kerberos到非Kerberos集羣數據複製
Kerberos集羣爲源集羣,非Kerberos集羣爲目標集羣。
如下操做是將源集羣的/sourcedata目錄下的數據複製到目標集羣的/data目錄下。
1.查看源集羣/sourcedata目錄
[ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 10:37 /sourcedata/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 10:37 /sourcedata/kudu.tar.gz [ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata/cdh-shell Found 9 items -rw-r--r-- 3 user_r supergroup 60 2017-08-31 10:37 /sourcedata/cdh-shell/README.md -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:37 /sourcedata/cdh-shell/a.sh -rw-r--r-- 3 user_r supergroup 5470 2017-08-31 10:37 /sourcedata/cdh-shell/autouninstall.sh -rw-r--r-- 3 user_r supergroup 145 2017-08-31 10:37 /sourcedata/cdh-shell/b.sh -rw-r--r-- 3 user_r supergroup 498 2017-08-31 10:37 /sourcedata/cdh-shell/components.list -rw-r--r-- 3 user_r supergroup 2438 2017-08-31 10:37 /sourcedata/cdh-shell/delete.list -rw-r--r-- 3 user_r supergroup 52 2017-08-31 10:37 /sourcedata/cdh-shell/node.list -rw-r--r-- 3 user_r supergroup 1809 2017-08-31 10:37 /sourcedata/cdh-shell/ntp.conf -rw-r--r-- 3 user_r supergroup 125 2017-08-31 10:37 /sourcedata/cdh-shell/user.list [ec2-user@ip-172-31-8-141 ~]$
2.目標集羣的HDFS目錄
[root@ip-172-31-6-148 ~]# hadoop fs -ls / Found 2 items drwxrwxrwt - hdfs supergroup 0 2017-08-30 15:36 /tmp drwxrwxrwx - hdfs supergroup 0 2017-08-31 09:08 /user [root@ip-172-31-6-148 ~]#
3.在源集羣命令行進行Kerberos用戶初始化
[root@ip-172-31-6-148 ~]# klist Ticket cache: FILE:/tmp/krb5cc_0 Default principal: user_r@CLOUDERA.COM Valid starting Expires Service principal 08/31/17 09:22:26 09/01/17 09:22:24 krbtgt/CLOUDERA.COM@CLOUDERA.COM renew until 09/07/17 09:22:24 [root@ip-172-31-6-148 ~]#
4.執行以下操做進行數據拷貝(源HDFS方式)
目標集羣使用使用WebHDFS和源集羣使用WebHDFS協議進行數據拷貝
[ec2-user@ip-172-31-8-141 ~]$ hadoop distcp hdfs://ip-172-31-8-141:8020/sourcedata/ webhdfs://ip-172-31-6-148:14000/data ... 17/08/31 10:50:26 INFO tools.DistCp: DistCp job-id: job_1504187767743_0004 17/08/31 10:50:26 INFO mapreduce.Job: Running job: job_1504187767743_0004 17/08/31 10:50:36 INFO mapreduce.Job: Job job_1504187767743_0004 running in uber mode : false 17/08/31 10:50:36 INFO mapreduce.Job: map 0% reduce 0% 17/08/31 10:50:45 INFO mapreduce.Job: map 33% reduce 0% 17/08/31 10:50:46 INFO mapreduce.Job: map 100% reduce 0% 17/08/31 10:50:47 INFO mapreduce.Job: Job job_1504187767743_0004 completed successfully ... [ec2-user@ip-172-31-8-141 ~]$
Yarn做業查看
任務運行成功,檢查數據複製是否完整
[root@ip-172-31-6-148 ~]# hadoop fs -ls /data Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 14:50 /data/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 14:50 /data/kudu.tar.gz [root@ip-172-31-6-148 ~]# hadoop fs -ls /data/cdh-shell Found 9 items -rw-r--r-- 3 user_r supergroup 60 2017-08-31 14:50 /data/cdh-shell/README.md -rw-r--r-- 3 user_r supergroup 125 2017-08-31 14:50 /data/cdh-shell/a.sh -rw-r--r-- 3 user_r supergroup 5470 2017-08-31 14:50 /data/cdh-shell/autouninstall.sh -rw-r--r-- 3 user_r supergroup 145 2017-08-31 14:50 /data/cdh-shell/b.sh -rw-r--r-- 3 user_r supergroup 498 2017-08-31 14:50 /data/cdh-shell/components.list -rw-r--r-- 3 user_r supergroup 2438 2017-08-31 14:50 /data/cdh-shell/delete.list -rw-r--r-- 3 user_r supergroup 52 2017-08-31 14:50 /data/cdh-shell/node.list -rw-r--r-- 3 user_r supergroup 1809 2017-08-31 14:50 /data/cdh-shell/ntp.conf -rw-r--r-- 3 user_r supergroup 125 2017-08-31 14:50 /data/cdh-shell/user.list [root@ip-172-31-6-148 ~]#
目標集羣的數據與源集羣的數據一致。
5.執行以下操做進行數據拷貝(源WebHDFS方式)
[ec2-user@ip-172-31-8-141 ~]$ hadoop distcp webhdfs://ip-172-31-9-186:14000/sourcedata/ webhdfs://ip-172-31-6-148:14000/data ... 17/08/31 10:58:09 INFO tools.DistCp: DistCp job-id: job_1504187767743_0005 17/08/31 10:58:09 INFO mapreduce.Job: Running job: job_1504187767743_0005 17/08/31 10:58:20 INFO mapreduce.Job: Job job_1504187767743_0005 running in uber mode : false 17/08/31 10:58:20 INFO mapreduce.Job: map 0% reduce 0% 17/08/31 10:58:36 INFO mapreduce.Job: map 67% reduce 0% 17/08/31 10:58:37 INFO mapreduce.Job: map 100% reduce 0% 17/08/31 10:58:37 INFO mapreduce.Job: Job job_1504187767743_0005 completed successfully ... [ec2-user@ip-172-31-8-141 ~]$
Yarn任務界面
任務運行成功,檢查數據是否完成
[root@ip-172-31-6-148 ~]# hadoop fs -ls /data Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 14:58 /data/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 14:58 /data/kudu.tar.gz [root@ip-172-31-6-148 ~]# hadoop fs -ls /data/cdh-shell Found 9 items -rw-r--r-- 3 user_r supergroup 60 2017-08-31 14:58 /data/cdh-shell/README.md -rw-r--r-- 3 user_r supergroup 125 2017-08-31 14:58 /data/cdh-shell/a.sh -rw-r--r-- 3 user_r supergroup 5470 2017-08-31 14:58 /data/cdh-shell/autouninstall.sh -rw-r--r-- 3 user_r supergroup 145 2017-08-31 14:58 /data/cdh-shell/b.sh -rw-r--r-- 3 user_r supergroup 498 2017-08-31 14:58 /data/cdh-shell/components.list -rw-r--r-- 3 user_r supergroup 2438 2017-08-31 14:58 /data/cdh-shell/delete.list -rw-r--r-- 3 user_r supergroup 52 2017-08-31 14:58 /data/cdh-shell/node.list -rw-r--r-- 3 user_r supergroup 1809 2017-08-31 14:58 /data/cdh-shell/ntp.conf -rw-r--r-- 3 user_r supergroup 125 2017-08-31 14:58 /data/cdh-shell/user.list [root@ip-172-31-6-148 ~]#
6.總結
在進行DistCp時,若是目標集羣的目錄不存在會自動建立。
須要注意:目標集羣的目錄已存在與不存在的拷貝區別
[ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata Found 1 items drwxr-xr-x - user_r supergroup 0 2017-08-31 11:19 /sourcedata/data [ec2-user@ip-172-31-8-141 ~]$ hadoop fs -ls /sourcedata/data Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 11:19 /sourcedata/data/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 11:19 /sourcedata/data/kudu.tar.gz [ec2-user@ip-172-31-8-141 ~]$
[ec2-user@ip-172-31-8-141 ~]$ hadoop dfs -ls /sourcedata Found 2 items drwxr-xr-x - user_r supergroup 0 2017-08-31 11:16 /sourcedata/cdh-shell -rw-r--r-- 3 user_r supergroup 5279500 2017-08-31 11:16 /sourcedata/kudu.tar.gz [ec2-user@ip-172-31-8-141 ~]$
醉酒鞭名馬,少年多浮誇! 嶺南浣溪沙,嘔吐酒肆下!摯友不願放,數據玩的花!