Hadoop on k8s 快速部署進階精簡篇
一、概述
前面一篇文章已經很詳細的介紹了Hadoop on k8s部署了,這里主要針對部署時可能會調整的地方和注意事項進行講解,想詳細了解詳細部署過程可參考我上一篇文章:Hadoop on k8s 編排部署進階篇
圖片
二、快速部署步驟如下
1)安裝 git
yum -y install git
2)部署 mysql
如果小伙伴已經有mysql了,這一步就可以忽略:
這里以 docker-compose 部署 mysql 為例:
# 安裝 docker-compose
curl -SL https://github.com/docker/compose/releases/download/v2.16.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
# 下載部署包
git clone https://gitee.com/hadoop-bigdata/docker-compose-mysql.git
cd docker-compose-mysql
# 創建網絡
docker network create hadoop-network
# 部署
docker-compose -f docker-compose.yaml up -d
# 查看
docker-compose -f docker-compose.yaml ps
# 卸載
docker-compose -f docker-compose.yaml down
【溫馨提示】這里的 mysql 是 5.7,如果 mysql 是 8 則需要更換 mysql driver 包(即:mysql-connector-java-*-bin.jar)。
3)創建存儲目錄(所有節點)
# 這里默認使用hostPath掛載方式,如果使用pv,pvc掛載方式,就不需要在宿主機上創建目錄了,非高可用可不用創建jn。根據自己的情況創建目錄。如果目錄不同,則需要更改編排。下面會講解。
mkdir -p /opt/bigdata/servers/hadoop/{nn,jn,dn}/data/data{1..3}
chmod 777 -R /opt/bigdata/servers/hadoop/
4)下載 hadoop-on-k8s 部署包
git clone https://gitee.com/hadoop-bigdata/hadoop-on-kubernetes.git
cd hadoop-on-kubernetes
cat values.yaml
nameNode:
圖片
dataNode:
圖片
5)修改 hadoop configmap
如果需要修改database和 nodemanager 的節點數,記得修改 comfigmap 配置:templates/hadoop-configmap.yaml
圖片
6)修改 hive configmap (MySQL 配置)
如果需要修改hive 配置,記得修改hive comfigmap 配置:templates/hive/hive-configmap.yaml
圖片
7)安裝 helm
下載地址:https://github.com/helm/helm/releases
# 下載包
wget https://get.helm.sh/helm-v3.9.4-linux-amd64.tar.gz
# 解壓壓縮包
tar -xf helm-v3.9.4-linux-amd64.tar.gz
# 制作軟連接
ln -s /opt/helm/linux-amd64/helm /usr/local/bin/helm
# 驗證
helm version
helm help
8)開始部署
# 安裝
helm install hadoop ./ -n hadoop --create-namespace
# 更新
# helm upgrade hadoop ./ -n hadoop
# 卸載
# helm uninstall hadoop -n hadoop
# 查看
kubectl get pods,svc -n hadoop -owide
圖片
【溫馨提示】上面還有幾個pod沒起來,那是因為資源不足導致,如果小伙伴資源足夠是不會出現這個問題的。
9)測試驗證
hdfs web:http://ip:30870
圖片
yarn web:http://ip:
圖片
通過 hive 創建庫表和添加數據驗證集群可用性
kubectl exec -it hadoop-hadoop-hive-hiveserver2-0 -n hadoop -- bash
beeline -u jdbc:hive2://hadoop-hadoop-hive-hiveserver2:10000 -n hadoop
# 建表
CREATE TABLE mytable (
id INT,
name STRING,
age INT,
address STRING
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
# 添加數據
INSERT INTO mytable VALUES (1, 'Alice', 25, 'F'), (2, 'Bob', 30, 'M'), (3, 'Charlie', 35, 'M');
圖片