全国职业院校技能大赛2022年大数据技术与应用平台搭建
根据全国职业院校技能大赛2022年大数据技术与应用规程整理大数据平台搭建部分,如果有错误指出请提出改正,谢谢
前言
根据全国职业院校技能大赛2022年大数据技术与应用规程整理大数据平台搭建部分,如果有错误指出请提出改正,谢谢
资料
平台搭建组件包
链接:https://pan.baidu.com/s/1KeATNXjhMA_skQvCmK3ZQQ?pwd=21to
提取码:21to
前提条件
竞赛内容
竞赛软件环境
技能要求
依据大数据平台的技术特点独立解压、安装、配置。对不同的组件 4 进行文件参数配置,日志查看、状态查看、服务启动、组件部署等。
赛题及解析
大数据平台搭建(容器环境)
环境说明
服务端登录地址详见各模块服务端说明。
补充说明:宿主机可通过Asbru工具或SSH客户端进行SSH访问;
相关软件安装包在宿主机的/opt目录下,请选择对应的安装包进行 安装,用不到的可忽略;
所有模块中应用命令必须采用绝对路径;
从本地仓库中拉取镜像,并启动3个容器
进入Master节点的方式为
docker exec –it master /bin/bash
进入Slave1节点的方式为
docker exec –it slave1 /bin/bash
进入Slave2节点的方式为
docker exec –it slave2 /bin/bash
同时将/opt目录下的所有安装包移动到3个容器节点中。
前期准备
在ubantu中安装docker ce
1.安装一些必要的系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
安装gpg证书并写入阿里源 docker ce镜像信息
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
更新安装docker ce
sudo apt-get -y update
sudo apt-get -y install docker-ce
查看docker ce 版本
docker version
启动docker服务
sudo service docker start
docker默认是只有root才能执行Docker命令,因此我们还需要添加用户权限:
创建docker用户组:
sudo groupadd docker
添加当前用户到Docker用户组:
sudo gpasswd -a $USER docker
更新用户组:
newgrp docker
创建docker虚拟机的时候,注意需要让虚拟机使用静态ip, docker设置固定ip地址,步骤如下
docker network create --subnet=172.18.0.0/16 mynetwork
docker network ls
2. (在主机)创建虚拟机
docker run -itd --name staticIp-privileged --net mynetwork --ip 172.18.0.2 --privileged=true centos:7 /sbin/init
docker ps -a
3. (在主机)登录虚拟机(用docker方式)
docker exec -it staticIp-privileged /bin/bash
进入docker虚拟机后,centos7默认很多软件没有安装,需要自己手动安装软件
yum install net-tools openssh-server openssh-clients initscripts vim -y
等待安装完毕后开启ssh服务
vim /etc/ssh/sshd_config
开启ssh服务
systemctl start sshd.service
systemctl status sshd.service
设置密码
passwd
4. (在主机)登录虚拟机(用ssh方式)
ssh root@172.18.0.2
5. 安装大数据环境的软件
将主机中的软件安装包传入ubantu宿主机
使用xshell连接ubantu
连接失败
原因:ubuntu没有安装ssh远程连接服务
解决方法:安装ssh远程连接服务
sudo apt-get install openssh-server
再次尝试成功
打开xftp传输文件
报错
解决方法:修改权限 假设要上传的目录是/opt 它的权限应该是777
sudo chmod 777 /opt
重新打开xftp再次尝试成功
将ubantu宿主机中的安装包传输镜像文件中
docker cp /opt/package/ staticIp-privileged:/opt
6. (在主机)将docker虚拟机/docker容器 保存为 docker镜像文件Filex
docker stop staticIp-privileged
docker images
docker commit -m "first docker" staticIp-privileged centos:hadoop
docker images
7. (在主机)使用docker镜像文件filex,创建虚拟机master,slave1,salve2。
docker ps -a
docker run -itd --name master --net mynetwork --ip 172.18.0.10 --privileged=true centos:hadoop /sbin/init
docker run -itd --name slave1 --net mynetwork --ip 172.18.0.11 --privileged=true centos:hadoop /sbin/init
docker run -itd --name slave2 --net mynetwork --ip 172.18.0.12 --privileged=true centos:hadoop /sbin/init
docker ps -a
至此容器镜像配置完毕,接下来就是搭建部分。
任务一:Hadoop 完全分布式安装配置
本环节需要使用root用户完成相关配置,安装Hadoop需要配置前置环境。命令中要求使用绝对路径,具体要求如下:
1. 将Master节点JDK安装包解压并移动到/usr/java路径(若路径不存在,则需新建),将命令复制并粘贴至对应报告中;
进入master节点
docker exec -it master /bin/bash
mkdir /usr/java
cd /opt/package/
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
2. 修改/etc/profile文件,设置JDK环境变量,配置完毕后在Master节点分别执 行“java”和“javac”命令,将命令行执行结果分别截图并粘贴至对应报告中;
vim /etc/profile
在其中加入:
#java
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin
生效环境变量
source /etc/profile
3. 请完成host相关配置,将三个节点分别命名为master、slave1、slave2,并做免密登录,使用绝对路径从master复制JDK解压后的安装文件到slave1、slave2 节点,并配置相关环境变量,将全部复制命令复制并粘贴至对应报告中;
踩坑:docker容器修改hosts文件,重启失效
解决方案:在centos开机时加入自启动脚本
//进入目录
cd /etc/profile.d/
//编写脚本
vim host.sh
//插入以下内容
echo -e "172.18.0.10 master\n172.18.0.11 slave1\n172.18.0.12 slave2" > /etc/hosts
:wq保存退出
ping测试
当然,在比赛的时候只需要自行前往/etc/hosts下修改,自启动修改是为了方便练习
免密登录
(1)时区同步
操作环境: master、slave1、slave2
tzselect
依次输入5911
tzselect只是帮我们把选择的时区显示出来,并不会实际生效,也就是说它仅仅告诉我们怎么样去设置环境变量TZ。
如果要永久更改时区,按照tzselect命令提示的信息,在.profile或者/etc/profile中设置正确的TZ环境变量并生效。
设置TZ环境变量:TZ='Asia/Shanghai'; “export TZ
输入:
echo "TZ='Asia/Shanghai'; export TZ" >> /etc/profile && source /etc/profile
查看时间:
date
(2)NTP同步
操作环境: master、slave1、slave2
下载ntp服务:
yum -y install ntp
屏蔽默认server,设置master为本地时钟源,服务器层级设为10
操作环境: master
vim /etc/ntp.conf
在最后一行加入
server 127.127.1.0
fudge 127.127.1.0 stratum 10
主节点开启NTP服务
操作环境: master
/bin/systemctl restart ntpd.service
slaves手动同步时间(slave1,slave2上 ):
ntpdate master
(3)远程登录ssh
操作环境: master
ssh-keygen
建⽴master⾃身使⽤root⽤户ssh访问localhost免密登录
操作环境: master
ssh-copy-id localhost
输入yes和密码
建⽴master使⽤root⽤户到slave1和slave2的ssh免密登录访问
操作环境: master
ssh-copy-id slave1
ssh-copy-id slave2
同样输入yes和密码
(4)分发/usr/java文件给slave1,slave2
scp -r /usr/java/ root@slave1:/usr/
scp -r /usr/java/ root@slave2:/usr/
在slave1,slave2中配置java环境变量,方法同上。
4. 在Master将Hadoop解压到/opt目录下,并将解压包分发至slave1.slave2中,配置好相关环境,初始化Hadoop环境namenode,将初始化命令及初始化结果复制 粘贴至对应报告中;
5. 启动hadoop集群,查看master节点jps进程,将查看结果复制粘贴至对应报告中;
参考集群安装搭建配置将hadoop完全分布式完成。
踩坑
容器重新启动后jps命令无效
解决方法再次生效环境变量
任务二:Spark on Yarn安装配置
本环节需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境, 具体要求如下:
1. 将scala包解压到/usr/路径,配置环境变量使其生效,将完整命令复制粘贴至 对应报告中(若已安装,则可跳过);
2. 配置/root/profile文件,设置Spark环境变量,并使环境变量生效将环境变量配置内容复制粘贴至对应报告中;
参考spark安装完成配置。
启动成功!
3. 完 成 on yarn 相 关 配 置 , 使 用 spark on yarn 的 模 式 提 交 $SPARK_HOME/examples/jars/spark-examples_2.11-2.1.1.jar 运行的主类为 org.apache.spark.examples.SparkPi,将运行结果粘贴至对应报告中。
bin/spark-submit --master spark://master:7077 --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.11-2.1.1.jar 100
任务三:Flink on Yarn安装配置
本环节需要使用root用户完成相关配置,已安装Hadoop及需要配置前置环境, 具体要求如下:
1. 将Flink包解压到路径/opt目录下,将完整命令复制粘贴至对应报告中;
2. 修改/root/profile文件,设置Flink环境变量,并使环境变量生效将环境变量 配置内容复制粘贴至对应报告中;
3. 开启Hadoop集群,在yarn上以per job模式(即Job分离模式,不采用Session模 式)运行 $FLINK_HOME/examples/batch/WordCount.jar,将运行结果最后10行 复制粘贴至对应报告中。 示例 : flink run -m yarn-cluster -p 2 -yjm 2G -ytm 2G $FLINK_HOME/examples/batch/WordCount.jar
更多推荐
所有评论(0)