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

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

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

需要三台虚拟机

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

解压到 /opt/module目录下

命令中要求使用绝对路径

1、 JDK安装

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

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

shell 复制代码
#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下
shell 复制代码
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(核心配置文件)

shell 复制代码
vi core-site.xml
shell 复制代码
<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配置文件)

shell 复制代码
vi hdfs-site.xml
shell 复制代码
    <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

shell 复制代码
vi mapred-site.xml
shell 复制代码
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

4,yarn-site.xml

shell 复制代码
vi yarn-site.xml(YARN配置文件)
shell 复制代码
<!-- 开启日志聚集功能 -->
<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

shell 复制代码
vi hadoop-env.sh
shell 复制代码
export JAVA_HOME=/opt/module/jdk1.8.0_212

6,yarn-env.sh

shell 复制代码
vi yarn-env.sh
shell 复制代码
export JAVA_HOME=/opt/module/jdk1.8.0_212

7,workers

shell 复制代码
vi workers
shell 复制代码
master
slave1
slave2
2、配置环境变量
shell 复制代码
vi /etc/profile
shell 复制代码
#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
shell 复制代码
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. 分发环境变量配置文件
shell 复制代码
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
  1. 分发hadoop
shell 复制代码
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)
shell 复制代码
hdfs namenode -format
  1. 启动hdfs和yarn
shell 复制代码
start-all.sh

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


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

3、配置完成!


二、Zookeeper安装部署

1、解压

1. 将Master节点Zookeeper安装包解压到/opt/module目录下
shell 复制代码
tar -zxvf /opt/software/apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
2. 改名(可不做)
shell 复制代码
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
shell 复制代码
cp zoo_sample.cfg zoo.cfg
2. 修改zoo.cfg文件
shell 复制代码
vi zoo.cfg
shell 复制代码
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 文件夹

shell 复制代码
mkdir zkData

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

shell 复制代码
vi myid
4. 配置环境变量
shell 复制代码
vi /etc.profile

添加如下内容:

shell 复制代码
#ZOOKEPPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.5.7
export PATH=$PATH:$ZOOKEEPER_HOME/bin

使环境变量生效

shell 复制代码
source /etc/profile

3、分发

1,将环境变量文件分发给slave1和slave2
shell 复制代码
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
2,将zookeeper安装包分发给slave1和2
shell 复制代码
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

shell 复制代码
vi /opt/module/zookeeper-3.5.7/zkData/myid

slave2:myid修改为3

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

4、启动

三台机器都执行:

shell 复制代码
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目录下
shell 复制代码
tar -zxvf /opt/software/kafka_2.12-2.4.1.tgz -C /opt/module/
2. 改名(可不做)
shell 复制代码
mv kafka_2.12-2.4.1/ kafka-2.4.1

2、配置

1. 配置环境变量
shell 复制代码
vi /etc/profile

添加内容:

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

内容:

shell 复制代码
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 分发环境变量文件
shell 复制代码
scp -r /etc/profile root@slave1:/etc/profile
scp -r /etc/profile root@slave2:/etc/profile
2,分发安装包
shell 复制代码
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

shell 复制代码
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

添加内容:

shell 复制代码
#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

shell 复制代码
cd /opt/module/hbase-2.2.3/conf
vi hbase-site.xml

添加内容:

shell 复制代码
   <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中
shell 复制代码
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目录下
shell 复制代码
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. 执行启动各个相关脚本
shell 复制代码
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文件:

shell 复制代码
取消掉<!-- <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
相关推荐
七夜zippoe22 分钟前
CANN Runtime跨进程通信 共享设备上下文的IPC实现
大数据·cann
威胁猎人29 分钟前
【黑产大数据】2025年全球电商业务欺诈风险研究报告
大数据
十月南城1 小时前
Hadoop基础认知——HDFS、YARN、MapReduce在现代体系中的位置与价值
hadoop·hdfs·mapreduce
L543414461 小时前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa
证榜样呀1 小时前
2026 大专计算机专业必考证书推荐什么
大数据·前端
LLWZAI1 小时前
让朱雀AI检测无法判断的AI公众号文章,当创作者开始与算法「躲猫猫」
大数据·人工智能·深度学习
SickeyLee1 小时前
产品经理案例分析(五):电商产品后台设计:撑起前台体验的 “隐形支柱”
大数据
callJJ2 小时前
Spring AI 文本聊天模型完全指南:ChatModel 与 ChatClient
java·大数据·人工智能·spring·spring ai·聊天模型
冻感糕人~2 小时前
收藏备用|小白&程序员必看!AI Agent入门详解(附工业落地实操关联)
大数据·人工智能·架构·大模型·agent·ai大模型·大模型学习