Hadoop+hive+flask+echarts大数据可视化项目(二)

--------------系统数据整合和hadoop环境搭建----------------

关注Hadoop+Hive+Flask+echarts大数据可视化项目的阅读者,前面已提及系统信息的收集,但收集的系统信息需要整合到一起,如何实现收集的ip地址、cpu使用率,硬盘使用率,内存使用率等参数的综合,需要通过编写linux的shell脚本。

一、shell脚本综合ip地址/内存使用率等信息。

shell脚本可以将之前获取的ip地址,cpu使用率,内存使用率及硬盘使用率综合到一起。编写shell脚本时,把获取ip地址的命令需要使用撇号括起来,撇号是键盘中制表键上方的“``”号。

用撇号括起来的命令就会有执行结果的返回,相当于获取了ip地址的结果,将结果存储到变量中,接下来通过echo命令去显示变量的结果,注意,eho显示变量的时候需要在变量名前面加入$符号。如下图所示的显示ip地址的shell脚本。。

图中第一行把提取ip的命令放在撇号中,然后通过echo去显示这个变量,在变量前加上$符号。

保存文件后,如果文件名为myrun.sh,在linux的操作提示符下输入sh myrun.sh。最终输出结果如下。

从图中可以看出,执行shell脚本可以显示ip地址。

同理,可以把提取mac地址,提取主机名,提取内存参数,提取cpu参数,提取硬盘参数的指令也写入到shell脚本中。

代码如下图所示。

图中除最后一行外,其它行分别获取ip地址,存储变量到ip中,获取mac地址,存储变量到mac中,获取hostname主机名,存储变量到hostname中,获取linux操作用户,存储变量到root中,获取cpu的用户使用率,存储变量到cpuuserrate中,获取cpu的系统使用率,存储变量到cpusysrate中,获取cpu的空闲使用率,存储变量到cpuidle中,获取总内存数,存储变量到memtotal中,获取空闲内存数,存储变量到memfree中,获取硬盘的使用率,存储变量到diskrate中。

代码中最后一行显示所有的变量名,显示的所有变量都加$符号,同时也要注意,每个变量间使用“|”分隔,使用“|”分隔的原因在于“|”在系统参数的分析中不容易出现,这样比较容易实现分割,如果使用空格,计算机名有可能含有空格,不能精确切分出很多参数。

在linux命令提示符下使用sh myrun.sh执行shell脚本命令如下。

综合到一起的信息,输出到控制台可以看到具体的输出结果。不过,信息显示到控制台,没有任何的意义,我们最终需要把信息上传到hadoop分布式文件存储平台,之所以是分布式文件存储平台,就决定了其存储形式是文件为基础的,需要把综合起来的系统信息存储到文件中。echo后面可以跟>号把文件存储到文件中。shell脚本命令的修改如下所示。

在图中最后一行添加了“>/home/data/info.txt”,其目的是将输出结果添加到home中data目录下的info.txt文件中。

现在继续执行shell脚本时,控制台就没有任何输出。如下图所示。

此时查看home中data目录下的info.txt文件内容,可以看到输出信息都存储在了info.txt中。

从信息中看,其数据最终要进行一系列的分析,如硬盘在一段时间内的使用率或者内存在一段时间内的使用率等,这一段时间就是一个时间的概念,在输出的信息中没有提及到时间,一般在处理系统信息或者是日志一类的数据时,必须要提供时间点,因此需要修改shell脚本,在shell脚本中添加时间的内容。Linux是使用date实现时间格式化时,使用date时,可以使用data -help查看帮助来协助解决时间格式化的问题。如下图所示。

从帮助提示中可以看到,格式化可以使用+号结合%再配合字母提取相关的格式化内容。如把时间格式化成“2022/7/20 9:12:00”的形式,可以使用如下形式。

date “+%Y/%m/%d %H:%M:%S”

命令使用格式如下图所示。

现在可以把命令结合到shell脚本中形成一个新的时间变量,然后在输出信息中包含一个输出的时间变量。shell脚本如下图所示。

这里再执行shell脚本,然后再显示home中data目录下info.txt中的文件内容。显示内容如下图所示。

有了时间点的系统信息,也就能够对一段时间内的系统信息进行分析。

二、hadoop平台的搭建

现在搭建hadoop平台环境,使获取的脚本信息文件能够上传到hadoop平台中。

搭建hadoop平台环境,需要提供jdk和hadoop的压缩包,这里使用的是1.8的jdk文件和hadoop2.7.1的hadoop包文件。

如下图所示,两个软件包的截图。

这两个软件包如果需要上传到linux系统中,需要使用ftp连接远程linux服务器,一般企业中会通过vftp软件来连接linux服务器。

如下面的vftp软件图标。

双击图标后,启动xftp,点击“+”图标可增加连接服务器的相关配置。

增加ftp连接后,输入连接的用户名和密码。然后选择sftp的连接方式,如下图所示。

图示中的各项配置结束后,点击“确定”即可完成配置。现在点击对应的连接,连接到远程linux服务器。

连接到远程服务器后,会首先弹出对话框询问“安全连接”方面的问题。直接点击“接受并保存”。

点击“接受并保存”后,会自动登陆到linux服务器root用户的文件夹下。

可以将文件上传到特定的目录,这里把两个压缩文件上传到home目录中的soft目录下,home目录中没有soft目录可以新建一个soft目录。

上传成功后,在linux的usr目录下建立java和hadoop两个目录。

建立相应的java目录和hadoop目录后,将上传到home目录中soft目录下的两个压缩文件解压到java和hadoop目录中。

解压文件可以使用tar指令实现,先解压jdk压缩包到usr中的java目录下。

接下来,再解压hadoop压缩包到usr中的hadoop目录下。

解压文件后,其它的内容就是进行配置。

具体配置方法如下。

首先配置java中jdk的路径,需要配置linux的环境变量,具体文件是etc目录下的profile文件。编辑内容如下。

在标黄的部分第一句进行了JAVAHOME环境变量的设置,其目的是设置jdk的环境变量,标黄部分的第二句进行HADOOPHOME环境变量的设置,其目的是设置hadoop的环境变量,再把JAVAHOME和HADOOPHOME环境变量的执行路径定入到PATH路径中。

设置完JAVA和HADOOP的路径后,执行source profile使环境变量生效。如下图所示。

接下来配置hadoop的环境。

进入到hadoop的配置目录,其配置目录如下图所示。

这里需要编辑5个文件。

第一个文件是hadoop-env.sh文件,具体编辑内容如下。

这里指定标黄的JAVA_HOME路径,相当于指明jdk的执行位置。

第二个文件是core-site.xml,配置core-site.xml的内容如下图所示。

配置文件中通过fs.defaultFS指明hdfs服务器的地址和端口,再通过hadoop.tmp.dir指明hdfs分布式文件系统中数据的存放目录。

第三个文件是hdfs-site.xml文件,配置hdfs-site.xml的内容如下图所示。

配置文件中通过dfs.replication指明hdfs服务器的备份数目,因为只有一台机器,所以hdfs服务器的备份数为1。

第四个文件为mapred-site.xml,此文件在原有的目录下是不存在的,需要通过目录下的mapred-site.xml.template复制获得,命令如下图所示。

复制后,产生mapred-site.xml文件,配置文件中指明执行mapreduce分布式计算的框架为yarn。如下图所示。

这里的配置文件中通过编辑configuration,在其中添加property,然后定义name和value的键值,指明了执行mapreduce时框架frame的名称yarn。

配置的第五个文件是yarn-site.xml文件,其文件的配置内容如下。

这里的配置信息主要是配置yarn框架的两个角色,nodemanager和resourcemanager,通过yarn.resourcemanager.hostname指明了yarn角色resourcemanager的主机名称,通过yarn.nodemanager.aux-service指明nodenamager工作时用的哪一个service ,这里service的名称是shuffle。

配置文件配置成功后,需要格式化hadoop分布式存储平台,才能够启动hadoop并上传文件到hadoop平台中。

格式化hadoop分布式存储平台的命令如下图所示。

最终输出的信息中如果有下图标黄的“successfully”成功的标志,就可以说明hadoop格式化成功。

格式化成功后,可以通过hadoop 目录下的sbin目录中的start-all.sh来启动hadoop服务,具体执行情况如下图所示。

图中显示start-all.sh的启动方法和具体的执行目录位置。

在hadoop的sbin目录下,linux提示符后面输入./start-all.sh就可以启动hadoop,启动过程中会提示输入密码,输入几次用户的密码后就会启动hadoop。启动hadoop后可以使用jps查询启动的hadoop服务名。如下图所示。

如图中所示,除了jps的java进程外,还需要hadoop的主控NameNode角色,辅助主控SecondaryNameNode服务,hadoop数据角色DataNode,yarn中的主控ResourceManager和yarn中的服务角色NodeManger,加上一起,hadoop一共有5种服务角色,jps也是一种服务角色,jps显示出来的会有6种服务角色。

后续就需要把shell产生的脚本数据上传到hadoop分布式存储平台。请继续关注Hadoop+hive+flask+echarts大数据可视化项目。

附:shell合成系统信息的脚本github地址:
https://github.com/wawacode/system_info_bigdata_analyse

Hadoop+hive+flask+echarts大数据可视化项目之系统数据整合和hadoop环境搭建相关推荐

  1. Hadoop+hive+flask+echarts大数据可视化项目之hive环境搭建与系统数据的分析思路

    Hadoop+hive+flask+echarts大数据可视化项目(四) --------------hive环境搭建与系统数据的分析思路---------------- 关注过Hadoop+hive ...

  2. Hadoop+hive+flask+echarts大数据可视化项目之flask结合echarts前后端结合显示hive分析结果

    Hadoop+hive+flask+echarts大数据可视化项目(五) ------flask与echarts前后端结合显示hive分析结果------- 关注过Hadoop+hive+flask+ ...

  3. Hadoop+hive+flask+echarts大数据可视化之系统数据收集

    Hadoop+hive+flask+echarts大数据可视化项目(一) --------------系统数据收集---------------- 谈到大数据的项目,一般以数据可视化为主体,收集大数据 ...

  4. ECharts数据可视化项目-大屏数据可视化【持续更新中】

    ECharts数据可视化项目-大屏数据可视化[持续更新中] 文章目录 ECharts数据可视化项目-大屏数据可视化[持续更新中] 一. 数据可视化ECharts使用 二.技术栈 三.数据可视化 四.可 ...

  5. echarts 大屏可视化_看似复杂炫酷的数据可视化设计,用这波神器轻松搞定!

    数据大屏与数据可视化 数据可视化是目前对数据展示最常用的方式.数据的可视化设计有助于将复杂的数据,用最易理解的方式展示在用户的面前. 数据可视化在中后台的设计中很常见,通常主要用于分析和决策,对实时性 ...

  6. 前端基础第二天项目 大数据大屏可视化项目

    大数据大屏可视化项目 01-项目介绍 ​ 应对现在数据可视化的趋势,越来越多企业需要在很多场景(营销数据,生产数据,用户数据)下使用,可视化图表来展示体现数据,让数据更加直观,数据特点更加突出.我们引 ...

  7. 基于java web和echarts的数据可视化项目

    EchartDemo 项目介绍 基于java web和echarts的数据可视化项目 主要分析浙江省各市区的gdp和固定资产投资.以及房产数据,数据源浙江省经济社会发展统计,数据经过整理后插入数据库中 ...

  8. echarts数据可视化项目经验积累

    echarts数据可视化项目经验积累 echarts图表在初始化时可以在mounted中. // An highlighted block mounted() {this.myChart = this ...

  9. 丽水数据可视化设计价格_大数据可视化项目报价模板

    项目 系统需求 需求内容 单价 数 量 单 位 合计 1 系统方案 设计 1. 整合分析项目需求和特性,制作需求文档: 进行软件 产品界面(信息架构.操作逻辑.功能.用户体验等) 的交互策划,并输出产 ...

最新文章

  1. java 贝叶斯抠图_贝叶斯抠图
  2. 龙俊:活用搜索引擎的搜索指令分析网站
  3. 天大计算机英语面试,天大学姐英语面试干货,适合“三无”考研党!
  4. 台积电要造第一款7nm芯片 明年下半年可投产
  5. java中如何限制输入非空_项目中的参数限制、非空、以及集合中的验证,你真的会做吗(Java)...
  6. Js时间戳转为日期格式
  7. 一个SAP开发人员的2018年终总结
  8. MUI 如何更改单选框样式
  9. 邻接矩阵存储图的深度优先遍历
  10. linux python2.7 post_在Python 2.7下面使用webpy框架
  11. 2021-03-08动力学方程
  12. 压摆率和上升时间的区别
  13. 使用Vant组件库,van-filed配置手机号验证规则
  14. JavaSE学习总结第01天_Java概述
  15. 机器人视觉分析算法_机器视觉处理:目标检测和跟踪
  16. LE-VINS:固态激光雷达增强的视觉惯性导航系统
  17. 浅谈DH参数(以华数机器人为例)
  18. mysql查找表中员工姓名性别_SQL 常见面试题解析
  19. cube-ui 维护记录 —— 前言
  20. 基于微信求职招聘小程序系统设计与实现 开题报告

热门文章

  1. “雄安效应”或将催生智慧城市巨大红利
  2. 常熟常客隆广场电能管理系统的设计与应用
  3. 5G时代下端侧AI势必大火!阿里技术专家在线解读
  4. zczxsssssssssssssss
  5. 简单的加法口诀表(新手学C)
  6. Qt 屏蔽Alt + F4 组合键
  7. python ftp 文件修改时间_如何利用pythonftplib获取FTP文件的修改时间
  8. 视频剪辑效果制作Final Cut Pro(fcpx)
  9. GPS定位平台软件,GPS/UWB/WIFI融合定位,提供开发接口
  10. [POI2008]KLO-Building blocks