根据全国职业院校技能大赛2022年大数据技术与应用规程整理大数据平台搭建部分,如果有错误指出请提出改正,谢谢
赛程文件
链接:https://pan.baidu.com/s/1TAygWqDkYOW9TDn-3HnHzA
提取码:yikm
ubantu镜像
链接:https://pan.baidu.com/s/14A2gsG857p8PO3NpiOcEnQ
提取码:yikm
平台搭建组件包
链接:https://pan.baidu.com/s/1vNBF0JTKo2g5IpweyyM9Cw
提取码:yikm
竞赛内容

竞赛软件环境

依据大数据平台的技术特点独立解压、安装、配置。对不同的组件 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地址,步骤如下
1. (在主机)创建网络
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

至此容器镜像配置完毕,接下来就是搭建部分。
本环节需要使用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命令无效
解决方法再次生效环境变量
本环节需要使用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
本环节需要使用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
?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------
MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO
我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它
关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭11年前。Improvethisquestion我不经常使用ruby-通常它加起来相当于每两个月或更长时间编写一次脚本。我的大部分编程都是使用C++进行的,这与ruby有很大不同。由于我与ruby之间的差距如此之大,我总是忘记语言的基本方面(比如解析文本文件和其他简单的东西)。我想每天练习一些基本的东西,我想知道是否有一些我可以订阅的网站,并且会向我发送当天的Ruby问题或类似的东西。有人知道这样的站点/Internet服务吗?
3月26日,映宇宙(HK:03700,即“映客”)发布截至2022年12月31日的2022年度业绩财务报告。财报显示,映宇宙2022年的总营收为63.19亿元,较2021年同期的91.76亿元下降31.1%。2022年,映宇宙的经营亏损为4698.7万元,2021年同期则为净利润4.57亿元;期内亏损(净亏损)为1.68亿元,2021年同期的净利润为4.33亿元;非国际财务报告准则经调整净利润为3.88亿元,2021年同期为4.82亿元,同比下降19.6%。 映宇宙在财报中表示,收入减少主要是由于行业竞争加剧,该集团对旗下产品采取更为谨慎的运营策略以应对市场变化。不过,映宇宙的毛利率则有所提升
当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在
前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型
如果使用Marshal.dump写入文件,我有一个Ruby散列达到大约10兆字节。gzip压缩后约为500KB。在ruby中迭代和改变这个散列是非常快的(几分之一毫秒)。即使复制它也非常快。问题是我需要在RubyonRails进程之间共享此散列中的数据。为了使用Rails缓存(file_store或memcached)执行此操作,我需要先Marshal.dump文件,但这会在序列化文件时产生1000毫秒的延迟,在序列化文件时产生400毫秒的延迟。理想情况下,我希望能够在100毫秒内从每个进程保存和加载此哈希。一个想法是生成一个新的Ruby进程来保存这个散列,该散列为其他进程提供AP
我感到有点困惑——大约24小时以来,我一直在考虑在我的项目中使用哪种组播技术。基本上,我需要的是:创建组(通过一些后端进程)任意客户端广播消息(1:N,N:N)(可能)直接消息(1:1)(重要)使用我自己的后端(例如,通过某种HTTPAPI)对客户端进行身份验证/授权能够通过后端进程(或服务器插件)踢出特定的客户端这是我要的:Ruby或Haxe中的后端相关流程JS+Haxe(Flash9)中的前端—在浏览器中,因此理想情况下通过80/443进行通信,但不一定。因此,这项技术必须能够在HaxeforFlash中轻松访问,最好是Ruby。我一直在考虑:RabbitMQ(或OpenAMQ)、
文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据