CDH大數(shù)據(jù)安裝手冊
操作系統(tǒng)要求CentOS7.4络凿。
除了系統(tǒng)自帶的OS源骡送,我們會把其他安裝包整合到一個獨立的源。所有服務器都會使用該源絮记,方便統(tǒng)一管理摔踱。
該源會包括
--Cloudera Manager 5.11.2
--CDH 5.11.2 Parcel
--Cloudera Manager所需依賴包
--mysql-connector-java-5.1.46.tar.gz
-]其他工具
在1號機?(host1)進行以下操作
--復制centos base,Cloudera Manager yum源和CDH parcel到apache httpd目錄 (/var/www/html) 并建立yum源怨愤。這里CDH_install_repos為預先下載的yum源派敷,依賴包,和parcel安裝文件撰洗。/YOUR_BASE_YUM 為手動下載的CentOS源
--安裝和啟動所需服務和功能篮愉。
--配置源文件。(建議用hostname或fqdn)
cat>/etc/yum.repos.d/cloudera-manager.repo<<EOF
[cloudera-manager]
name= cloudera-manager
baseurl=http://host1/cm
gpgkey = http://host1/cm/RPM-GPG-KEY-cloudera ???
gpgcheck = 0
EOF
--查看httpd服務時否正常啟動,??用瀏覽器打開以下連接差导。
http://?host1/cm
--確認每臺機器/etc/hostname都有正確hostname
--確認/etc/hosts里面已正確配置所有機器的ip和hostname
--MySQL數(shù)據(jù)庫(主)機器名暫定為mysql-host, ip地址為10.53.5.91?(host1), 故在/etc/hosts里面需為10.53.5.91增加以下信息
192.168.0.1? ?host1 mysql-host
--查看每臺機器的時區(qū)试躏,命令:timedatectl
--默認是美國時區(qū),修改成中國時區(qū)柿汛,命令:timedatectl set-timezone Asia/Shanghai
--用date命令查看時間可以看到時區(qū)冗酿,但是沒有timedatectl的信息全,所以盡量兩個命令都用一下络断,安裝cdh過程中裁替,如果各個主機時區(qū)不一樣會有提示;但是如果安裝好了cdh貌笨,再改時區(qū)弱判,不會有提示,所以先設置好時區(qū)再安裝cdh锥惋,避免不必要的問題昌腰;
1)生成key
在主節(jié)點執(zhí)行如下命令:
# cd ~
# ssh-keygen -t rsa
# cd .ssh
# cat *.pub > authorized_keys
在各分節(jié)點執(zhí)行如下命令:
# cd ~
# ssh-keygen -t rsa
# ssh-copy-id -i 【主節(jié)點】
在主節(jié)點授權(quán)authorized_keys文件:
# chmod 600 authorized_keys
2)KEY分發(fā)
需要在主節(jié)點配置其他全部分節(jié)點,在主節(jié)點執(zhí)行如下命令:
# scp /root/.ssh/authorized_keys 【分節(jié)點】:/root/.ssh/
# scp /root/.ssh/authorized_keys 【分節(jié)點】:/root/.ssh/
# scp /root/.ssh/authorized_keys 【分節(jié)點】:/root/.ssh/
3)SSH登錄操作
配置好公鑰后膀跌,需要分別用戶主機名或ip地址互相 ssh 登錄一下,確認是否可以免密登錄遭商。
登錄命令如:
# ssh 【用戶名】@【主機】
在yum源所在機器(1號機)上執(zhí)行以下命令,把yum源配置發(fā)布到其他所有機器.
for i in {2..6}
do
??sudo rm -f /etc/yum.repos.d/*.repo
??sudo scp /etc/yum.repos.d/cloudera-manager.repo 192.168.1.${i}:/etc/yum.repos.d/
done
把mysql connector jar復制到所有機器捅伤。
假設jar所在路徑為/YOUR_DOWNLOAD_PATH,
--在1號機上安裝ntp server
yum install ntp -y #安裝ntp
systemctl?enable ntpd #配置開機自啟動
systemctl start ntpd #啟動ntp
修改/etc/ntp.conf劫流,
--只留一句restrict 10.96.109.0 mask 255.255.255.0 nomodify notrap
--添加server 127.127.1.0 iburst
--添加fudge 127.127.1.0 stratum 8
--添加logfile /var/log/ntp.log
重啟ntp: 執(zhí)行service ntpd restart
測試:運行命令ntpq -p
--其他機器:
部署/etc/ntp.conf, 文件內(nèi)容如下
restrict 10.96.109.0 mask 255.255.255.0 nomodify notrap
server 192.168.0.1 iburst
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
#或者從2號機抄ntp.conf
#禁用timedatectl:
timedatectl set-ntp false
#同步ntp
ntpdate -q?192.168.0.1
ntpdate -d 192.168.0.1
#重啟服務:
service ntpd restart
添加cronjob 每1小時運行一次ntpdate -q 192.168.0.1
在所有機器上執(zhí)行
rpm -e java-1.8.0-openjdk --nodeps
rpm -e java-1.8.0-openjdk-headless --nodeps
在所有服務器執(zhí)行以下操作:
Sudo權(quán)限:執(zhí)行命令“visudo”并添加以下sudo rule
%cloudera-scm ALL=(ALL) NOPASSWD: ALL
修改swappiness參數(shù)。CDH建議值為1到10之間丛忆。執(zhí)行以下命令祠汇,把該值設為1:
vm.swappiness=1
--禁止Transparent Huge Page Compaction。執(zhí)行以下命令
cat >>?/etc/rc.local << EOF
#!/bin/bash
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
EOF
chmod 755 /etc/rc.local
chmod 755 /etc/rc.d/rc.local
--關(guān)閉防火墻熄诡。
sudo service iptables stop
sudo chkconfig iptables off
sudo chkconfig iptables –list
#注意:需要清空iptables
iptables -F
sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service
--禁止selinux可很。執(zhí)行以下命令:
if [ -f /etc/selinux/config.backup ]
then
??echo "Skipping backup..."
else
??cp /etc/selinux/config /etc/selinux/config.backup
fi
sed -e "s/^SELINUX.*/SELINUX=disabled/g" /etc/selinux/config.backup > /etc/selinux/config
--重啟服務器。執(zhí)行命令?“reboot”
--檢查配置是否生效凰浮。
[root@ha-node1 ~]# getenforce
Disabled
[root@ha-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
never
[root@ha-node1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
never
MySQL安裝
--刪除操作系統(tǒng)自帶的mariadb組件的步驟如下:
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
--解壓安裝包
tar -vxf mysql-5.7.17-1.el7.x86_64.rpm-bundle.tar
--安裝MySQL我抠,按以下順序安裝?
rpm -ivh mysql-community-common-5.7.17-1.el7.x86_64.rpm ??
rpm -ivh mysql-community-libs-5.7.17-1.el7.x86_64.rpm ??
rpm -ivh mysql-community-client-5.7.17-1.el7.x86_64.rpm ?
rpm -ivh mysql-community-server-5.7.17-1.el7.x86_64.rpm ?
rpm -ivh mysql-community-devel-5.7.17-1.el7.x86_64.rpm ?
--編輯主、備節(jié)點的配置文件 /etc/my.cnf袜茧,編輯后重啟MySQL
修改配置文件后屿良,重新啟動MySQL
#禁止MySQL開機自啟動
systemctl disable mysqld
#手動啟動MySQL
systemctl start mysqld
#查看初始管理員密碼;
grep 'temporary password' /var/log/mysqld.log ?
mysql -uroot -p
#隨后輸入密碼惫周,不提供回顯
#允許內(nèi)網(wǎng)登陸root用戶
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
#?允許root用戶從內(nèi)網(wǎng)登陸尘惧,10.x.x.%?是假定的內(nèi)網(wǎng)網(wǎng)段,其中百分號是通配符
GRANT ALL PRIVILEGES ON *.* TO 'root'@'10.x.x.%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES递递;
--]新建用戶和數(shù)據(jù)庫喷橙。(預設密碼為”password”)
到此,cdh基本環(huán)境配置好了登舞,接下來繼續(xù)講如何安裝cdh并做配置贰逾。