1. 程式人生 > >Spark新聞專案介紹及Linux叢集準備

Spark新聞專案介紹及Linux叢集準備

(一)專案介紹

本課程基於企業大資料經典案例專案(大資料日誌分析),全方位、全流程講解 大資料專案的業務分析、技術選型、架構設計、叢集規劃、安裝部署、整合繼承與開發和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.系統架構圖設計

 

 

3.系統資料流程設計

 

 

4.叢集資源規劃設計

 

 

(三)Linux環境準備 

  新建虛擬機器的操作這裡就不再介紹了,不懂的可以參考博主以前的博文,下面直接進入Linux基本環境配置。

1.通訊配置

 

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重啟

 

  如上圖表示通訊配置成功。

 

2.配置網路對映

  首先配置Linux環境下的網路配置

[[email protected] Desktop]# vim /etc/hosts

 

  然後配置Windows下的網路對映(博文結束後記得補全三個節點的配置)

 

  儲存後我們就可以在Windows上通過XShell根據連線到虛擬機器,然後進行操作了。

  啟動Xshell。新建一個連線如下:

 

  然後我們就能連線上了。

 

 

3.關閉防火牆

[[email protected] ~]$ 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.

[[email protected]-pro01 ~]$ su

Password:

[[email protected]-pro01 kfk]# visudo      //配置kfk使用者sudo許可權及免密碼登陸

  然後新增以下內容:

 

  關閉防火牆:

[[email protected]pro01 kfk]# su kfk

[[email protected]-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        

[[email protected]-pro01 ~]$ sudo service iptables stop                       //關閉防火牆

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

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

[[email protected]-pro01 ~]$ sudo service iptables status

iptables: Firewall is not running.

[[email protected]-pro01 ~]$ sudo chkconfig iptables off                     //永久禁用

[[email protected]-pro01 ~]$ sudo vim /etc/sysc

sysconfig/   sysctl.conf 

[[email protected]-pro01 ~]$ sudo vim /etc/sysconfig/selinux                 //配置每次自啟動後防火牆都為關閉狀態

 

 

 

4.解除安裝自帶的JDK

[[email protected] ~]$ 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

[[email protected]-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

[[email protected]-pro01 ~]$ sudo rpm -qa|grep java

[[email protected]-pro01 ~]$

 

 

5.克隆虛擬機器並進行相關的配置

  前面我們已經做好了Linux的系統常規設定,接下來需要克隆虛擬機器並進行相關的配置。

1)kfk使用者下建立我們將要使用的各個目錄

  #軟體目錄

  mkdir /opt/softwares

  #模組目錄

  mkdir /opt/modules

  #工具目錄

  mkdir /opt/tools

  #資料目錄

  mkdir /opt/datas

[[email protected] ~]$ cd /

[[email protected]-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

[[email protected]-pro01 /]$ sudo mkdir /opt/softwares

[[email protected]-pro01 /]$ cd /opt/

[[email protected]-pro01 opt]$ ls

rh  softwares

[[email protected]-pro01 opt]$ sudo rm -rf ./rh

[[email protected]-pro01 opt]$ ls

softwares

[[email protected]-pro01 opt]$ sudo mkdir momdules

[[email protected]-pro01 opt]$ ls

momdules  softwares

[[email protected]-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

[[email protected]-pro01 opt]$ sudo mkdir tools

[[email protected]-pro01 opt]$ sudo mkdir datas

[[email protected]-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

[[email protected]-pro01 opt]$ sudo chown -R kfk:kfk /opt/*              //修改目錄使用者組為kfk

[[email protected] 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

[[email protected] opt]$ cd softwares/

[[email protected]-pro01 softwares]$ rz

-bash: rz: command not found

[[email protected]-pro01 softwares]$ sudo yum -y install lrzsz

  安裝完成後用sudo rz命令上傳JDK

 

  解壓安裝:

[[email protected]pro01 softwares]$ ls

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

 [[email protected]-pro01 softwares]$ tar -zxvf jdk-8u60-linux-x64.tar.gz -C/opt/momdules/

 

c)配置Java 環境變數

 

[[email protected] momdules]$ vi /etc/profile(在末尾新增以下內容)

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

export PATH=$PATH:$JAVA_HOME/bin 

d)檢視Java是否安裝成功

[[email protected] momdules]$ source /etc/profile   //使配置檔案生效

[[email protected]-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)克隆虛擬機器

[[email protected] 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(具體網路配置參考博文虛擬機器克隆及網路配置

 更改主機名

 

  Reboot重啟之後發現hostname已經更改了。

 在三臺機器都加上域名對映

 

   至此,該專案所需要三節點叢集基礎環境就全部搭建完了,下一次將介紹如何在此環境上佈置Hadoop2.x分散式叢集。


以上就是博主為大家介紹的這一板塊的主要內容,這都是博主自己的學習過程,希望能給大家帶來一定的指導作用,有用的還望大家點個支援,如果對你沒用也望包涵,有錯誤煩請指出。如有期待可關注博主以第一時間獲取更新哦,謝謝!同時也歡迎轉載,但必須在博文明顯位置標註原文地址,解釋權歸博主所有!