CDH的Spark安裝準備工做

0. 本文說明

  1. 本文主要撰寫安裝Spark過程當中linux系統須要作的一些前置工做及系統配置
  2. 本文全部步驟均在如下環境實施:html

    • Centos 6.5
  3. 參考文獻:java

    1. 阿里yum源
    2. java安裝
    3. NTP配置
    4. NTP詳解(參考)

0. 基本配置

0.1 修改主機名

修改主機名的過程通常有兩種,永久修改主機名和臨時修改主機名,咱們選擇永久修改主機名mysql

1.臨時修改主機名linux

hostname #顯示主機名

hostname spark001 #將主機名臨時設定成spark0001

2.永久修改主機名sql

修改/etc/sysconfig/network中的hostname。vim /etc/sysconfig/network數據庫

HOSTNAME=spark001 #將主機名永久設定爲spark001

0.2 關閉防火牆和SELINUX

1.關閉防火牆vim

service iptables stop #臨時關閉  
chkconfig iptables off #重啓後生效

2.關閉SELINUXcentos

修改vim /etc/selinux/config中的緩存

SELINUX=disabled #重啓後永久生效

0.3 SSH免密登陸配置

每臺機子都要配置bash

1.修改hosts文件,vim /etc/hosts,加入以下內容:

192.168.1.101   cdh1
192.168.1.102   cdh2
192.168.1.103   cdh3

2.在每臺機子上運行免密碼SSH文件

0.4 配置交換設置及透明大頁面壓縮問題

每臺機子都要配置

echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

1. yum源的配置

配置yum源的目的在於可以快速安裝和下載所須要的工具,感謝阿里的yum源。

1.備份原yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup.`date +%Y%m%d.%H%M%S`

2.下載阿里的yum源配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

或者

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

3.運行yum makecache更新yum緩存

2. JAVA環境的安裝與配置

網上關於CDH使用JAVA包有如下幾種說法:

  1. 不須要卸載系統自帶的OPEN JDK,直接安裝新的oracle的JDK便可
  2. 須要卸載OPEN JDK,而且是先安裝新的oracle的JDK,後刪除OPEN JDK
  3. 須要卸載OPEN JDK,先刪除OPEN JDK,後安裝新的oracle的JDK

2.1 卸載OPEN JDK

1.輸入java -version觀察目前已有的JDK狀況
java安裝狀況

2.java -version只能看到目前環境配置的狀況,所以使用rpm -qa | grep java 命令來查看相關的安裝包安裝狀況,從下圖中咱們能夠看出,系統裏面不止安裝了1.7並且1.6也存在。
圖片描述

3.經過命令yum -y remove命令依次卸載OPEN JDK,例如:

yum -y remove java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64

可是咱們從如下的卸載結果來看,在刪除OPEN JDK的過程當中也刪除了不少依賴包,可能會致使往後啓動其餘應用的時候出現問題,因此卸載的時候請務必謹慎

圖片描述

2.2 安裝JDK 1.8

1.先從官網或者本文開頭給予的下載地址下載java安裝tar包(必定要選64位的)

2.將安裝包放到固定目錄下,我比較喜歡在/opt/software目錄下,並用過tar命令解壓(附贈 tar命令教學)。

tar -zxvf jdk-8u144-linux-x64.tar.gz

3.配置環境文件

解壓完以後就要用vim /etc/profile配置全局環境,並添加如下內容,

JAVA_HOME=/opt/software/jdk1.8.0_144 #java home的地址

JRE_HOME=/opt/software/jdk1.8.0_144/jre #jre的地址

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export PATH JAVA_HOME CLASSPATH

而後用命令source /etc/profile讓配置文件馬上生效,並經過如下命令查看配置是否正確

echo $JAVA_HOME
echo $CLASSPATH
echo $PATH

4.用java -version確認配置是否完成。

3. 配置NTP服務器

3.1 基本命令

rpm -q ntp #查詢ntp是否安裝

yum install ntp #yum安裝ntp

chkconfig ntpd on #設置NTP開機自啓動

chkconfig --list ntpd #查看是否設置成功 
#成功的話爲:ntpd      0:off    1:off    2:on    3:on    4:on    5:on    6:off

NTP結構

因爲是實驗集羣,故只有四臺機器,主同步節點是spark001,我先手動設定了時間,接着讓主機自同步,而後讓集羣中的其餘服務器時間和主節點同步。集羣以下:

  • NTP主機:10.6.2.201(spark001)
  • NTP同步機器:

    • 10.6.2.224(spark002)
    • 10.6.2.214(spark003)
    • 10.6.2.213(spark004)

3.2 主NTP節點配置

1.首先手動調整本地時間(默認是內網環境,沒法連通外網),而後經過hwclock命令寫入硬件時鐘。hwclock命令參考 date命令參考

date -s "20170913 14:38:00"  #設定本地時間
hwclock -w #寫入硬件時鐘,-r表示讀取硬件時鐘

2.修改NTP配置文件,vim /etc/ntp.conf,並添加以下內容:

#server 10.6.2.201 #要同步的上級服務器地址,由於我這個是內網,我就註銷了。若是相同步外網服務器就填外網的IP。
server 127.127.1.0 #設定本地始終爲自同步源,當外界聯繫不上時候就自同步
fudge 127.127.1.0 stratum 10

#若是是封閉集羣,屏蔽掉默認server:
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

restrict 10.6.2.0 mask 255.255.255.0 nomodify notrap
#這條命令的含義是隻容許。10.6.2.0網段的全部機器查詢服務器時間,但不能修改和trap遠程時間登陸

其中restrict參數設定方式爲:

restrict [address] mask [netmask_ip] [parameter]

其中parameter的參數主要有:
ignore:拒絕全部類型的ntp鏈接
nomodify:客戶端不能使用ntpc與ntpq兩支程式來修改服務器的時間參數
noquery:客戶端不能使用ntpq、ntpc等指令來查詢服務器時間,等於不提供ntp的網絡校時
notrap:不提供trap這個遠程時間登陸的功能
notrust:拒絕沒有認證的客戶端
nopeer:不與其餘同一層的ntp服務器進行時間同步

3.完成事後,經過如下命令,啓動並查看結果。

service ntpd start #啓動ntp服務,或者 service ntpd restart 重啓服務
ntpq -p #查看對時服務器狀態
ntpstat #查看同步狀態

3.3 同步節點配置

1.設置NTP服務開機自動,並同步主節點

chkconfig ntpd on #設置NTP開機自啓動

chkconfig --list ntpd #查看是否設置成功 
#成功的話爲:ntpd      0:off    1:off    2:on    3:on    4:on    5:on    6:off

ntpdate -u 10.6.2.201 #同步命令,後面的IP爲上級NTP時鐘的IP

2.編輯NTP配置文件,vim /etc/ntp.conf

server 10.6.2.201 #添加主節點IP
 
restrict 10.6.2.201 nomodify notrap noquery #只容許和主節點鏈接
 
server  127.127.1.0     # 配置本地時鐘
fudge   127.127.1.0 stratum 10

3.完成事後,經過如下命令,啓動並查看結果。

service ntpd start #啓動ntp服務,或者 service ntpd restart 重啓服務
ntpq -p #查看對時服務器狀態
ntpstat #查看同步狀態

4.配置多臺從節點時,能夠考慮使用SCP命令來複制配置文件,從而實現快速配置的目的。SCP命令詳解

ntpdate -u 10.6.2.201

scp 10.6.2.224:/etc/ntp.conf /etc/ntp.conf
#從spark002這個從節點複製配置文件到本地,不要錯複製爲主節點了,那就悲劇了。


service ntpd start

4.安裝與配置Mysql

我這裏的Mysql是用的阿里的源安裝的Mysql,版本號5.1.73

4.1 Mysql安裝

yum install mysql-server

4.2 配置Mysql

4.2.1 啓動mysql服務和設置mysql開機啓動

service mysqld start #啓動mysql服務

chkconfig mysqld on #設置開機啓動

4.2.1 登陸Mysql及設置Mysql密碼

使用以下代碼登陸mysql:

mysql -uroot

Mysql中的代碼

mysql> use mysql;

mysql> UPDATE user SET Password = PASSWORD('123456') WHERE user = 'root'; #給全部狀況下root登陸時設置密碼123456

mysql> FLUSH PRIVILEGES; #刷新權限

提早建立數據庫並受權

# hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# amon
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# hue
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
# oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#reports
create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#受權用戶在這些數據庫的訪問權限
Grant all privileges on *.* to 'root'@'spark001' with grant option;
Flush privileges;
相關文章
相關標籤/搜索