docker-hive-in-vagrant


vagrant下的ubuntu中docker拉取镜像:
直接执行:   docker pull apache/hive:4.1.0

docker 拉取了hive镜像之后,就可以直接运行下面的语句了。
docker run -d -p 10000:10000 -p 10002:10002 --env SERVICE_NAME=hiveserver2 --name hive4 apache/hive:4.1.0

-p 10000:10000: 代表的意思是 :前面的端口是vagrant ubuntu的端口,后面的端口是hive使用的端口

vagrant里配置的是:
config.vm.network "forwarded_port", guest: 10000, host: 10100 #hive-standalone,在win10上访问hive, 使用 10100 端口
guest:代表vagrant的端口,host:代表win10上的监听端口
即:hive的服务端口是10000,转发到vagarnt的端口10000,vagrant又将请求转发到win10的10100端口,

所以最终datagrip上配置的端口是:10100
域名: localhost
验证方式:不需要验证
连接字符串: jdbc:hive2://localhost:10100

附上vagrant配置
vagrantfile:
Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/noble64"
  config.vm.hostname = "flink-docker-host"
 
  # 配置网络
  config.vm.network "private_network", ip: "192.168.56.10"
  config.vm.network "forwarded_port", guest: 4321, host: 14321 #kingbase,在win10上访问kingbase, 使用14321端口
  config.vm.network "forwarded_port", guest: 9083, host: 19083 #hive-standalone,在win10上访问hive, 使用 19083 端口
  config.vm.network "forwarded_port", guest: 10000, host: 10100 #hive-standalone,在win10上访问hive, 使用 10100 端口
  config.vm.network "forwarded_port", guest: 10002, host: 10102 #hive-standalone,在win10上访问hive, 使用 10102 端口
 
  # 配置资源
  config.vm.provider "virtualbox" do |vb|
    vb.memory = "4096"
    vb.cpus = 2
  end
 
  # 启动后自动安装Docker和指定的Docker Compose
  config.vm.provision "shell", inline: <<-SHELL
    # 替换Ubuntu源为阿里云
    sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
    sudo sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
   
    # 更新系统
    sudo apt-get update
    sudo apt-get upgrade -y
   
    # 安装Docker依赖
    sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
   
    # 添加Docker国内源(阿里云)
    curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
    sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
   
    # 安装Docker
    sudo apt-get update
    sudo apt-get install -y docker-ce
   
    # 配置Docker国内镜像加速
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": [
          "https://docker.1ms.run",
          "https://docker-0.unsee.tech",
          "https://docker.m.daocloud.io",
          "https://docker.kejilion.pro",
          "https://docker.hlmirror.com",
          "https://run-docker.cn",
          "https://docker.sunzishaokao.com",
          "https://image.cloudlayer.icu",
          "https://docker.tbedu.top",
          "https://hub.crdz.gq",
          "https://docker.melikeme.cn",
          "https://registry-1.docker.io"
      ],
      "features": { "buildkit": true },
      "insecure-registries": [],
      "debug": false,
      "experimental": false,
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "100m"
      }
    }
EOF
   
    # 重启Docker服务
    sudo systemctl daemon-reload
    sudo systemctl restart docker
   
    # 允许vagrant用户使用Docker
    #sudo usermod -aG docker vagrant
   
    #sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
   
    # 4. 设置执行权限
    #sudo chmod +x /usr/local/bin/docker-compose
       
    # 6. 验证安装
    docker-compose --version
  SHELL
end