大数据分析环境部署

大数据分析环境部署 搭建 Hadoop + Hive + Kafka KRaft + Flink 大数据分析环境这里,主要记录了基于 4 台 Ubuntu 虚拟机的大数据分析环境部署过程,我们的目标是跑通一个电商项目中的两条链路:离线链路:业务数据 - HDFS - Hive - 报表 实时链路:订单事件 - Kafka - Flink - 实时指标本环境适合学习 Hadoop、Hive、Kafka、Flink 的基本使用。一、机器规划这里,我直接使用了虚拟机部署,4台虚拟机都是基于PVE创建和克隆出来的,4 台虚拟机配置相同:CPU:4 核 内存:2GB 磁盘:约 100GB 系统:Ubuntu 22.04 用户:larrychen部署规划如下:IP角色部署组件10.0.0.27主节点 / 客户端节点JDK、Hadoop NameNode、YARN ResourceManager、Hive Client、Flink JobManager10.0.0.28数据节点 / 计算节点JDK、Hadoop DataNode、YARN NodeManager、Flink TaskManager10.0.0.29数据节点 / 计算节点JDK、Hadoop DataNode、YARN NodeManager、Flink TaskManager10.0.0.30中间件节点JDK、MariaDB、Hive Metastore、Kafka KRaft关于硬件的选择,以及PVE的安装,可以参考我的上一篇博客《【软路由】家庭万兆组网的正确打开方式》,当然,你也可以选择云主机、裸金属主机等方式构建部署环境。二、版本选择组件版本JDKOpenJDK 8Hadoop3.3.6Hive3.1.3Flink1.17.2Kafka3.6.2MariaDBUbuntu 源默认 10.6三、所有节点安装基础环境以下命令在 4 台机器都执行。sudoapt-getupdatesudoapt-getinstall-y\wgetcurltargzipopenssh-client openssh-server\rsyncprocps net-toolslsofopenjdk-8-jdk-headless创建统一安装目录和数据目录:sudomkdir-p/opt/bigdatasudomkdir-p/data/software /data/hadoop /data/hive /data/flink /data/kafkasudochown-Rlarrychen:larrychen /opt/bigdata /data配置全局环境变量:sudotee/etc/profile.d/bigdata.sh/dev/null'EOF' export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 export HADOOP_HOME=/opt/bigdata/hadoop export HIVE_HOME=/opt/bigdata/hive export FLINK_HOME=/opt/bigdata/flink export KAFKA_HOME=/opt/bigdata/kafka export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$FLINK_HOME/bin:$KAFKA_HOME/bin:$PATH EOFsource/etc/profile.d/bigdata.sh验证 Java:java-version四、安装 HadoopHadoop 安装在10.0.0.27、10.0.0.28、10.0.0.29三台机器。1. 下载并解压 Hadoop三台机器都执行:cd/data/softwarewget-Ohadoop-3.3.6.tar.gz\https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gztar-xfhadoop-3.3.6.tar.gz-C/opt/bigdataln-sfn/opt/bigdata/hadoop-3.3.6 /opt/bigdata/hadoop创建 HDFS 数据目录:mkdir-p/data/hadoop/tmpmkdir-p/data/hadoop/dfs/namemkdir-p/data/hadoop/dfs/data2. 配置 core-site.xml三台机器都执行:cat/opt/bigdata/hadoop/etc/hadoop/core-site.xml'EOF' ?xml version="1.0" encoding="UTF-8"? configuration property namefs.defaultFS/name valuehdfs://10.0.0.27:8020/value /property property namehadoop.tmp.dir/name value/data/hadoop/tmp/value /property /configuration EOF3. 配置 hdfs-site.xml三台机器都执行:cat/opt/bigdata/hadoop/etc/hadoop/hdfs-site.xml'EOF' ?xml version="1.0" encoding="UTF-8"? configuration property namedfs.namenode.name.dir/name valuefile:///data/hadoop/dfs/name/value /property property namedfs.datanode.data.dir/name valuefile:///data/hadoop/dfs/data/value /property property namedfs.replication/name value2/value /property property namedfs.permissions.enabled/name valuefalse/value /property property namedfs.namenode.http-address/name value0.0.0.0:9870/value /property property namedfs.namenode.datanode.registration.ip-hostname-check/name valuefalse/value /property /configuration EOF最后一个配置项很重要。因为本文不修改 hostname,也不强制配置/etc/hosts,所以需要关闭 NameNode 对 DataNode 的 hostname 反解析校验。