本文全部步驟均在如下環境實施:html
參考文獻:java
修改主機名的過程通常有兩種,永久修改主機名和臨時修改主機名,咱們選擇永久修改主機名。mysql
1.臨時修改主機名linux
hostname #顯示主機名 hostname spark001 #將主機名臨時設定成spark0001
2.永久修改主機名sql
修改/etc/sysconfig/network中的hostname。vim /etc/sysconfig/network
數據庫
HOSTNAME=spark001 #將主機名永久設定爲spark001
1.關閉防火牆vim
service iptables stop #臨時關閉 chkconfig iptables off #重啓後生效
2.關閉SELINUXcentos
修改vim /etc/selinux/config
中的緩存
SELINUX=disabled #重啓後永久生效
每臺機子都要配置bash
1.修改hosts文件,vim /etc/hosts
,加入以下內容:
192.168.1.101 cdh1 192.168.1.102 cdh2 192.168.1.103 cdh3
2.在每臺機子上運行免密碼SSH文件
每臺機子都要配置
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
配置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緩存
網上關於CDH使用JAVA包有如下幾種說法:
1.輸入java -version
觀察目前已有的JDK狀況
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的過程當中也刪除了不少依賴包,可能會致使往後啓動其餘應用的時候出現問題,因此卸載的時候請務必謹慎
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
確認配置是否完成。
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同步機器:
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 #查看同步狀態
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
我這裏的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;