基于Docker的大数据开发环境怎么实现

技术基于Docker的大数据开发环境怎么实现这篇文章主要讲解了“基于Docker的大数据开发环境怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于Docker的大

本文主要讲解“如何实现基于Docker的大数据开发环境”。本文的解释简单明了,易学易懂。接下来,请跟随边肖的思路,一起学习学习《如何实现基于Docker的大数据开发环境》!

大数据开发严重依赖运行环境和数据。例如,在开发Spark应用程序时,它通常依赖于Hive,但是在本地开发环境中没有Hive,因此在本地和服务器之间复制代码效率不高。我认为使用Docker在本地构建单机大数据集群,然后将代码复制到容器中进行测试,可以改善这种情况。我自己也探索过这个想法。这个镜像安装了Hadoop、Hive、Spark等组件,基本可以满足需求。但是也存在一些问题,比如有时需要调整配置,以保持与生产环境的一致性。虽然可以做到,但是工作量还是挺大的。

事实上,CDH和HDP都提供了类似的独立映像,其中HDP的组件版本相对较新,与公司的技术栈保持一致,下面我们来探索一下。如果体验比较好的话,我们以后会用它进行相关的开发。

00-1010

Sandbox获取

安装Docker 17.09或更高版本。

对于Windows和Mac,Docker需要配置10G以上的内存。

00-1010可以访问https://www . cloud era.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 _ 18120587 fc7fb . zip解压缩并执行脚本:

$ unzipcdp _ 3 . 0 . 1 _ docker-deploy-scripts _ 18120587 fc 7 FB . zip

archive : HDp _ 3 . 0 . 1 _ docker-deploy-scripts _ 18120587 fc 7 FB . zip

创建:资产/

膨胀: assets/generate-proxy-deploy-script . sh

充气:assets/nginx.conf

充气:锁-展开-hdp30.sh

执行$shdocker-deploy-hdp30.sh后,会开始拉docker镜像,需要下载几十克的数据,需要耐心等待。

执行00-1010脚本后,您可以看到两个容器通过使用Dockers启动:

containeridimagecommandcreatedstatustors

nbsp;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           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等组件的跳转链接:

基于Docker的大数据开发环境怎么实现

其中Ambari的登陆密码可以参考https://www.cloudera.com/tutorials/learning-the-ropes-of-the-hdp-sandbox.html这个页面获取,根据不同用途可以选择不同的用户:

用户 角色 密码
admin Ambari Admin 使用ambari-admin-password-reset命令初始化获得
maria_dev Spark and SQL Developer maria_dev
raj_ops Hadoop Warehouse Operator raj_ops
holger_gov Data Steward holger_gov
amy_ds Data Scientist amy_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的大数据开发环境怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/143765.html

(0)

相关推荐

  • MongoDB Query的命令行分别是哪些

    技术MongoDB Query的命令行分别是哪些这期内容当中小编将会给大家带来有关MongoDB Query的命令行分别是哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Query.

    攻略 2021年11月3日
  • SQL优化技巧有哪些

    技术SQL优化技巧有哪些这篇文章主要讲解了“SQL优化技巧有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL优化技巧有哪些”吧!一、索引优化索引的数据结构是 B+

    攻略 2021年11月12日
  • 智能机怎么刷机,nokla智能机怎么刷机

    技术智能机怎么刷机,nokla智能机怎么刷机有两种刷机。1软刷:恢复出厂设置 2硬刷:(个人不建议)刷机前要备份好重要数据像手机号码什么的 。下面是硬刷过程(搜索粘贴的)  一、准备  1、下载navifirm  2、下

    生活 2021年10月22日
  • sparksql查询优化的基本流程(spark调优参数)

    技术spark作业调优的方法是什么这篇文章主要讲解了“spark作业调优的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“spark作业调优的方法是什么”吧!调优

    2021年12月14日
  • 手机分屏怎么弄,手机分屏模式怎么切换两面全屏

    技术手机分屏怎么弄,手机分屏模式怎么切换两面全屏方法/步骤分步阅读1/5
    分屏切换为全屏
    点击分屏线中间的按钮手机分屏怎么弄,向上或向下滑动,即可将想放大的界面变成全屏。
    2
    /5
    互换分屏位置
    点击分屏线中间的按钮,点

    生活 2021年10月27日
  • 春节放假几天,今年春节放假有什么安排

    技术春节放假几天,今年春节放假有什么安排谢谢邀请春节放假几天,先前安排好的节日出行在防疫要求下让道,但是我也要说出来和大家分享一下不能实现的安排。1、86岁的母亲告诉我,没有坐过白天的飞机,言下之意想坐一次!基于这个想法

    生活 2021年10月27日