当前位置: 首页 > news >正文

大数据应用开发——大数据平台集群部署(三)

前言

大数据应用开发——大数据平台集群部署 

        安装虚拟机 

        集群基础设置

        在集群上安装jdk和hadoop

        安装mysql和hive

        安装spark和zookeeper、hbase

大数据应用开发——实时数据采集

大数据应用开发——实时数据处理

        Flink完成Kafka中的数据消费,将数据分发至Kafka的dwd层中

        并在HBase中进行备份

大数据应用开发——数据可视化

目录

        在集群上安装jdk和hadoop

        在三个节点创建/opt/module目录

        在master节点安装jdk

                配置jdk的环境变量

                将jdk安装到slave1和slave2 

                在slave1和slave2上source /etc/profile和java -version,检查是否安装jdk成功

        安装Hadoop分布式

                解压Hadoop的压缩包

                配置Hadoop的环境变量并生效 

                进入到hadoop的配置文件路径,配置Hadoop的配置文件

                配置hadoop-env.sh 

                配置core-site.xml

                配置hdfs-site.xml

                配置mapred-site.xml

                配置yarn-site.xml

                配置workers文件 

                将hadoop从master节点拷贝到save1和slave2,记得source

                格式化NAMENODE,启动Hadoop集群

                启动Hadoop集群 

                测试HDFS和YARN是否能正常运行


在集群上安装jdkhadoop

masterslave1slave2
HDFSnamenodesecondarynamenode
datanodedatanodedatanode
YARNresourcemannager
nodemanagernodemanagernodemanager

在三个节点创建/opt/module目

[root@master ~]# mkdir /opt/module/
[root@master ~]# scp -r /opt/module slave1:/opt/
[root@master ~]# scp -r /opt/module slave2:/opt/

master节点安装jdk

[root@master ~]# tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/
配置jdk的环境变量
[root@master jdk1.8.0_212]# vi /etc/profile.d/my-env.sh
# 配置内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

 source使配置文件生效并且查看jdk版本是否正确

[root@master jdk1.8.0_212]# source /etc/profile
[root@master jdk1.8.0_212]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
[root@master jdk1.8.0_212]#
jdk安装到slave1slave2 
# 拷⻉/etc/profile.d/my-env.sh
[root@master ~]# scp /etc/profile.d/my-env.sh slave1:/etc/profile.d
[root@master ~]# scp /etc/profile.d/my-env.sh slave2:/etc/profile.d
# 拷⻉jdk
[root@master ~]# scp -r /opt/module/jdk1.8.0_212/ slave1:/opt/module/
[root@master ~]# scp -r /opt/module/jdk1.8.0_212/ slave2:/opt/module/
slave1slave2source /etc/profilejava -version,检查是否安装jdk成功

slave1

[root@slave1 ~]# source /etc/profile
[root@slave1 ~]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
[root@slave1 ~]#

slave2

[root@slave2 ~]# source /etc/profile
[root@slave2 ~]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)
[root@slave2 ~]#

安装Hadoop分布式

解压Hadoop的压缩包
[root@master softwares]# tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
配置Hadoop的环境变量并生效 
[root@master hadoop-3.1.3]# vi /etc/profile.d/my-env.sh
# 添加内容
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
# 使环境变量⽣效
[root@master hadoop-3.1.3]# source /etc/profile

验证hadoop

[root@master hadoop-3.1.3]# hadoop version
进入到hadoop的配置文件路径配置Hadoop的配置文件
[root@master hadoop]# cd $HADOOP_HOME/etc/hadoop/
配置hadoop-env.sh 
[root@master hadoop]# vi hadoop-env.sh
# 添加内容
export JAVA_HOME=/opt/module/jdk1.8.0_212
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
配置core-site.xml
[root@master hadoop]# vi core-site.xml
<configuration>
<!-- 指定NameNode的地址 -->
<property><name>fs.defaultFS</name><value>hdfs://master:8020</value>
</property>
<!-- 指定hadoop数据的存储⽬录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置HDFS⽹⻚登录使⽤的静态⽤⼾ root -->
<property><name>hadoop.http.staticuser.user</name><value>root</value>
</property>
<!-- 配置root(superUser)允许通过代理访问主机节点 -->
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<!-- 配置root(superUser)允许代理⽤⼾所属组 -->
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>
<!-- 配置root(superUser)允许通过代理的⽤⼾ -->
<property><name>hadoop.proxyuser.root.users</name><value>*</value>
</property>
</configuration>
配置hdfs-site.xml
[root@master hadoop]# vi hdfs-site.xml
<configuration>
<!-- nn web端访问地址 -->
<property><name>dfs.namenode.http-address</name><value>master:9870</value>
</property>
<!-- 2nn web端访问地址 -->
<property><name>dfs.namenode.secondary.http-address</name><value>slave2:9868</value>
</property>
<!-- 指定集群环境HDFS副本的数量 -->
<property><name>dfs.replication</name><value>1</value>
</property>
</configuration>
配置mapred-site.xml
[root@master hadoop]# vi mapred-site.xml
<configuration>
<!-- 指定MapReduce程序在Yarn上运⾏ -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>
<!-- 配置历史服务器端地址 -->
<property><name>mapreduce.jobhistory.address</name><value>master:10020</value>
</property>
<!-- 配置历史服务器Web端地址 -->
<property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value>
</property>
</configuration>
配置yarn-site.xml
[root@master hadoop]# vi yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 指定MR⾛shuffle -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址 -->
<property><name>yarn.resourcemanager.hostname</name><value>slave1</value>
</property>
<!-- 环境变量的继承 -->
<property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOMEHADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- yarn单个容器允许分配的最⼤内存⼤⼩ -->
<property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value>
</property>
<property><name>yarn.scheduler.maximum-allocation-mb</name><value>4096</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property>
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>
</configuration>
配置workers文 
[root@master hadoop]# vi workers
master
slave1
slave2
hadoopmaster节点拷贝到save1slave2,记得source
[root@master hadoop]# scp -r /opt/module/hadoop-3.1.3/ slave1:/opt/module/
[root@master hadoop]# scp -r /opt/module/hadoop-3.1.3/ slave2:/opt/module/
[root@master hadoop]# scp /etc/profile.d/my-env.sh slave1:/etc/profile.d
[root@master hadoop]# scp /etc/profile.d/my-env.sh slave2:/etc/profile.d
格式化NAMENODE,启动Hadoop集群
[root@master hadoop]# hdfs namenode -format
启动Hadoop集群 

master

[root@master hadoop-3.1.3]# start-dfs.sh

slave1

[root@slave1 hadoop-3.1.3]# start-yarn.sh

测试HDFSYARN是否能正常运行

master节点的/home录中创建hello.txt⽤于在集群运行wordcount

[root@master opt # cd /home
[root@master home]# vi hello.txt

hello.txt上传到hdfs/input/目

[root@master home]# hdfs dfs -mkdir /input/
[root@master home]# hdfs dfs -put hello.txt /input/
2024-03-11 15:09:24,565 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
[root@master home]# hdfs dfs -ls /input/
Found 1 items
-rw-r - r - 1 root supergroup 36 2024-03-11 15:09 /input/hello.txt
[root@master home]#

运行hadoop自带的wordcountjar测试yarn的运行情况

[root@master home]# cd $HADOOP_HOME/share/hadoop/mapreduce/
[root@master mapreduce # yarn jar hadoop-mapreduce-examples-3.1.3.jar wordcount /input/hello.txt /output/

查看下输出结果

[root@master mapreduce]# hdfs dfs -cat /output/par*
2024-03-11 15:13:56,403 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
hadoop 1
hdfs 1
hello 3
java 1
[root@master mapreduce]#

http://www.mrgr.cn/news/99171.html

相关文章:

  • 用Python玩转倒排索引:从原理到实战的趣味之旅
  • Semaphore的核心机制
  • Webview+Python:用HTML打造跨平台桌面应用的创新方案
  • 云梦数据平台
  • 小红书爬虫,小红书api,小红书数据挖掘
  • 滑动时间窗口实现重试限流
  • Linux 入门:基础开发工具(下)git,cgdb操作指南
  • ZYNQ笔记(十):XADC (PS XDAC 接口)
  • HarmonyOS 笔记
  • 深度可分离卷积与普通卷积的区别及原理
  • Few-shot medical image segmentation with high-fidelity prototypes 论文总结
  • 51c大模型~合集119
  • 位运算,状态压缩dp(算法竞赛进阶指南学习笔记)
  • 算法导论思考题
  • WInform当今技术特性分析
  • Java中的锁
  • Matplotlib的应用
  • (一)mac中Grafana监控Linux上的CPU等(Node_exporter 安装使用)
  • STM32的三种启动方式
  • 安卓学习24 -- 网络