Hadoop on k8s 快速部署进阶精简篇

数据库 其他数据库
这里的 mysql 是 5.7,如果 mysql 是 8 则需要更换 mysql driver 包(即:mysql-connector-java-*-bin.jar)。

一、概述

前面一篇文章已经很详细的介绍了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');

图片 图片

责任编辑:武晓燕 来源: 大数据与云原生技术分享
相关推荐

2023-07-10 07:22:16

2023-08-29 10:27:32

2022-01-22 21:38:19

K8SRedisRedis clus

2023-09-06 08:12:04

k8s云原生

2022-09-27 12:00:58

HadoopK8S开源

2022-04-22 13:32:01

K8s容器引擎架构

2021-11-08 07:48:48

K8SKubernetes 集群

2022-01-02 08:42:50

架构部署容器

2021-11-04 07:49:58

K8SStatefulSetMySQL

2023-02-27 07:40:00

2021-05-07 09:31:33

KindK8s Operator

2023-11-06 07:16:22

WasmK8s模块

2023-09-11 15:35:25

2022-08-29 08:21:00

k8sDocker

2022-09-07 09:22:36

SpringBootWeb

2023-10-26 08:25:39

KubernetesKubeadm

2021-11-29 08:48:00

K8S KubernetesAirflow

2022-09-05 17:28:25

k8sNode IPClusterIP

2023-08-03 08:36:30

Service服务架构

2023-05-25 21:38:30

点赞
收藏

51CTO技术栈公众号