Hadoop on k8s 快速部署進(jìn)階精簡(jiǎn)篇
一、概述
前面一篇文章已經(jīng)很詳細(xì)的介紹了Hadoop on k8s部署了,這里主要針對(duì)部署時(shí)可能會(huì)調(diào)整的地方和注意事項(xiàng)進(jìn)行講解,想詳細(xì)了解詳細(xì)部署過(guò)程可參考我上一篇文章:Hadoop on k8s 編排部署進(jìn)階篇
圖片
二、快速部署步驟如下
1)安裝 git
yum -y install git
2)部署 mysql
如果小伙伴已經(jīng)有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
# 創(chuàng)建網(wǎng)絡(luò)
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)創(chuàng)建存儲(chǔ)目錄(所有節(jié)點(diǎn))
# 這里默認(rèn)使用hostPath掛載方式,如果使用pv,pvc掛載方式,就不需要在宿主機(jī)上創(chuàng)建目錄了,非高可用可不用創(chuàng)建jn。根據(jù)自己的情況創(chuàng)建目錄。如果目錄不同,則需要更改編排。下面會(huì)講解。
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 的節(jié)點(diǎn)數(shù),記得修改 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
# 驗(yàn)證
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
圖片
【溫馨提示】上面還有幾個(gè)pod沒起來(lái),那是因?yàn)橘Y源不足導(dǎo)致,如果小伙伴資源足夠是不會(huì)出現(xiàn)這個(gè)問題的。
9)測(cè)試驗(yàn)證
hdfs web:http://ip:30870
圖片
yarn web:http://ip:
圖片
通過(guò) hive 創(chuàng)建庫(kù)表和添加數(shù)據(jù)驗(yàn)證集群可用性
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';
# 添加數(shù)據(jù)
INSERT INTO mytable VALUES (1, 'Alice', 25, 'F'), (2, 'Bob', 30, 'M'), (3, 'Charlie', 35, 'M');
圖片