零基础使用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、安装过程中你可能遇到的问题
 

 

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_PROXYHTTPS_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_PROXYHTTPS_PROXY分别是HTTP和HTTPS代理的地址和端口号。您可以将它们替换为您的代理服务器的实际地址和端口号。

如果您的代理服务器需要用户名和密码进行身份验证,则可以在environment部分中添加http_proxyhttps_proxy环境变量,并将它们设置为包含用户名和密码的完整代理URL。这里的usernamepassword是您的代理服务器的登录凭据。请注意,在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....

 

 

 

 

posted @ 2023-03-25 11:20  LUDAGOGO  阅读(2016)  评论(0)    收藏  举报