安裝準(zhǔn)備
本節(jié)安裝之前需要準(zhǔn)備4臺(tái)主機(jī)裁替,各個(gè)節(jié)點(diǎn)上即將安裝的組件如下表所示:
** 說(shuō)明:每個(gè)節(jié)點(diǎn)都需要配置/etc/hosts拣技,上表中的主機(jī)名稱(chēng)需要在每臺(tái)機(jī)器的/etc/hosts中追加 **
192.168.1.11 oushum1192.168.1.12 oushum2192.168.1.21 oushus1192.168.1.22 oushus2
配置YUM源
首先登陸到oushum1裆甩,然后切換到root用戶(hù):
ssh oushum1su - root
有兩種方式配置YUM源,第一種是配置Oushu源硫朦,通過(guò)互聯(lián)網(wǎng)安裝部署,第二種是通過(guò)下載Oushu安裝包惹苗,然后配置本地源安裝。
方式一:配置Oushu的YUM源耸峭,適合有互聯(lián)網(wǎng)連接情況
Redhat/CentOS 7.4及更低版本系統(tǒng)并且包含avx指令請(qǐng)配置以下YUM源:
wget -P /etc/yum.repos.d/ $獲取的repo url
Redhat/CentOS 7.4及更低版本系統(tǒng)但是不包含avx指令請(qǐng)配置以下YUM源:
wget -P /etc/yum.repos.d/ $獲取的repo rul
方式二:下載安裝包桩蓉,配置本地源,適合不需一直聯(lián)網(wǎng)安裝情況
下載安裝包(或通過(guò)物理介質(zhì)拷貝的方式獲茸パ蕖):
sudo su root
cd /
wget $獲取的tarball url
解壓軟件包并安裝httpd触机,請(qǐng)用具體的版本號(hào)代替*.*.*.*,比如oushu-software-full-4.6.0.0-rhel7-x86_64.tar.gz:
tar xzf oushu-database-full-latest-rhel7-x86_64.tar.gzyum -y install httpdsystemctl start httpdchown -R gpadmin:root /oushu-database-full-*.*.*.*-rhel7-x86_64
安裝本地源玷或,請(qǐng)用具體的版本號(hào)代替*.*.*.*儡首,比如/oushu-database-full-4.6.0.0/setup_repo.sh:
/oushu-database-full-*.*.*.*/setup_repo.sh
關(guān)閉selinux:
setenforce 0
重建yum緩存:
yum clean allyum makecache
上述步驟成功后,請(qǐng)刪除壓縮包偏友,以節(jié)省磁盤(pán)空間:
rm -f /oushu-database-full-*.*.*.*-rhel7-x86_64.tar.gz
交換公鑰蔬胯,設(shè)置無(wú)密碼登陸
創(chuàng)建一個(gè)hostfile文件,包含cluster中的所有機(jī)器位他。
cd /roottouch hostfile
編輯hostfile文件內(nèi)容如下(集群各機(jī)器的hostname):
oushum1oushum2oushus1oushus2
因?yàn)槲覀冃枰褂肙ushuDB命令行工具”hawq ssh-exkeys”來(lái)簡(jiǎn)化無(wú)密碼登錄設(shè)置以及使用“hawq ssh”來(lái)簡(jiǎn)化集群操作氛濒,所以我們?cè)趏ushum1上先安裝OushuDB:
yum install -y hawqsource /usr/local/hawq/greenplum_path.sh? #設(shè)置hawq環(huán)境變量
在集群每臺(tái)機(jī)器上執(zhí)行如下指令:
sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config & sudo service sshd restart
在oushum1執(zhí)行:
hawq ssh-exkeys -f hostfile? #交換公鑰,使得ssh時(shí)無(wú)需輸入用戶(hù)密碼(需要輸入root用戶(hù)密碼)
注:如果集群中的root用戶(hù)密碼不一致鹅髓,請(qǐng)修改root用戶(hù)密碼舞竿,使其保持一致。如果使用非root用戶(hù)做ssh-exkeys則需要集群每臺(tái)機(jī)器上都有該用戶(hù)窿冯,并且密碼一致骗奖。
如何更改root用戶(hù)密碼:
sudo echo 'password' | sudo passwd? --stdin root
請(qǐng)使用有sudo權(quán)限的用戶(hù)執(zhí)行,在’ ‘中輸入想要更改的密碼:
安裝其他節(jié)點(diǎn)YUM源
在oushum1上醒串,通過(guò)“hawq scp”命令統(tǒng)一安裝其他節(jié)點(diǎn)的YUM源:
hawq scp -f hostfile /etc/yum.repos.d/oushu-database-cent73.repo =:/etc/yum.repos.d
關(guān)閉selinux
hawq ssh -f hostfile -e 'sed -i "s/^SELINUX\=enforcing/SELINUX\=disabled/g" /etc/selinux/config'hawq ssh -f hostfile -e 'setenforce 0'
”hawq ssh -f hostfile”會(huì)在hostfile中的所有節(jié)點(diǎn)上執(zhí)行”-e”選項(xiàng)帶的命令执桌。
關(guān)閉防火墻
如果防火墻已經(jīng)開(kāi)啟,需要關(guān)閉防火墻:
hawq ssh -f hostfile -e 'systemctl stop iptables'hawq ssh -f hostfile -e 'systemctl disable iptables'hawq ssh -f hostfile -e 'systemctl stop firewalld'hawq ssh -f hostfile -e 'systemctl disable firewalld'
安裝配置NTP
hawq ssh -f hostfile -e 'yum install -y ntp'hawq ssh -f hostfile -e 'systemctl enable ntpd' #配置NTPD服務(wù)開(kāi)機(jī)啟動(dòng)hawq ssh -f hostfile -e 'systemctl start ntpd' #啟動(dòng)NTPD服務(wù)
安裝java
在oushum1使用“hawq ssh”統(tǒng)一安裝所有節(jié)點(diǎn)的JDK芜赌,配置JAVA_HOME仰挣,本次安裝中,JAVA_HOME的路徑是/usr/java/default缠沈。如果已經(jīng)安裝了JDK膘壶,那么只需要將已安裝的JDK目錄,如/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el7_2.x86_64/洲愤,軟連接到/usr/java/default
hawq ssh -f hostfile -e 'yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel'hawq ssh -f hostfile -e 'mkdir /usr/java'hawq ssh -f hostfile -e 'ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/ /usr/java/default'
關(guān)于數(shù)據(jù)目錄
本次安裝我們假設(shè)每臺(tái)機(jī)器上有兩個(gè)數(shù)據(jù)盤(pán)颓芭,分別mount在/data1和/data2上。在其他硬件配置下禽篱,可能有很多塊盤(pán)畜伐,用戶(hù)需要根據(jù)盤(pán)數(shù)的不同更改后面相應(yīng)的配置信息馍惹。尤其需要注意的是HDFS的數(shù)據(jù)目錄, Magma 的數(shù)據(jù)目錄和OushuDB的臨時(shí)文件目錄躺率。
關(guān)于IPV6
目前Magma 暫不支持IPV6,需要將/etc/hosts中 “::1 localhost” 此行注釋掉玛界。