零基础使用Dokcer搭建Hive环境(附带详细图文)
下面是使用Docker部署Hive的一般步骤:
1、安装Docker和Docker Compose:在您的机器上安装Docker和Docker Compose,以便能够创建和运行Docker容器。
2、创建docker-compose.yml文件:在您的工作目录中创建一个docker-compose.yml文件,并添加以下内容:
1 version: "2.4" 2 3 services: 4 hive-metastore: 5 image: bde2020/hive-metastore-postgresql:latest 6 environment: 7 - "HIVE_METASTORE_CLIENT_CONNECT_RETRY_LIMIT=5" 8 - "HIVE_METASTORE_CLIENT_CONNECT_RETRY_DELAY=3" 9 - "POSTGRES_PASSWORD=hivepassword" 10 - "POSTGRES_USER=hiveuser" 11 - "POSTGRES_DB=hivemetastore" 12 ports: 13 - "9083:9083" 14 networks: 15 - hadoop 16 17 hive-server: 18 image: bde2020/hive:latest 19 environment: 20 - "HADOOP_NAMENODE=namenode" 21 - "HADOOP_PORT_9000_TCP_ADDR=namenode" 22 - "HADOOP_PORT_9000_TCP_PORT=9000" 23 - "HIVE_METASTORE_HOST=hive-metastore" 24 - "HIVE_METASTORE_PORT=9083" 25 - "HIVE_SERVER2_THRIFT_PORT=10000" 26 - "HIVE_SERVER2_TRANSPORT_MODE=binary" 27 ports: 28 - "10000:10000" 29 depends_on: 30 - hive-metastore 31 networks: 32 - hadoop 33 34 networks: 35 hadoop: 36 external: true
这个docker-compose.yml文件,定义了两个服务:Hive Metastore和Hive Server。其中,Hive Metastore是一个PostgreSQL数据库容器,用于存储Hive的元数据;而Hive Server则是运行Hive Server2的容器,它连接到Hive Metastore并提供Hive查询的接口。
3、启动Hive容器:在工作目录中运行以下命令以启动Hive容器:
1 docker-compose up -d

显示上图即 hive启动成功,并使用docker ps查看运行的镜像
4.1、执行hive的docker-compose.yml报错 Please create the network manually using `docker network create hadoop` and try again.
这个错误提示意味着Docker Compose无法找到名为"hadoop"的网络,而该网络在hive的Docker Compose文件中是必需的。要解决这个问题,可以按照错误提示中的建议手动创建一个名为"hadoop"的Docker网络。在终端中执行以下命令即可创建该网络。
4.2、执行过之后又报这个错误 Pulling hive-metastore (bde2020/hive-metastore-postgresql:latest)... ERROR: Get "https://registry-1.docker.io/v2/": EOF
这个错误通常表示Docker客户端无法连接到Docker Hub镜像仓库。可能是由于网络问题、防火墙设置、代理配置等原因导致的。
可以尝试以下方法解决:
a.检查网络连接:确保您的计算机可以访问互联网,并且可以连接到Docker Hub镜像仓库。可以尝试使用ping命令测试网络连接:ping docker.io
b.检查代理配置:如果您使用代理服务器连接到互联网,可能需要配置Docker客户端以使用代理。可以通过设置环境变量或在Docker配置文件中设置代理来实现。
在Docker Compose文件中设置HTTP代理,可以通过在docker-compose.yml文件中为每个服务添加环境变量来实现。
具体来说,可以在environment部分中添加HTTP_PROXY和HTTPS_PROXY环境变量,例如:
1 version: "3" 2 services: 3 app: 4 image: your-app-image 5 environment: 6 - HTTP_PROXY=http://your-proxy-server:port 7 - HTTPS_PROXY=https://your-proxy-server:port
这里的HTTP_PROXY和HTTPS_PROXY分别是HTTP和HTTPS代理的地址和端口号。您可以将它们替换为您的代理服务器的实际地址和端口号。
如果您的代理服务器需要用户名和密码进行身份验证,则可以在environment部分中添加http_proxy和https_proxy环境变量,并将它们设置为包含用户名和密码的完整代理URL。这里的username和password是您的代理服务器的登录凭据。请注意,在URL中使用用户名和密码会导致它们被明文传输,因此请谨慎处理。
设置完环境变量后,重新启动Docker Compose服务即可生效。例如:
1 version: "3" 2 services: 3 app: 4 image: your-app-image 5 environment: 6 - http_proxy=http://username:password@your-proxy-server:port 7 - https_proxy=https://username:password@your-proxy-server:port
看到这里,你就已成功部署了hive....

浙公网安备 33010602011771号