使用docker快速搭建hive環境


記錄一下使用docker快速搭建部署hive環境

寫在前面

想練練Hive SQL,但是沒有hive shell環境。現在只有一台空的CentOS 7機子,一想要弄jdk、hadoop、mysql、hive就頭疼。

於是在網上找了找,發現用docker部署hive會快很多,在此記錄一下部署過程。

以下過程每一步在文末都附有參考文檔,出錯的朋友可以去看對應的參考文檔。

步驟

  1. 安裝docker
  2. 安裝git,配置github。因為用的是github上大佬寫好的docker compose服務,所以要git clone下來。
  3. 部署hive
  4. 使用hive命令行
  5. 收尾工作

安裝docker

要用到docker和docker-compose,我們依次來安裝

安裝docker

如果你之前安裝過 docker,請先刪掉

yum remove docker docker-common docker-selinux docker-engine

安裝一些依賴

yum install -y yum-utils device-mapper-persistent-data lvm2

拉取docker-ce.repo

wget -O /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

把軟件倉庫地址替換為 TUNA:

sed -i 's+download.docker.com+mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo

最后安裝(默認安裝的是最新版docker):

yum makecache fast
yum install docker-ce

啟動docker,設為開機自啟,查看docker版本

systemctl start docker
systemctl enable  docker
docker version

至此,不報錯的話,docker就安裝好了。

安裝docker-compose

依次執行以下命令

curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose


chmod +x /usr/local/bin/docker-compose


ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose


docker-compose --version

配置docker國內鏡像源(可選)

我在后面pull docker鏡像時,速度很慢,所以又配了一下國內鏡像加速源,可配可不配。

參考https://www.cnblogs.com/reasonzzy/p/11127359.html這篇文章,我配的是阿里雲鏡像。

安裝git & 配置github

執行以下命令就可以安裝git了

yum -y install git

配置github的話,比較常規的操作,可以參考https://www.cnblogs.com/smartwen666/p/7891108.html這篇文章。

部署Hive

准備工作都做完了,可以開始部署Hive了。

docker-hive

用的是大佬寫好的docker-hive。

上鏈接:https://github.com/big-data-europe/docker-hive

可以根據README.md中的介紹,來進行部署、測試。

開始部署

依次執行以下命令

git clone git@github.com:big-data-europe/docker-hive.git

# 注:本文所有docker-compose都是在docker-hive目錄下執行的
cd docker-hive

# 這步在后台起一個hive,元數據庫用的是postgresql
# 會費一點時間,需要耐心等待
docker-compose up -d

等上面命令運行完成后,可以執行docker-compose ps命令查看正在運行的鏡像。

下圖是我運行這個命令的截圖:

在這里插入圖片描述

可以看到有namenode、datanode、hive等,表示部署成功了。

使用Hive命令行

依次執行以下步驟

# 進入bash
docker-compose exec hive-server bash

# 使用beeline客戶端連接
/opt/hive/bin/beeline -u jdbc:hive2://localhost:10000

# 執行SQL。這兩句是可以直接執行的,鏡像帶了example文件
CREATE TABLE pokes (foo INT, bar STRING);
LOAD DATA LOCAL INPATH '/opt/hive/examples/files/kv1.txt' OVERWRITE INTO TABLE pokes;

# 查詢
select * from pokes;

查詢結果:

在這里插入圖片描述

至此,就可以開始愉快的寫Hive SQL了。

收尾工作

安裝vi、lrzsz

准備sql表數據時,發現這個docker image默認沒有安裝vi,就自己安一個吧。

apt-get update

apt-get install vim

# lrzsz是一個上傳下載文件的工作,也安裝一下
apt-get install lrzsz

關閉相關命令

# 關閉hive相關服務
docker-compose kill

# 關閉docker
systemctl stop docker

# 跑路
init 0 

END

一套操作下來,好像也沒省多少事。但是有docker,部署亂七八糟的環境還是挺省心的。

安裝過程有問題的小伙伴,可以看下面的參考鏈接,也可以評論交流。

參考鏈接

清華鏡像站安裝docker:https://mirror.tuna.tsinghua.edu.cn/help/docker-ce/

Centos7下安裝Docker:https://blog.csdn.net/u014069688/article/details/100532774

Docker Compose教程:https://www.runoob.com/docker/docker-compose.html

Docker Compose詳解:https://www.jianshu.com/p/658911a8cff3

配置docker國內鏡像源:https://www.cnblogs.com/reasonzzy/p/11127359.html

git配置連接github:https://www.cnblogs.com/smartwen666/p/7891108.html

docker-hive github:https://github.com/big-data-europe/docker-hive


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM