0013-如何在Kerberos與非Kerberos的CDH叢集BDR不可用時複製資料
溫馨提示:要看高清無碼套圖,請使用手機開啟並單擊圖片放大檢視。
1.概述
本文件描述了在Kerberos與非Kerberos的CDH叢集之間BDR不可用的情況下實現資料互導。文件主要講述
1.測試叢集環境描述
2.CDH的BDR功能驗證
3.叢集之間資料複製要求和限制
4.叢集之間資料複製的方式
5.使用DistCp複製資料注意事項
6.通過DistCp進行資料互導
這篇文件將著重介紹CDH Kerberos叢集與非Kerberos叢集之間BDR不可用的情況下實現資料互導,並基於以下假設:
1.Kerberos叢集與非Kerberos叢集已搭建完成,並正常執行
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配置
分別在兩個叢集進行同行叢集配置,以下為配置步驟。
- 在CM主頁點選“備份”->“同行”,進入配置介面
2.點選“Add Peer”新增叢集資訊
PeerName:定義一個同行叢集的名稱
PeerURL:同行叢集CM訪問地址
PeerAdmin Username:同行叢集的管理員賬號
PeerAdmin Password:同行叢集的管理密碼
3.點選新增,檢視狀態是否為“已連線”
3.2在非Kerberos叢集測試BDR
- 在CM主頁點選“備份”->“複製計劃”
- 建立一個HDFS複製計劃
3.點選儲存,提示如下錯誤
3.3在Kerberos叢集測試BDR
- 建立一個HDFS複製計劃
2.點選儲存,提示如下錯誤
通過如上操作得出,CDH的BDR功能不支援安全叢集與非安全叢集之間的資料複製;
4.Hadoop的DistCp叢集間資料複製
術語說明:
源叢集(Source):指要遷移和複製資料的叢集
目標叢集(Destination):指儲存遷移資料的叢集
4.1叢集間資料遷移的要求和限制
- 執行DistCp命令的叢集必須啟動MapReduce服務(MRV1或YARN(MRV2)),因為DictCp命令執行的是MapReduce作業。
- 執行DistCp命令的叢集中所有的MapReduce節點與源叢集所有節點的網路是通的。
- 在Kerberos叢集與非Kerberos叢集之間複製資料,必須在Kerberos叢集上執行DistCp命令
4.2叢集之間資料複製方式
- 如果源是非Kerberos環境,目標是Kerberos環境,則在目標叢集執行命令,對源叢集使用WebHDFS,目標叢集使用HDFS或者WebHDFS協議。
- 如果源是Kerberos環境,目標是非Kerberos環境,則在源叢集執行命令,對源叢集使用HDFS或者WebHDFS,目標叢集使用WebHDFS協議。
5.Distcp使用
注意:以下操作均在Kerberos叢集上執行
5.1非Kerberos到Kerberos叢集資料複製
非Kerberos叢集為源叢集,Kerberos叢集為目標叢集。
以下操作是將源叢集/data目錄的資料複製到目標叢集的/sourcedata目錄
1.檢視源叢集/data目錄
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]#
- 目標叢集的資料目錄
[[email protected] ~]$ 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
[[email protected] ~]$
3.在Kerberos叢集命令列進行Kerberos使用者初始化
[[email protected]_~]**$** kinit user\_r
Password_ **for** user\[email protected]:
[[email protected]_ ~]**$** klist
Ticket_ cache: FILE:/tmp/krb5cc\_500
Default_ principal: user\[email protected]
Valid_ starting Expires Service principal
08/31/17_ 10:03:41 09/01/17 10:03:41 krbtgt/[email protected]
renew_ **until** 09/07/17 10:03:41
[[email protected]_ ~]**$**
4.執行如下操作進行資料拷貝(目標HDFS方式)
源叢集使用WebHDFS和目標叢集使用HDFS協議進行資料拷貝
[[email protected] ~]$ 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
...
[[email protected] ~]$
Yarn作業執行介面
任務執行完成,檢查資料是否與源叢集資料一致
[[email protected] ~]$ 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
[[email protected] ~]$
[[email protected] ~]$ 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
[[email protected] ~]$
源叢集與目標叢集資料一致。
5.執行資料拷貝命令(目標WebHDFS方式)
源叢集使用WebHDFS和目標叢集使用WebHDFS協議進行資料拷貝,刪除目標叢集hdfs的/sourcedata目錄
[[email protected] ~]$ 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
...
[[email protected] ~]$
Yarn任務介面
任務執行完成,檢查資料是否與源叢集資料一致
[[email protected] ~]$ 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
[[email protected] ~]$ 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
[[email protected] ~]$
5.2Kerberos到非Kerberos叢集資料複製
Kerberos叢集為源叢集,非Kerberos叢集為目標叢集。
以下操作是將源叢集的/sourcedata目錄下的資料複製到目標叢集的/data目錄下。
1.檢視源叢集/sourcedata目錄
[[email protected] ~]$ 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
[[email protected] ~]$ 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
[[email protected] ~]$
2.目標叢集的HDFS目錄
[[email protected] ~]# 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
[[email protected] ~]#
3.在源叢集命令列進行Kerberos使用者初始化
[[email protected] ~]# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]
Valid starting Expires Service principal
08/31/17 09:22:26 09/01/17 09:22:24 krbtgt/[email protected]
renew until 09/07/17 09:22:24
[[email protected] ~]#
4.執行如下操作進行資料拷貝(源HDFS方式)
目標叢集使用使用WebHDFS和源叢集使用WebHDFS協議進行資料拷貝
[[email protected] ~]$ 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
...
[[email protected] ~]$
Yarn作業檢視
任務執行成功,檢查資料複製是否完整
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]#
目標叢集的資料與源叢集的資料一致。
5.執行如下操作進行資料拷貝(源WebHDFS方式)
[[email protected] ~]$ 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
...
[[email protected] ~]$
Yarn任務介面
任務執行成功,檢查資料是否完成
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]#
6.總結
在進行DistCp時,如果目標叢集的目錄不存在會自動建立。
需要注意:目標叢集的目錄已存在與不存在的拷貝區別
- sourcedata目錄存在的情況下,DistCp命令執行完成後,將源叢集的data目錄複製到目標叢集的sourcedata目錄下,檢視sourcedata目錄顯示如下:
[[email protected] ~]$ hadoop fs -ls /sourcedata
Found 1 items
drwxr-xr-x - user_r supergroup 0 2017-08-31 11:19 /sourcedata/data
[[email protected] ~]$ 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
[[email protected] ~]$
- sourcedata目錄不存在的情況下,DistCp命令執行完成後,只是將源叢集data目錄下的檔案複製到目標叢集的sourcedata目錄下(data子目錄並沒有複製),檢視sourcedata目錄顯示如下:
[[email protected] ~]$ 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
[[email protected] ~]$
醉酒鞭名馬,少年多浮誇! 嶺南浣溪沙,嘔吐酒肆下!摯友不肯放,資料玩的花!
溫馨提示:要看高清無碼套圖,請使用手機開啟並單擊圖片放大檢視。