大数据技能大赛平台搭建(容器环境)

news2025/1/12 8:41:38

大数据技能大赛平台搭建(容器环境)

    • 一、Hadoop3.X 完成分布式安装部署
      • 1、 JDK安装
        • 1、解压jdk
        • 2、修改配置文件
        • 3、免密登录
      • 2、hadoop集群环境搭建
        • 1、配置文件
        • 2、配置环境变量
        • 3、给slave1和slave2分发配置文件
        • 4、启动Hadoop集群
      • 3、配置完成!
    • 二、Zookeeper安装部署
      • 1、解压
        • 1. 将Master节点Zookeeper安装包解压到/opt/module目录下
        • 2. 改名(可不做)
      • 2、配置
        • 1. 复制zoo.cfg.dynamic.next 改名为 zoo.cfg
        • 2. 修改zoo.cfg文件
        • 3. 新建目录
        • 4. 配置环境变量
      • 3、分发
        • 1,将环境变量文件分发给slave1和slave2
        • 2,将zookeeper安装包分发给slave1和2
        • 3,需要修改slave1和slave2上的myid文件
        • 4,使slave1和2的环境变量生效
      • 4、启动
      • 5、完成!
    • 三、Kafka安装配置
      • 1、解压/
        • 1. 将kafka安装包解压到/opt/module目录下
        • 2. 改名(可不做)
      • 2、配置
        • 1. 配置环境变量
        • 2. 修改文件 server.properties
      • 3、分发
        • 1,给slave1和2 分发环境变量文件
        • 2,分发安装包
        • 3,修改slave1和2的配置文件
      • 4,验证
      • 5,任务
      • 6,配置完成
    • 四、HBase2.x分布式安装配置
      • 1、解压
        • 1. 将Master节点Hbase安装包解压到/opt/module目录下
      • 2、配置
        • 1. 配置环境变量
        • 2. 修改 hbase-site.xml 文件
      • 3、分发
        • 1. 将解压包以及环境变量配置文件分发至slave1、slave2中
        • 2. 启动hbase
      • 4、任务
    • 五、ClickHouse单机安装配置
      • 1、解压
        • 1. 将Master节点ClickHouse相关安装包解压到/opt/module/clickhouse目录下
        • 2. 执行启动各个相关脚本
        • 3. 设置远程访问并移除默认监听文件(listen.xml),同时由于9000端口被hadoop占用,需要将clickhouse的端口更改为9001
        • 4. 启动clickhouse,启动后查看clickhouse运行状态

一、Hadoop3.X 完成分布式安装部署

需要三台虚拟机

所有相关安装包在Master节点的/opt/software目录下

解压到 /opt/module目录下

命令中要求使用绝对路径

1、 JDK安装

  • 在master操作
1、解压jdk
tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/
2、修改配置文件
  1. 修改 etc下的profile文件:vi /etv/profile

添加配置文件(里面原本的内容不可以删除,在最后一行按 o 输入,修改完成先按 Esc 再输入 :wq ( :wq : 退出并保存)):

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
  1. 使文件生效:source /etc/profile ,使用 java -version命令验证

在这里插入图片描述


3、免密登录
  1. 修改/etc/hosts 文件(三台虚拟机都需要):vi /etc/hosts ,将slave1和slave2的ip添加到里面(查看IP的命令:ip addr):

在这里插入图片描述


  1. 在master上输入:

    ssh-keygen -t rsa 然后连续按下三次回车然后输入命令(若遇到需要输入yes或者no 输入yes)
    ssh-copy-id master 按下回车后输入master所对应的虚拟机密码
    ssh-copy-id slave1 按下回车后输入slave1所对应的虚拟机密码
    ssh-copy-id slave2 按下回车后输入slave2所对应的虚拟机密码

    验证方式:输入 ssh slave1 不需要输入密码即可

在这里插入图片描述


2、hadoop集群环境搭建

  1. 将hadoop解压到/opt/module下
tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/
  1. 修改配置文件

修改文件位于:/opt/module/hadoop-3.1.3/etc/hadoop

可以直接:cd /opt/module/hadoop-3.1.3/etc/hadoop

需要修改的配置文件有5个:

1,core-site.xml(核心配置文件)

2,hdfs-site.xml(HDFS配置文件)

3,mapred-site.xml(MapReduce配置文件)

4,yarn-site.xml(YARN配置文件)

5,hadoop-env.sh

6,yarn-env.sh

7,workers (该文件中添加的内容结尾不允许有空格,文件中不允许有空行)

1、配置文件

1,core-site.xml(核心配置文件)

vi core-site.xml
<property>
		<!-- 指定NameNode的地址 -->
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
</property>
<property>
    	<!-- 指定hadoop数据的存储目录 -->
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
</property>
<property>
    	<!-- 配置HDFS网页登录使用的静态用户为root -->
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
</property>

2,hdfs-site.xml(HDFS配置文件)

vi hdfs-site.xml
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:9870</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slave2:9868</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>

3,mapred-site.xml

vi mapred-site.xml
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

4,yarn-site.xml

vi yarn-site.xml(YARN配置文件)
<!-- 开启日志聚集功能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>  
    <name>yarn.log.server.url</name>  
    <value>http://master:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

5,hadoop-env.sh

vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212

6,yarn-env.sh

vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212

7,workers

vi workers
master
slave1
slave2
2、配置环境变量
vi /etc/profile
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

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
3、给slave1和slave2分发配置文件
  1. 分发jdk
scp -r /opt/module/jdk1.8.0_212/ root@slave1:/opt/module/
scp -r /opt/module/jdk1.8.0_212/ root@slave2:/opt/module/
  1. 分发环境变量配置文件
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
  1. 分发hadoop
scp -r /opt/module/hadoop-3.1.3/ root@slave1:/opt/module/
scp -r /opt/module/hadoop-3.1.3/ root@slave2:/opt/module/
  1. 使slave1和slave2的配置文件生效

切换到slave1和slave2 输入命令 source /etc/profile

输入java -version 查看是否成功

在这里插入图片描述

4、启动Hadoop集群
  1. 初始化NameNode(在master)
hdfs namenode -format

在这里插入图片描述

  1. 启动hdfs和yarn
start-all.sh

master 节点下输入 jps 显示以下内容

在这里插入图片描述


slave1节点下输入jps显示以下内容

在这里插入图片描述

3、配置完成!


二、Zookeeper安装部署

1、解压

1. 将Master节点Zookeeper安装包解压到/opt/module目录下
tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
2. 改名(可不做)
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7

2、配置

配置文件在 /opt/module/zookeeper-3.5.7/conf

1. 复制zoo.cfg.dynamic.next 改名为 zoo.cfg
cp zoo_sample.cfg zoo.cfg
2. 修改zoo.cfg文件
vi zoo.cfg
dataDir=/opt/module/zookeeper-3.5.7/zkData(原来配置文件中有,只需要修改目录)
# 下面三个需要新增
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
3. 新建目录

在/opt/module/zookeeper-3.5.7 新建 zkData 文件夹

mkdir zkData

在zkData文件夹新建文件myid,里面输入1

vi myid
4. 配置环境变量
vi /etc.profile

添加如下内容:

#ZOOKEPPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使环境变量生效

source /etc/profile

3、分发

1,将环境变量文件分发给slave1和slave2
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
2,将zookeeper安装包分发给slave1和2
scp -r /opt/module/zookeeper-3.5.7/ root@slave1:/opt/module/
scp -r /opt/module/zookeeper-3.5.7/ root@slave2:/opt/module/
3,需要修改slave1和slave2上的myid文件

slave1:myid修改为2

vi /opt/module/zookeeper-3.5.7/zkData/myid

slave2:myid修改为3

vi /opt/module/zookeeper-3.5.7/zkData/myid
4,使slave1和2的环境变量生效
source /etc/profile

4、启动

三台机器都执行:

cd /opt/module/zookeeper-3.5.7/ 
./bin/zkServer.sh start

三台机器都启动成功之后,使用jps查看是否有QuorumPeerMain进程

./bin/zkServer.sh status

查看当前zookeeper的mode,有一台机器是leader,另外两台是follower

在这里插入图片描述


5、完成!


三、Kafka安装配置

需要配置好zookeeper,其中zookeeper使用集群模式,分别在master,slave1,slave2作为其节点(若zookpeer已安装配置好,则无需再次配置)

1、解压/

1. 将kafka安装包解压到/opt/module目录下
tar -zxvf /opt/software/kafka_2.12-2.4.1.tgz -C /opt/module/
2. 改名(可不做)
mv kafka_2.12-2.4.1/ kafka-2.4.1

2、配置

1. 配置环境变量
vi /etc/profile

添加内容:

#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka-2.4.1
export PATH=$PATH:$KAFKA_HOME/bin
2. 修改文件 server.properties
vi /opt/module/kafka-2.4.1/config/server.properties

内容:

broker.id=0 (原本有,不用改)
log.dirs=/opt/module/kafka-2.4.1/logs(原本有,需要改)
zookeeper.connect=master:2181,slave1:2181,slave2:2181/kafka(原本有,需要改)

3、分发

1,给slave1和2 分发环境变量文件
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
2,分发安装包
scp -r /opt/module/kafka-2.4.1/ root@slave1:/opt/module/
scp -r /opt/module/kafka-2.4.1/ root@slave2:/opt/module/
3,修改slave1和2的配置文件

slave1:

vi /opt/module/kafka-2.4.1/config/server.properties

将 broker.id=0 改成 broker.id=1

slave2:

vi /opt/module/kafka-2.4.1/config/server.properties

将 broker.id=0 改成 broker.id=2

4,使环境变量生效

三台机器:

source /etc/profile

4,验证

使用kafka-server-start.sh --version查看kafka的版本内容

在这里插入图片描述

5,任务

在每个节点启动Kafka,创建topic,其中toipic名称为installtopic,分区数为2,副本数为2

1,在三个节点的/opt/module/kafka-2.4.1/config目录下,使用命令:kafka-server-start.sh -daemon server.properties

cd /opt/module/kafka-2.4.1/config
kafka-server-start.sh -daemon server.properties

使用jps查看,三个节点都有kafka

在这里插入图片描述


2,创建命令:

kafka-topics.sh --create --bootstrap-server master:9092 --replication-factor 2 --partitions 2 --topic installtopic

3,创建结果

kafka-topics.sh --bootstrap-server master:9092 --list

在这里插入图片描述

6,配置完成


四、HBase2.x分布式安装配置

确认是否完成Hadoop和Zookeeper的分布式(Hadoop伪分布式不可以)安装部署,没有的话请进行安装部署并启动。

1、解压

1. 将Master节点Hbase安装包解压到/opt/module目录下

tar -zxvf /opt/software/hbase-2.2.3-bin.tar.gz -C /opt/module/

2、配置

1. 配置环境变量

vi /etc/profile

添加内容:

#HBASE_HOME
export HBASE_HOME=/opt/module/hbase-2.2.3
export PATH=$PATH:$HBASE_HOME/bin
2. 修改 hbase-site.xml 文件

位于:/opt/module/hbase-2.2.3/conf

cd /opt/module/hbase-2.2.3/conf
vi hbase-site.xml

添加内容:

   <property>
        <name>hbase.rootdir</name>
        <value>hdfs://master:9000/hbase</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>master:60000</value>
    </property>
    <property>
        <name>hbase.cluster.distributed</name>
        <value>true</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>master,slave1,slave2</value>
    </property>
    <property>
        <name>hbase.unsafe.stream.capability.enforce</name>
        <value>false</value>
   </property>

3、分发

1. 将解压包以及环境变量配置文件分发至slave1、slave2中
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
scp -r /opt/module/hbase-2.2.3/ root@slave1:/opt/module/
scp -r /opt/module/hbase-2.2.3/ root@slave2:/opt/module/
# 使环境变量生效
# 在三个节点,都需要执行
source /etc/profile
2. 启动hbase

在master:start-hbase.sh

4、任务

正常启动后在hbase shell中查看命名空间

hbase shell 进入方式:master直接输入 hbase shell

查看命名空间:list_namespace

在这里插入图片描述


五、ClickHouse单机安装配置

1、解压

1. 将Master节点ClickHouse相关安装包解压到/opt/module/clickhouse目录下
tar -zxvf clickhouse-client-21.9.4.35.tgz -C /opt/module/clickhouse/
tar -zxvf clickhouse-common-static-21.9.4.35.tgz -C /opt/module/clickhouse/
tar -zxvf clickhouse-common-static-dbg-21.9.4.35.tgz -C /opt/module/clickhouse/
tar -zxvf clickhouse-server-21.9.4.35.tgz -C /opt/module/clickhouse/
2. 执行启动各个相关脚本
cd /opt/module/clickhouse
./clickhouse-client-21.9.4.35/install/doinst.sh
./clickhouse-common-static-21.9.4.35/install/doinst.sh
./clickhouse-common-static-dbg-21.9.4.35/install/doinst.sh
./clickhouse-server-21.9.4.35/install/doinst.sh

####如果让输入密码直接回车,不要输入任何密码
3. 设置远程访问并移除默认监听文件(listen.xml),同时由于9000端口被hadoop占用,需要将clickhouse的端口更改为9001

进入ClickHouse的配置目录:

cd /etc/clickhouse-server

给文件config.xml给权限:chmod 777 config.xml

编辑config.xml文件:

取消掉<!-- <listen_host>0.0.0.0</listen_host> -->的注释变为:<listen_host>0.0.0.0</listen_host>
将里面所有的9000变成9001
4. 启动clickhouse,启动后查看clickhouse运行状态
  1. 启动clickhouse:systemctl start clickhouse-server
  2. 查看clickhouse运行状态:systemctl status clickhouse-server

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1151800.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

奇富科技引领大数据调度革命:高效、稳定、实时诊断

日前&#xff0c;在世界最大的开源基金会 Apache旗下最为活跃的项目之一DolphinScheduler组织的分享活动上&#xff0c;奇富科技的数据平台专家刘坤元应邀为国内外技术工作者献上一场题为《Apache DolphinScheduler在奇富科技的优化实践》的精彩分享&#xff0c;为大数据任务调…

[推荐]SpringBoot,邮件发送附件含Excel文件(含源码)。

在阅读本文前&#xff0c;可以先阅读我的上一篇文章&#xff1a; SpringBoot&#xff0c;使用JavaMailSender发送邮件(含源码)。 &#xff0c;本文使用的代码案例涉及到的 jar包、application.properties配置与它相同。 先看一下效果。 图一 图二 在下方代码案例中&#xff0c;…

智安网络|保护您的应用程序免受攻击:重要的安全强化措施

在今天的数字化时代&#xff0c;应用程序安全成为了企业和个人必须重视的重要领域。应用程序普遍存在的安全漏洞成为黑客们进行攻击的一个突破口。为了保护敏感数据和个人隐私&#xff0c;我们必须了解并实施一系列的关键措施来加固应用程序的安全性。 首先&#xff0c;一个关…

3D max软件有哪些技巧可快速选择区域?

使用3D max软件时&#xff0c;有新手朋友反馈说&#xff0c;为什么3dmax选择区域怎么改不了&#xff1f; 还有就是3dmax选择区域不显示该怎么办&#xff1f; 或者是3dmax选择区域变成圆形了。 针对以上这几类问题&#xff0c;只要掌握这几种方法就可以。小编整理了几种3D max…

一天收入500元的货拉拉运费差项目靠谱吗?

最近的货拉拉运费差项目有点火呀&#xff01;收费也不低&#xff0c;1680-16980的比比皆是。 这个项目去年我就在某些平台看到过&#xff0c;今天就跟大家详细聊聊这个项目&#xff0c;想入坑的不妨先看看这篇文章。 一&#xff1a;项目原理 有人叫它货拉拉搬砖项目&#xf…

2023应届生能力考试含解析(Java后端开发)——(1)

1.以下代码的循环次数是 ( ) public class Test {public static void main(String[] args) {int i 7;do {System.out.println(--i);--i;} while (i ! 0);System.out.println(i);} } A 0 B 1 C 7 D 无限次 这段代码会导致无限循环的原因是在 do-while 循环中&#…

毕业设计基于SpringMVC+Mybatis+Bootstrap的电影院管理系统源码+数据库

<<电影院管理系统>> 电影院管理系统&#xff1a;SpringMVCJSPTomcatMybatisBootstrapJqueryAnimateCSSLayerJS 项目部署&#xff1a;该项目是IDEA版本&#xff0c;Maven项目 前端依赖&#xff1a; Bootstrap-3.4.1Animate.css- 4.1.1Jquery-3.6.0Layer-v3.5.1B…

83.每日一练:搜索插入位置(力扣第35题)

问题描述 代码解决以及思想 class Solution { public:int searchInsert(vector<int>& nums, int target) {int left 0; // 定义左边界int right nums.size() - 1; // 定义右边界while (left < right) { // 当左边界小于…

基于【逻辑回归】的评分卡模型金融借贷风控项目实战

背景知识&#xff1a; 在银行借贷过程中&#xff0c;评分卡是一种以分数形式来衡量一个客户的信用风险大小的手段。今天我们来复现一个评分A卡的模型。完整的模型开发所需流程包括&#xff1a;获取数据&#xff0c;数据清洗和特征工程&#xff0c;模型开发&#xff0c…

python读取列数不规则文件/python数据框分割

问题 将探空数据读取&#xff0c;并按每日单纯储存&#xff0c;数据如下&#xff1a; 为一年数据&#xff0c;存在部分列的数据缺失问题。 数据读取 使用read_csv文件读取文件&#xff0c;由于列数存在不一致问题&#xff0c;需要固定最大列数&#xff1a; names["da…

function函数指针和lamada的[]和[=]注意事项

在工作的过程中&#xff0c;lamda表达式的 重点&#xff1a; 1.function对象存储函数指针。 2.lamada表达式&和捕捉的方式 lamda传入引用&&#xff0c;导致作用域消失&#xff0c;最终报错 std::function<void()> pFun; void GetNum1(const std::function<…

python随手小练14

题目&#xff1a; 文件操作 &#xff1a; 根据文件要求&#xff08;测试&#xff09;筛选出数据并且放入一个新的文件 具体操作&#xff1a; f1 open("1.txt","r",encoding"UTF-8") f2 open("2.txt","w",encoding"U…

【Linux】:Linux开发工具之Linux编译器——gcc/g++的使用

&#x1f4bb;1.背景知识 &#x1f372;1. 预处理&#xff08;进行宏替换) 预处理阶段我们要分为1.头文件展开2.宏替换3.条件编译4.去掉注释 这一步会帮助我们生成.i文件 &#x1f372;2. 编译&#xff08;生成汇编) 编译阶段我们要分为1.检查语法2.生成汇编代码 最后生成.s文…

物联网二维码核销盒对接文档

核销盒是干嘛的&#xff1f; 1.在某些场景下快速核销订单或打卡签到等&#xff0c;通过核销盒能快速将订单信息发送到后端进行处理。 一&#xff0c;首先你需要有一台核销设备&#xff0c;也就是核销盒。 二&#xff0c;通过接口激活或更新核销盒 ​​​​​​​ 简要描述 激…

如何通过API接口对接淘宝平台商品订单/买家订单/卖家订单接口数据【附代码实例】

通过API获取订单号&#xff1a; 如果需要通过API获取订单号&#xff0c;首先需要在淘宝联盟开通API权限&#xff0c;并获取到自己的appKey和appSecret。 具体步骤如下&#xff1a; &#xff08;1&#xff09;构建API请求&#xff0c;包括API接口、请求参数、签名等信息&…

UTC时间戳与北京时间转换

文章目录 前言一、几个时间相关的概念二、场景三、验证方法四、源码五、运行结果六、资源自取 前言 在应用中用到了 UTC 时间戳与北京时间进行转换的需求&#xff0c;这里做一个记录&#xff0c;方便后面有需求时直接拿来用。 一、几个时间相关的概念 GMT 时间&#xff1a;Gr…

【分布式·大数据】大模型赛道如何实现华丽的弯道超车 —— AI/ML训练赋能解决方案

文章目录 大模型赛道如何实现华丽的弯道超车 —— AI/ML训练赋能解决方案01 具备对海量小文件的频繁数据访问的 I/O 效率02 提高 GPU 利用率&#xff0c;降低成本并提高投资回报率03 支持各种存储系统的原生接口04 支持单云、混合云和多云部署01 通过数据抽象化统一数据孤岛02 …

数据库扩展语句,约束方式

扩展语句 create table if not exists ky32 &#xff08;&#xff09;&#xff1a;如果表存在就不创建了 zerofill 自动补齐&#xff08;在命令行可以查看&#xff09; primary key 设置成主键 auto_increment 表示这一列可以自增&#xff0c;默认从1开始&#xff0c;每条记录…

springboot和flask整合nacos,使用openfeign实现服务调用,使用gateway实现网关的搭建(附带jwt续约的实现)

环境准备&#xff1a; 插件版本jdk21springboot 3.0.11 springcloud 2022.0.4 springcloudalibaba 2022.0.0.0 nacos2.2.3&#xff08;稳定版&#xff09;python3.8 nacos部署&#xff08;docker&#xff09; 先创建目录&#xff0c;分别创建config&#xff0c;logs&#xf…

轻松理解 Transformers(2):Attention部分

编者按&#xff1a;随着人工智能技术的不断发展&#xff0c;Transformers 模型架构已成为自然语言处理领域的重要基石。然而&#xff0c;许多人对其内部工作机制仍然感到困惑。本文通过浅显易懂的语言和生活中的例子&#xff0c;帮助读者逐步理解 Transformers 中最核心的 Atte…