专业大数据运维工程师培训多久能学会?

& &一、基础题
1.请写出http和https请求的区别,并写出遇到过的响应状态码.
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。 三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
状态码常用:
301 永久重定向
403 服务器已经理解请求,但是拒绝执行
404 页面丢失
500 服务器错误
2.请写出在linux系统上面搭建系统或者产品等大数据平台需要对系统进行哪些检查。
?从稳定性说:需要检查集群中的每一台服务器的命令安装是否完善,环境变量是否配置完毕,每一台服务器的软件配置是否有问题。
?扩展性: 能够快速扩展机器,横向扩展条件是否具备
3.请写出使用过的linux系统有哪些版本,如何查看系统信息?(发行版本,内核版本等信息)。
Centos 6.5 6.6 x64& 1.查看发行版本命令:cat& /etc/issue
&2.查看内核版本:& & cat& /proc/version
4.请使用命令在linux系统中创建用户test,用户组为test1,用户目录 /test , 并赋予sudo权限。
useradd& -d& /test& -m& test& -g& test1& -G& root
useradd 选项 用户名 其中各选项含义如下:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
Sudo可以修改文件需要root用户
sudo的工作过程如下:
&1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
&2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
&3,若密码输入成功,则开始执行sudo后续的命令
4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
5,若欲切换的身份与执行者的身份相同,也不需要输入密码
5.写出最少3个监控系统指标的命令(如内存,CPU ,IO,磁盘等)。
看内存 :free
看cpu:more /proc/cpuinfo
看IO:iostat -x 10
看磁盘:fdisk -l
6.请用多种方式在linux系统中设置环境变量,并指出各种方式的区别。
1、控制台中设置,不赞成这种方式,因为他只对当前的shell 起作用,换一个shell设置就无效了: $PATH="$PATH":/NEW_PATH (关闭shell Path会还原为原来的path)
2、修改 /etc/profile 文件,如果你的计算机仅仅作为开发使用时推存使用这种方法,因为所有用户的shell都有权使用这个环境变量,可能会给系统带来安全性问题。这里是针对所有的用户的,所有的shell 在/etc/profile的最下面添加: export PATH="$PATH:/NEW_PATH"
3、修改bashrc文件,这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,这里是针对某一特定的用户,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的 .bashrc文件就可以了。 在下面添加: Export PATH="$PATH:/NEW_PATH"
7.请在linux系统中添加指定的定时任务。(每月1,15日,1,10点运行 /run.sh).
*& 1 ,10& 1,15& *& *& sh& /run.sh
8.编写个shell脚本将/data目录下大于100k的文件转移到 /tmp 目录下。
#! /bin/sh
directory=/data/*
filesize=0
for file in $directory
&filesize=$(wc -c & $(basename $file))
if [ $filesize& -gt& 100*1024 ]
mv& &$(basename $file)& &/tmp
9.请使用命令写出在linux系统中对于文件01.txt ,查找行内容包含“java”关键字,但不包含“bug”关键字的内容,不区分大小写。
:set ignorecase 忽略大小写& 然后执行命令& &/java[^bug]&
10.请帮我查询出8443端口正在被哪个进程使用?
netstat -tunlp|grep& 8443
11.请在linxu系统中使用命令快速找出mysql文件的位置。
rpm -qal |grep mysql
12.搭建NFS文件共享服务,如共享目录为 /nfs , 如何配置NFS服务,客户端怎么挂载共享目录。
1.& &yum install& nfs-utils rpcbind 安装NFS服务端
2.& &vi /etc/sysconfig/nfs 搜索和设置如下所示的端口配置:
&RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
&LOCKD_UDPPORT=30002
&MOUNTD_PORT=30003
STATD_PORT=30004
3.关闭防火墙
4.vi /etc/selinux/config 将上述文件中的 SELINUX=enforcing 替换为 SELINUX=permissive 保存上述文件之后,运行以下命令: setenforce 0
5、创建共享目录& mkdir& /home/nfs-share
6、vi /etc/exports 在上述文件的末尾新增一行,如下所示:
&/data/nfs_share 192.168.4.212(rw,sync,no_root_squash)
/data/nfs_share *(ro) 这一行表示只有192.168.4.212客户端能够以读写权限挂载共享目录,其他客户端只能以只读权限挂载。
7.启动chkconfig nfs on
& & & &chkconfig rpcbind on
service nfs start
service rpcbind start
8. yum install -y nfs-utils
9.手动挂载NFS共享目录
Step-1:确定挂载点,运行以下命令: showmount -e 192.168.4.211
-e选项显示NFS服务端的导出列表。
Step-2:创建挂载目录,运行以下命令: mkdir -p /root/remote_dir 其中,/root/remote_dir为共享目录的挂载点目录。
&Step-3:挂载共享目录,运行以下命令: mount -t nfs 192.168.4.211:/data/nfs_share /root/remote_dir 其中,-t选项用于指定文件系统的类型为nfs。
&Step-4:共享目录使用结束之后,卸载共享目录,运行以下命令: umount /root/remote_dir
13.解释以下vi命令的意思,根据意思写出vi命令。
1) :s/p1/p2/g& & & 将所有的p1替换成p2
2)& 显示行号& & & &:set nu
3) p& & & & & & & 粘贴& & 对应 nyy复制使用
4)& &删除光标下6行& 6dd
5) 将光标移动到最后一行行首& &G
6) /apple& & & & & & &查找apple字符串
14.是否搭建过大数据组件相关的集群,如果集群之间无法通信了,怎么排查?
搭建过,应该检查 1. jps查看进程是否停止
& & & & & & & & &2. 检查ip是否ping通
15.是否安装过mysql源码版本,写出安装流程。
Mysql5.6安装
一 编译环境安装
1、安装make编译器
2、安装 bison
3、安装gcc-c ++
4、安装cmake
5、安装ncurses
6、 yum install gcc gcc-c++
yum install -y ncurses-devel
yum install -y cmake
yum install -y libaio
yum install -y bison
二 mysql安装
& 1、解压mysql源码压缩文件
& 2、编译完成配置mysql服务
& 3、启动mysql
& 4、修改root密码(默认为空)
16.有下列两表:
C1& & & & & &C2& & & & & & & & & & & & & &
------& & & & - -----
A& & & & & & &11
B& & & & & & &12
C& & & & & & &13
CX& & & & & &CY
------& & & & & ------
A& & & & & & &21
C& & & & & & &22
D& & & & & & &23
要得到一下结果:
C1& & &C2& & & CX& & & & CY
-----& & -----& & &------& & &------
A& & & 11& & & &A& & & & & 21
C& & & 13& & & &C& & & & & 22
-----& & ------& & &D& & & & & 23
请写出具体的sql语句
SELECT *& from& tab1 RIGHT JOIN tab2 on tab1.C1 =tab2.CX
Union是连接两个查询语句 (select& * from& tab1 union all& select * from tab2)
Union ALL 连接所有值包括重复& &Union不包括重复值
二、基础题
1、请写出mysql数据库的几种备份/恢复方法。并指出其优缺点
1、linux命令 mysqldump 直接生成.sql文件备份
mysqldump -u username -p& dbname& table1 & /home/BackupName.sql& & 输出mysql密码后备份
2.利用工具备份(Navicat)
3.复制整个数据库目录备份 (xcopy 命令)
4.使用mysqlhotcopy工具快速备份(热备份)
原理:先将需要备份的数据库加上一个读锁,然后用FLUSH TABLES将内存中的数据写回到硬盘上的数据库,最后,把需要备份的数据库文件复制到目标目录。
mysql& -u& root& -p& dbname& && C:\backup.sql
1.Mysqldump:利用linux或者shell进行备份比较灵活,运行较慢
2.利用工具:不好控制,不能自定义
3.复制整个data目录 :这种方法不适用于InnoDB存储引擎的表,而对于MyISAM存储引擎的表很方便。同时,还原时MySQL的版本最好相同。
4.mysqlhotcopy:mysqlhotcopy支持不停止MySQL服务器备份。而且,mysqlhotcopy的备份方式比mysqldump快。mysqlhotcopy是一个perl脚本,主要在Linux系统下使用。其使用LOCK TABLES、FLUSH TABLES和cp来进行快速备份。需要安装Perl和DBI支持。
2、请解释max_allowed_packet 的用途
指代mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小这个是定义mysql服务器端和客户端在一次传送数据包的过程当中数据包的大小定义过大,比如max_allowed_packet=8092,有可能服务器端太忙,来不及接收,或者网络太差,会容易造成丢包定义过小,会因为客户端可能无法快速接收服务器端发过来的包,一般推荐是4096
3、写出调优过的mysql配置参数(连接数/接收的数据包大小)
MySQL配置文件my.cnf
global max_connections 设置连接数
max_allowed_packet& & 客户端与服务端之间一次传输数据包大小
4、查看linux系统中启动了多少java进程,并获取其中某个java进程的内存使用情况。
Jps 查看进程pid
jmap -heap pid
5、指出Nginx支持哪几种负载均衡模式,并指出各模式的应用场景。
1.roundrobin 轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。 适用于后台机器性能一致的情况。 挂掉的机器可以自动从服务列表中剔除。
&2.weight 根据权重来分发请求到不同的机器中,适用于后台机器性能不一样的情况。
&3.ip_hash 根据请求者ip的hash值将请求发送到后台服务器中,可以保证来自同一ip的请求被打到固定的机器上,可以解决session问题。
&4.url_hash 根据请求的url的hash值将请求分到不同的机器中,当后台服务器为缓存的时候效率高。
&5.fair 根据后台响应时间来分发请求,响应时间短的分发的请求多。
三、专项题
1.写出hadoop集群常用进程以及进程含义
1、Namenode
它是Hadoop 中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问。
2、Datanode
它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个 datanode 守护进程。
3、secondaryNameNode
它不是 namenode 的冗余守护进程,而是提供周期检查点和清理任务。 出于对可扩展性和容错性等考虑,我们一般将SecondaryNameNode运行在一台非NameNode的机器上。
4、ResourceManager
负责调度 DataNode上的工作。每个 DataNode有一个NodeManager,它们执行实际工作。
5、NodeManager
负责执行ResourceManager分发的任务
HA 模式忽略
2.Hadoop安装部署需要修改的配置文件,以及常用端口,举例说明
hadoop-env.sh& & hadoop jdk配置
core-site.xml& & &hadoop核心文件-配置hadoop的命名服务和tmp目录和zookeeper集群
hdfs-site.xml& & & 配置通信端口 http端口等。
mapred-site.xml& &配置mapreduce的资源调度框架 yarn
yarn-site.xml& & & yarn相关配置
Slaves 文件& & & &指定hadoop集群的子节点位置
50070& &namenode的web访问端口
9000& & RPC通信端口
2181& & zookeeper端口&
3.使用过的hadoop shell 命令
Hadoop fs -ls /
Hadoop fs& -mkdir& /test
Hadoop fs& -cat /
阅读(...) 评论()大数据运维问题记录(七) - 简书
大数据运维问题记录(七)
问题描述:公司中一个项目我们用netty接收厂商提供的数据入kafka,接收速度较慢,入kafka也比较慢,需要对其进行一些优化。
问题解决:利用一周左右的时间对其代码和相关配置进行了一些优化,并测试了一下性能,现将测试过程和结果分析进行总结。
一.测试环境
测试节点描述.png
1.服务端主机配置如下表:
服务端主机配置.png
2.Kafka服务器配置如下表:
kafka主机配置.png
二.测试需求/目标
在客户端40个并发的情况下,获得服务端运行时的相关数据,从而进行分析,对服务端进行优化,使得客户端数据没有积压并提高服务端系统的稳定性。
三.测试内容
本次测试包括两步,第一步测试仅接收客户端数据并解析不入kafka的性能,第二步测试接收客户端数据解析后实时入kafka的性能。
四.测试结果及分析
此次由于客户端的原因,测试吞吐量有限,所以并未真正达到测试的极限目的。
以下是客户端的吞吐量
客户端吞吐量.png
在测试仅接收客户端数据时出现程序运行一段时间后出现频繁fullgc最后导致出现内存溢出,gc内存不够的情况。服务端接收的数据包逐渐减少,客户端出现积压,分析程序后一方面业务逻辑那块因为是通过字节传输的需要进行解码后拼接成需要的字符串,所以这块会影响一部分性能,以下是业务逻辑的复杂度:
业务逻辑处理种类.png
在调整优化业务逻辑代码后,最后总结出以下几个netty的优化配置项:
bossGroup此项是负责处理客户端的连接请求,并将accept的连接注册到workerGroup的其中一个线程上,因为TCP连接的三次握手I/O频繁,使用一个独立的bossGroup线程池可以提升性能。所以这块设置为1。
workerGroup此项负责处理客户端通道上的数据读写,因为服务端的服务器逻辑cpu数是32个也就是最大线程并发数是32,并且没有其它业务在此服务器上部署,所以这块设置为32。
SO_BACKLOG此项用于构造服务端套接字ServerSocket对象,标识当服务器请求处理线程全满时,用于临时存放已完成三次握手的请求的队列的最大长度。这块设置为128。
EventExecutorGroup此项是设置独立的业务逻辑线程池,因为业务逻辑中解析数据比较费时,所以要显示的指定业务逻辑线程池,从而可以让workGroup及时处理其它客户端的请求。所以这块也设置为32。
另外对程序中的变量和对象进行优化,能不实例化的就不要实例化,并且将程序中的无用日志去掉。
netty最终的参数配置如下表:
netty最终参数.png
优化完后重新运行,运行平稳没有频繁出现fullgc的情况,并且cpu负载也较稳定,客户端也没有积压
以下是netty接收的数据量:
netty服务端接收数据量.png
cpu负载情况如下图:
cpu负载1.png
接下来测试数据接收过来解析完后入kafka的性能时出现频繁fullgc,并且入kafka的速度也很慢,客户端出现数据积压的情况。因为之前测试了不入kafka的情况,所以这块不是netty处理的问题,需要优化入kafka的程序和相关配置(注意配置参数,不同的kafka版本会有所不同)我们的kafka是0.90版本,kafka producer中影响性能的配置主要有以下几个:
acks:这个配置可以设定发送消息后是否需要Broker端返回确认,设置为0不需要进行确认
batch.size:Producer会尝试去把发往同一个Partition的多个Requests进行合并,指明了一次Batch合并后Requests总大小的上限。
linger.ms:Producer默认会把两次发送时间间隔内收集到的所有Requests进行一次聚合然后再发送,以此提高吞吐量,而linger.ms则更进一步,这个参数为每次发送增加一些delay,以此来聚合更多的Message
buffer.memory:在Producer端用来存放尚未发送出去的Message的缓冲区大小。
在测试过程中我们发现不是一味的增加batch size的大小或者增大linger.ms的大小或者增大buffer.memory的值可以加快发送到kafka的效率,需要根据实际的数据传输速率进行不断的调整优化,最终我们将batch size的值设置为500000,linger.ms的值设置为200,buffer.memory的值设置为默认值后可以满足客户端数据不积压,入kafka的效率达到稳定,同时cpu负载也达到稳定,gc也达到稳定。同时为了防止客户端发送数据突然出现陡增,我们加大了 jvm的内存参数为-Xms50g -Xmx50g(默认为30g)。
kafka的最终配置如下表:
kafka最终配置图.png
以下是运行平稳后发送到kafka的速率:
入kafka效率.png
cpu的负载情况:
cpu负载2.png
gc的运行情况:
gc运行情况图.png
采用netty架构只要对相应的参数进行调试,可以满足目前的业务数据请求,运行效率比较稳定。后续数据如果出现陡增,一方面要继续对各项参数进行调整外,还可以采用netty集群的方式进行解决。不管是netty的参数还是kafka的参数都没有一个固定值,都需要根据服务器本身的配置以及具体的业务和数据进行不断调试,从而达到性能稳定的效果。
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
//我所经历的大数据平台发展史(三):互联网时代 o 上篇http://www.infoq.com/cn/articles/the-development-history-of-big-data-platform-paet02 编者按:本文是松子(李博源)的大数据平台发展史...
kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Activity Stream)和运营数据处理管道(Pipeline)的基础,具有高水平扩展和高吞吐量。 应用领域:已被多家不同类型的公司作为多种类型的数据管道和消息...
http://geek.csdn.net/news/detail/210469http://www.36dsj.com/archives/87945 本文除了一些常用的大数据工具,还总结汇总了其他大数据工具,几乎是最全的大数据工具的总结。 如果你想入门大数据,可以对他们进行...
Kafka入门经典教程-Kafka-about云开发
http://www.aboutyun.com/thread-.html 1.Kafka独特设计在什么地方?2.Kafka如何搭建及创建topic、发送消息、消费消息?3.如何书写Kafka程序?4....
此篇为第七季剧情预测"分析文"请慎阅 《权力的游戏》(Game of Thrones)第六季「瑟曦兰尼斯特」为了坐上铁王座,以野火火烧君临城夺回权力,解决所有敌人,第七季她准备用野火烧更多东西,美国媒体《好莱坞报导》特别做了分析,提出了五个野火可能用来烧毁的目标。 野火(W...
又是周末,普通的不能再普通的。睡了一天,晚上出来溜溜弯。在网上查到新开了一家甜品店,正宗法式,心里乐开了花。减肥什么的都抛之脑后了。
到店之后点了一大盘甜品大拼,心情那叫一个棒。不是吃的多了开心,而是吃到心坎里,也甜在心里了。生活里也一样,不是对不对口,而是高...
瑜伽是一种一旦接触就会疯狂爱上的运动。记得两个月前误入瑜伽课程到现在,已经深深爱上这项运动。它不受场地限制,简单到仅有块垫子就可以练习。甚至有些体式随时在办公室都可以做。回头想想为什么会爱上瑜伽? 瑜伽(Yoga)的本意是&结合&,有自我实现的含义。瑜伽是通过调整呼吸,结合...
1、360手机助手: (1)下载总量和近期下载量 (2)下载总量相当的情况下好评的量 (3)开发者等级 2、百度手机助手: (1)关键词排名:百度CPD竞价+用户自然选择的综合选择 (2)可以刷一些量,人气指数是由量级决定的。 (3)近期激活量影响排名,内部管理不是很严格,...3被浏览357分享邀请回答0添加评论分享收藏感谢收起写回答短期大数据运维培训课程如何学_百度知道
短期大数据运维培训课程如何学
我有更好的答案
包含的知识面还是比较广,学起来比较难,所以自身努力是必须的,个人建议到魔据了解一下,注重基础教育,能让你学到真正的本领。
采纳率:50%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。微信扫一扫,
临沂大数据运维培训可以从事那些工作岗位?
责任编辑: 发布时间: 21:07浏览5次
临沂大数据运维培训可以从事那些工作岗位?魔据临沂大数据运维培训现在非常火,人们经常谈到大数据,而谈论大数据又不可避免地要提到Hadoop,遗憾的是今天大多数大数据鼓吹者,甚至专业人士其实并不能说清楚Hadoop到底是什么玩意,有什么用?  魔据大数据培训联系方式:  电话:400-690-5006  手机:  网址:http://www.mojuedu.com/   魔据临沂大数据运维培训Hadoop是Apache软件基金会管理的开源软件平台,但Hadoop到底是什么呢?简单来说,Hadoop是在分布式服务器集群上存储海量数据并运行分布式分析应用的一种方法。Hadoop被设计成一种非常“鲁棒”的系统,即使某台服务器甚至集群宕机了,运行其上的大数据分析应用也不会中断。此外Hadoop的效率也很高,因为它并不需要你在网络间来回捣腾数据。Hadoop能够做什么?不管是国外的著名公司Google、Yahoo!、微软、亚马逊、EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera、Hortonworks等,又还是国内的著名公司中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等,都在使用Hadoop及相关技术解决大规模化数据问题,以满足公司需求和创造商业价值。“Hadoop能做什么?”,概括如下:  1)搜索引擎:这也正是Doug Cutting设计Hadoop的初衷,为了针对大规模的网页快速建立索引;  2)大数据存储:利用Hadoop的分布式存储能力,例如数据备份、数据仓库等;  3)大数据处理:利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等;  4)科学研究:Hadoop是一种分布式的开源框架,对于分布式系统有很大程度地参考价值。Hadoop核心Hadoop的核心就是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如Hbase、Hive等,这些都是基于HDFS和MapReduce发展出来的。要想了解Hadoop,就必须知道HDFS和MapReduce是什么。HDFS HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。  魔据大数据全面解析Hadoop魔据临沂大数据运维培训MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,较后再将提取出来的数据汇总分析,较终获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。在魔据教育大数据培训中,Hadoop是大数据学科中的重中之重,可以说是大数据的核心之一,学好大数据就来魔据教育,为你解开大数据之谜,迈入大数据行业高薪就业!&临沂大数据运维培训可以从事那些工作岗位?
分享发布,文章内容系作者个人观点,不代表培训通对其观点赞同或支持,本网不对内容真实性负责,若该文章内容涉嫌侵权,请发邮件qq:。
相关新闻:
copyright & 2004-today pxto.com.cn, All Rights Reserved.
, 备案编号:京公网安备 ,

我要回帖

更多关于 大数据运维工程师 的文章

 

随机推荐