热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Spark新闻项目介绍及Linux集群准备

  从今天开始博主后面的已连续博客都是关于一个新闻项目的博客:卡弗卡大数据用户行为(日志)分析项目,从该项目可以学习整个Spark集群的环境配置以及大数据分析技术,完成实时数据分析。


 

 

(一)项目介绍

本课程基于企业大数据经典案例项目(大数据日志分析),全方位、全流程讲解 大数据项目的业务分析、技术选型、架构设计、集群规划、安装部署、整合继承与开发和web可视化交互设计。 不管是零基础的大数据技术爱好者,还是有基础的IT小白,都可以通过此课程快速的上升到一个新的高度。

1.适用人群

有hadoop理论基础的大学生,职场小白,大白

2.涉及技术

Hadoop2.x、Zookeeper、Flume、Hive、Hbase、Kafka、Spark2.x、SparkStreaming、MySQL、Hue、J2EE、websoket、Echarts

3.项目目标

1)能够独立完成大数据项目的架构设计,安装部署,架构继承与开发、用户可视化交互设计

2)能够独立完成实时在线数据分析

3)能独立完成离线数据分析

 

(二)需求分析与设计

1.案例需求分析

 业务需求:

  1)捕获用户浏览日志信息

  2)实时分析前20名流量最高的新闻话题

  3)实时统计当前线上已曝光的新闻话题

  4)统计哪个时段用户浏览量最高

  5)报表

2.系统架构图设计

 Spark新闻项目介绍及Linux集群准备

 

3.系统数据流程设计

 Spark新闻项目介绍及Linux集群准备

 

4.集群资源规划设计

 Spark新闻项目介绍及Linux集群准备

 

(三)Linux环境准备 

  新建虚拟机的操作这里就不再介绍了,不懂的可以参考博主以前的博文,下面直接进入Linux基本环境配置。

1.通信配置

 Spark新闻项目介绍及Linux集群准备

DEFROUTE=yes

PEERDNS=yes          

PEERROUTES=yes    

IPV4_FAILURE_FATAL=yes        

IPV6INIT=no

NAME="System eth0"               

IPADDR=192.168.86.131

BCAST=192.168.86.255 

GATEWAY=192.168.86.2       

NETMASK=255.255.255.0      

DNS1=192.168.86.2

DNS2=8.8.8.8 

  配置完后reboot重启

 Spark新闻项目介绍及Linux集群准备

  如上图表示通信配置成功。

 

2.配置网络映射

  首先配置Linux环境下的网络配置

[root@bigdata-pro01 Desktop]# vim /etc/hosts

 Spark新闻项目介绍及Linux集群准备

  然后配置Windows下的网络映射(博文结束后记得补全三个节点的配置)

 Spark新闻项目介绍及Linux集群准备

  保存后我们就可以在Windows上通过XShell根据连接到虚拟机,然后进行操作了。

  启动Xshell。新建一个连接如下:

 Spark新闻项目介绍及Linux集群准备

  然后我们就能连接上了。

 Spark新闻项目介绍及Linux集群准备

 

3.关闭防火墙

[kfk@bigdata-pro01 ~]$ sudo servivce iptables status

 

We trust you have received the usual lecture from the local System

Administrator. It usually boils down to these three things:

 

    #1) Respect the privacy of others.

    #2) Think before you type.

    #3) With great power comes great responsibility.

 

[sudo] password for kfk:

kfk is not in the sudoers file.  This incident will be reported.

[kfk@bigdata-pro01 ~]$ su

Password:

[root@bigdata-pro01 kfk]# visudo      //配置kfk用户sudo权限及免密码登陆

  然后添加以下内容:

 Spark新闻项目介绍及Linux集群准备

  关闭防火墙:

[root@bigdata-pro01 kfk]# su kfk

[kfk@bigdata-pro01 ~]$ sudo service iptables status                     //查看防火墙状态

Table: filter

Chain INPUT (policy ACCEPT)

num  target     prot opt source               destination        

1    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

2    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0          

3    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0          

4    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22

5    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

 

Chain FORWARD (policy ACCEPT)

num  target     prot opt source               destination        

1    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited

 

Chain OUTPUT (policy ACCEPT)

num  target     prot opt source               destination        

[kfk@bigdata-pro01 ~]$ sudo service iptables stop                       //关闭防火墙

iptables: Setting chains to policy ACCEPT: filter          [  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[kfk@bigdata-pro01 ~]$ sudo service iptables status

iptables: Firewall is not running.

[kfk@bigdata-pro01 ~]$ sudo chkconfig iptables off                     //永久禁用

[kfk@bigdata-pro01 ~]$ sudo vim /etc/sysc

sysconfig/   sysctl.conf 

[kfk@bigdata-pro01 ~]$ sudo vim /etc/sysconfig/selinux                 //配置每次自启动后防火墙都为关闭状态

 

 Spark新闻项目介绍及Linux集群准备

 

4.卸载自带的JDK

[kfk@bigdata-pro01 ~]$ sudo rpm -qa|grep java

java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

tzdata-java-2013g-1.el6.noarch

[kfk@bigdata-pro01 ~]$ sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 tzdata-java-2013g-1.el6.noarch

[kfk@bigdata-pro01 ~]$ sudo rpm -qa|grep java

[kfk@bigdata-pro01 ~]$

 

 

5.克隆虚拟机并进行相关的配置

  前面我们已经做好了Linux的系统常规设置,接下来需要克隆虚拟机并进行相关的配置。

1)kfk用户下创建我们将要使用的各个目录

  #软件目录

  mkdir /opt/softwares

  #模块目录

  mkdir /opt/modules

  #工具目录

  mkdir /opt/tools

  #数据目录

  mkdir /opt/datas

[kfk@bigdata-pro01 ~]$ cd /

[kfk@bigdata-pro01 /]$ ls

bin  boot  dev  etc  home  lib  lib64  lost+found  media  misc  mnt  net  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var

[kfk@bigdata-pro01 /]$ sudo mkdir /opt/softwares

[kfk@bigdata-pro01 /]$ cd /opt/

[kfk@bigdata-pro01 opt]$ ls

rh  softwares

[kfk@bigdata-pro01 opt]$ sudo rm -rf ./rh

[kfk@bigdata-pro01 opt]$ ls

softwares

[kfk@bigdata-pro01 opt]$ sudo mkdir momdules

[kfk@bigdata-pro01 opt]$ ls

momdules  softwares

[kfk@bigdata-pro01 opt]$ ll

total 8

drwxr-xr-x 2 root root 4096 Oct 15 14:24 momdules

drwxr-xr-x 2 root root 4096 Oct 15 14:21 softwares

[kfk@bigdata-pro01 opt]$ sudo mkdir tools

[kfk@bigdata-pro01 opt]$ sudo mkdir datas

[kfk@bigdata-pro01 opt]$ ll

total 16

drwxr-xr-x 2 root root 4096 Oct 15 14:25 datas

drwxr-xr-x 2 root root 4096 Oct 15 14:24 momdules

drwxr-xr-x 2 root root 4096 Oct 15 14:21 softwares

drwxr-xr-x 2 root root 4096 Oct 15 14:25 tools

[kfk@bigdata-pro01 opt]$ sudo chown -R kfk:kfk /opt/*              //修改目录用户组为kfk

[kfk@bigdata-pro01 opt]$ ll

total 16

drwxr-xr-x 2 kfk kfk 4096 Oct 15 14:25 datas

drwxr-xr-x 2 kfk kfk 4096 Oct 15 14:24 momdules

drwxr-xr-x 2 kfk kfk 4096 Oct 15 14:21 softwares

drwxr-xr-x 2 kfk kfk 4096 Oct 15 14:25 tools

2)jdk安装

大数据平台运行环境依赖JVM,所以我们需要提前安装和配置好jdk。 前面我们已经安装了64位的centos系统,所以我们的jdk也需要安装64位的,与之相匹配

  a)将jdk安装包通过工具上传到/opt/softwares目录下

  b)解压jdk安装包

    #解压命令

    tar -zxf jdk-7u67-linux-x64.tar.gz /opt/modules/

    #查看解压结果

    ls

[kfk@bigdata-pro01 opt]$ cd softwares/

[kfk@bigdata-pro01 softwares]$ rz

-bash: rz: command not found

[kfk@bigdata-pro01 softwares]$ sudo yum -y install lrzsz

  安装完成后用sudo rz命令上传JDK

 Spark新闻项目介绍及Linux集群准备

  解压安装:

[kfk@bigdata-pro01 softwares]$ ls

jdk-8u60-linux-x64.tar.gz

 [kfk@bigdata-pro01 softwares]$ tar -zxvf jdk-8u60-linux-x64.tar.gz -C/opt/momdules/

 

c)配置Java 环境变量

Spark新闻项目介绍及Linux集群准备

 

[kfk@bigdata-pro01 momdules]$ vi /etc/profile(在末尾添加以下内容)

export JAVA_HOME=/opt/modules/jdk1.8.0_60

export PATH=$PATH:$JAVA_HOME/bin 

d)查看Java是否安装成功

[kfk@bigdata-pro01 momdules]$ source /etc/profile   //使配置文件生效

[kfk@bigdata-pro01 momdules]$ java -version

java version "1.8.0_60"

Java(TM) SE Runtime Environment (build 1.8.0_60-b27)

Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

 

3)克隆虚拟机

[kfk@bigdata-pro01 momdules]$ sudo halt   //关掉服务器

 

  在克隆虚拟机之前,需要关闭虚拟机,然后右键选中虚拟机——》选择管理——》选择克隆——》选择下一步——》选择下一步——》选择创建完整克隆,下一步——》选择克隆虚拟机位置(提前创建好),修改虚拟机名称为Hadoop-Linux-pro-2,然后选择完成即可。

  然后使用同样的方式创建第三个虚拟机Hadoop-Linux-pro-3。

4)修改克隆虚拟机配置

  克隆完虚拟机Hadoop-Linux-pro-2和Hadoop-Linux-pro-3之后,可以按照Hadoop-Linux-pro-1的方式配置好ip地址、hostname,以及ip地址与hostname之间的关系。

  第二台机子IP修改为192.168.86.152,第三台机子IP修改为192.168.86.153(具体网络配置参考博文虚拟机克隆及网络配置

 更改主机名

 Spark新闻项目介绍及Linux集群准备

Spark新闻项目介绍及Linux集群准备

  Reboot重启之后发现hostname已经更改了。

 在三台机器都加上域名映射

 Spark新闻项目介绍及Linux集群准备

   至此,该项目所需要三节点集群基础环境就全部搭建完了,下一次将介绍如何在此环境上布置Hadoop2.x分布式集群。


以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!同时也欢迎转载,但必须在博文明显位置标注原文地址,解释权归博主所有!


推荐阅读
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 阿里巴巴终面技术挑战:如何利用 UDP 实现 TCP 功能?
    在阿里巴巴的技术面试中,技术总监曾提出一道关于如何利用 UDP 实现 TCP 功能的问题。当时回答得不够理想,因此事后进行了详细总结。通过与总监的进一步交流,了解到这是一道常见的阿里面试题。面试官的主要目的是考察应聘者对 UDP 和 TCP 在原理上的差异的理解,以及如何通过 UDP 实现类似 TCP 的可靠传输机制。 ... [详细]
  • 为什么多数程序员难以成为架构师?
    探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析
    a16z深入解析:代币设计的常见误区、优化策略及未来趋势分析 ... [详细]
  • 深入理解Linux网络编程:UDP协议实战解析
    深入理解Linux网络编程:UDP协议实战解析 ... [详细]
  • 虚拟机网络设置与数据库远程连接优化指南
    本文针对个人计算机上虚拟机网络配置与数据库远程连接的问题,提供了一套详细的优化指南。在探讨远程数据库访问前,需确保网络配置正确,特别是桥接模式的设置。通过合理的网络配置,可以有效解决因虚拟机或网络问题导致的连接失败,提升远程访问的稳定性和效率。 ... [详细]
author-avatar
不爽我就来吐槽_320
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有