使用Mac在15分钟内创建Hadoop和Hive环境(使用Docker)
首先
操作系统版本:Mac OS 10.14.6 (Mojave)
我很久没有接触Hive了,所以我开始寻找一种快速准备环境的方法。
我发现了一种2017年的文章,介绍了在Mac上用10分钟搭建Hadoop和Hive环境的方法。不过最近流行使用容器技术,所以我决定不在操作系统上直接安装,而是尝试在Docker上安装。
这次使用的是这个。
CDH 5.13的快速入门
https://www.cloudera.com/downloads/quickstart_vms/5-13.html
环境搭建大约花了15分钟的时间。(不包括网站注册和下载时间,直到在Hive控制台上能够执行HiveQL为止)
DockerなのでMacOSに限らず、Windowsでも環境構築できます。
事前準備
作为事前准备,下载并安装Docker Desktop for Mac。
https://docs.docker.com/docker-for-mac/install/
有些人写了一篇友善的文章,你也可以参考一下。
如何在Mac上安装Docker。
以下是我使用的Docker版本。
% docker --version
Docker version 19.03.5, build 633a0ea
把Docker预先启动。
下载Docker镜像

4.7GBくらいあるので、しばらく待つ。
ダウンロードしたファイルのファイル名は、cloudera-quickstart-vm-5.13.0-0-beta-docker.tar.gz。
引导和启动
導入手順の詳細は、こちらに載っています。
https://docs.cloudera.com/documentation/enterprise/5-13-x/topics/quickstart_docker_container.html
- Mac OS標準の解凍ツールでtar.gzを解凍(単純にFinder上でダブルクリック)すると、tarファイルができる。Windowsの場合は、7-zipを使うと良いとのこと。
% ls
cloudera-quickstart-vm-5.13.0-0-beta-docker.tar
2.docker importする。これには7分位かかりました。
% docker import cloudera-quickstart-vm-5.13.0-0-beta-docker.tar
可以通过运行命令 “docker images” 来确认镜像的ID。
% docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
<none> <none> d28a1384e74e 13 minutes ago 7GB
使用Docker run命令启动镜像。
“d28a1384e74e”是上述镜像的ID。加上-d选项在后台运行。
% docker run --hostname=quickstart.cloudera --privileged=true -t -i -p 8888 -d d28a1384e74e /usr/bin/docker-quickstart
5.docker psで起動状態とコンテナIDを確認する。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e320a15be1d9 d28a1384e74e "/usr/bin/docker-qui…" 2 minutes ago Up 2 minutes 0.0.0.0:32768->8888/tcp nifty_almeida
启动花了几分钟的时间。
登录Hive控制台。
1. 使用docker attach命令进入控制台。
“e320a15be1d9″是容器的ID,刚才通过docker ps命令查找得到的。
% docker attach e320a15be1d9
[root@quickstart /]#
順便提一下,要切換回原本的 macOS,只需要按下 Ctrl+p,Ctrl+q。
[root@quickstart /]# <= Ctrl+p, Ctrl+qを押す
read escape sequence
%
2. 启动Hive控制台。在QuickStart中,已经包含了Hive并且在容器启动时也会自动启动,只需要输入hive即可。
[root@quickstart /]# hive
Logging initialized using configuration in file:/etc/hive/conf.dist/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive>
数年前,我还记得在搭建环境方面遇到了很多困难… Docker真是太棒了。
从这里开始,我们会创建一个 CSV 文件,将它放入 HDFS,并创建一个外部表。然后,我们将在上述的 Hive 控制台上频繁地执行查询操作。
這就是以上的內容。