亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于Docker的大數據開發環境怎么實現

發布時間:2021-12-13 11:38:56 來源:億速云 閱讀:301 作者:iii 欄目:大數據

這篇文章主要講解了“基于Docker的大數據開發環境怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“基于Docker的大數據開發環境怎么實現”吧!

大數據開發對運行環境和數據的依賴比較重,比如開發Spark應用,往往會依賴Hive,但本地開發環境是沒有Hive的,所以需要在本地和服務器之間拷貝代碼,效率不高,我認為用Docker在本地搭建一套單機的大數據集群,然后將代碼拷貝到容器里進行測試,可以改善這種情況。我自己對這個思路做過探索,這個鏡像安裝了Hadoop、Hive、Spark等組件,基本可以滿足需求,但是也有一些問題存在,比如有時需要對配置進行調整來保持和生產環境的一致性,雖然可以做,但工作量也不少。

其實,CDH和HDP都提供了類似的單機鏡像,其中HDP中組件的版本比較新,并且和公司的技術棧一致,因此來探索一下,如果體驗更好的話,以后就用它來進行相關的開發了。

Sandbox獲取

系統要求

  • 安裝Docker 17.09 或更新的版本

  • 對于Windows和Mac,Docker需要配置10G以上的內存

腳本下載與執行

可以在瀏覽器里訪問https://www.cloudera.com/downloads/hortonworks-sandbox/hdp.html點擊頁面下載,也可以直接在命令行用wget下載:

$ wget --no-check-certificate https://archive.cloudera.com/hwx-sandbox/hdp/hdp-3.0.1/HDP_3.0.1_docker-deploy-scripts_18120587fc7fb.zip

解壓并執行腳本:

$ unzip HDP_3.0.1_docker-deploy-scripts_18120587fc7fb.zip
Archive:  HDP_3.0.1_docker-deploy-scripts_18120587fc7fb.zip
   creating: assets/
  inflating: assets/generate-proxy-deploy-script.sh
  inflating: assets/nginx.conf
  inflating: docker-deploy-hdp30.sh
$ sh docker-deploy-hdp30.sh

執行后會開始拉取docker鏡像,需要下載幾十G的數據,需要耐心等待。

Sandbox驗證

腳本執行完畢后,使用 docker ps可以看到啟動了兩個容器:

CONTAINER ID        IMAGE                           COMMAND                  CREATED             STATUS              PORTS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            NAMES
daf0f397ff6c        hortonworks/sandbox-proxy:1.0   "nginx -g 'daemon of…"   About an hour ago   Up About an hour    0.0.0.0:1080->1080/tcp, ...
b925f92f368d        hortonworks/sandbox-hdp:3.0.1   "/usr/sbin/init"         About an hour ago   Up About an hour    22/tcp, 4200/tcp, 8080/tcp
sandbox-hdp

其中 sandbox-proxy 這個容器先忽略,關注 sandbox-hdp 這個就可以,這時所有HDP的組件都已經啟動了。

UI驗證

因為已經做了端口映射,如果要訪問特定的UI,直接訪問localhost對應的端口就可以,可以先訪問 localhost:1080的Splash頁面:

基于Docker的大數據開發環境怎么實現

這里提供了向導,點擊左邊的Launch Dashboard可以打開Ambari登陸頁面和HDP的Tutorial頁面,點擊右邊的Quick Links會打開下一級向導,包含Ambari、Zeppelin、Atlas、Ranger等組件的跳轉鏈接:

其中Ambari的登陸密碼可以參考https://www.cloudera.com/tutorials/learning-the-ropes-of-the-hdp-sandbox.html這個頁面獲取,根據不同用途可以選擇不同的用戶:

用戶角色密碼
adminAmbari Admin使用ambari-admin-password-reset命令初始化獲得
maria_devSpark and SQL Developermaria_dev
raj_opsHadoop Warehouse Operatorraj_ops
holger_govData Stewardholger_gov
amy_dsData Scientistamy_ds

Web UI的情況讀者可以自行一一驗證,下面來驗證一下底層的存儲和計算情況。

功能驗證

命令行進入容器:

docker exec -it sandbox-hdp bash

HDFS驗證

簡單的ls一下:

[root@sandbox-hdp /]# hdfs dfs -ls /Found 13 items
drwxrwxrwt   - yarn   hadoop          0 2018-11-29 17:56 /app-logs
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 19:01 /apps
drwxr-xr-x   - yarn   hadoop          0 2018-11-29 17:25 /ats
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 17:26 /atsv2
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 17:26 /hdp
drwx------   - livy   hdfs            0 2018-11-29 17:55 /livy2-recovery
drwxr-xr-x   - mapred hdfs            0 2018-11-29 17:26 /mapred
drwxrwxrwx   - mapred hadoop          0 2018-11-29 17:26 /mr-history
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 18:54 /ranger
drwxrwxrwx   - spark  hadoop          0 2021-02-06 07:19 /spark2-history
drwxrwxrwx   - hdfs   hdfs            0 2018-11-29 19:01 /tmp
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 19:21 /user
drwxr-xr-x   - hdfs   hdfs            0 2018-11-29 17:51 /warehouse

Hive驗證

Sandbox里已經內置了一些測試數據,select一下即可。

首先啟動hive命令行:

[root@sandbox-hdp /]# hive

查看有哪些數據庫:

0: jdbc:hive2://sandbox-hdp.hortonworks.com:2> show databases;

+---------------------+
|    database_name    |
+---------------------+
| default             |
| foodmart            |
| information_schema  |
| sys                 |
+---------------------+

選擇foodmart,再查看有哪些表:

0: jdbc:hive2://sandbox-hdp.hortonworks.com:2> use foodmart;
0: jdbc:hive2://sandbox-hdp.hortonworks.com:2> show tables;
+--------------------------------+
|            tab_name            |
+--------------------------------+
| account                        |
| ...                            |
+--------------------------------+

可以看到有很多表,我們就選擇account這張表:

0: jdbc:hive2://sandbox-hdp.hortonworks.com:2> select * from account limit 1;
+---------------------+-------------------------+------------------------------+-----------------------+-------------------------+-------------------------+
| account.account_id  | account.account_parent  | account.account_description  | account.account_type  | account.account_rollup  | account.custom_members  |
+---------------------+-------------------------+------------------------------+-----------------------+-------------------------+-------------------------+
| 1000                | NULL                    | Assets                       | Asset                 | ~                       |                         |
+---------------------+-------------------------+------------------------------+-----------------------+-------------------------+-------------------------+

非常OK。

Spark驗證

啟動spark-sql后查詢account表:

spark-sql> select * from foodmart.account limit 1;
Error in query: Table or view not found: `foodmart`.`account`; line 1 pos 14;'GlobalLimit 1
+- 'LocalLimit 1
   +- 'Project [*]
      +- 'UnresolvedRelation `foodmart`.`account`

奇怪

spark-sql> show databases;
default

只有default庫。

做了一些搜索,發現貌似在HDP 3.0之后,Spark訪問Hive表發生了大的變化,Spark的驗證還需要進一步研究。

Sandbox管理

停止Sandbox

使用docker stop命令即可:

docker stop sandbox-hdp
docker stop sandbox-proxy

重啟Sandbox

使用docker start命令即可:

docker start sandbox-hdp
docker start sandbox-proxy

清理Sandbox

先stop再remove:

docker stop sandbox-hdp
docker stop sandbox-proxy
docker rm sandbox-hdp
docker rm sandbox-proxy

如果要刪除鏡像的話:

docker rmi hortonworks/sandbox-hdp:3.0.1

感謝各位的閱讀,以上就是“基于Docker的大數據開發環境怎么實現”的內容了,經過本文的學習后,相信大家對基于Docker的大數據開發環境怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长阳| 库车县| 含山县| 额敏县| 家居| 应用必备| 苗栗县| 大埔区| 十堰市| 双城市| 北川| 济源市| 杭州市| 中卫市| 天台县| 白城市| 石林| 赣榆县| 金阳县| 阿拉善左旗| 大宁县| 彭泽县| 达日县| 台中市| 涞水县| 吉林省| 夏邑县| 耒阳市| 昌都县| 北海市| 邢台县| 吕梁市| 玉龙| 津市市| 建阳市| 西华县| 五常市| 天津市| 开阳县| 沙洋县| 大名县|