一、準備工作
1.1、準備三臺CentOS
1.2、配置靜態IP、DNS
vi /etc/sysconfig/network-scripts/ficfg-ens33
IPADDR為 配置的ip
NETMASK 子網掩碼
GATEWAY 網關
配置保存后重啟虛擬網絡
service network restart
1.3、配置Hostname
vi /etc/hostname#將第一行替換成新名字
master
配置hosts文件
vi /etc/hosts192.168.75.131 master
192.168.75.132 slave1
192.168.75.133 slave2
hostname和hosts改完之后,統一把所有機器重啟一遍!讓配置生效!
1.4、關閉防火墻與SElinux
關閉防火墻
systemctl stop firewalld.service
systemctl disable firewalld.service
查看狀態
firewall-cmd --state
關閉Selinux
vi /etc/sysconfig/selinux
將SELINUX=enforcing改為SELINUX=disabled,執行該命令后重啟機器生效
1.5、SSH免密登陸
- 在每個節點上分別執行命令行輸入:ssh-keygen -t rsa , 一直按回車或Yes直到生成結束(執行結束之后每個節點上的/root/.ssh/目錄下生成了兩個文件 id_rsa 和 id_rsa.pub其中前者為私鑰,后者為公鑰)
- 在主節點上執行命令行輸入:
cp id_rsa.pub authorized_keys
- 將兩個子節點的公鑰拷貝到主節點上,分別在兩個子節點上執行:
scp id_rsa.pub root@slave1:/root/.ssh/id_rsa_master.pub
scp id_rsa.pub root@slave2:/root/.ssh/id_rsa_master.pub
- 在其他兩個節點上,將拷貝過來的兩個公鑰合并到authorized_keys文件中
cat id_rsa_master.pub >> authorized_keys
- 其他節點重復主節點操作
1.6、修改YUM源
下載wget:
yum -y install wget
改用阿里云鏡像站點,備份本地yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak
獲取阿里yum源配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.7、JDK1.8
-
下載上傳jd k1.8到三臺服務器
-
解壓
tar -zxvf jdk-8u251-linux-x64.tar.gz
-
改個名
mv jdk1.8.0_251 jdk1.8
-
vi /etc/profile
#JAVA
export JAVA_HOME=/usr/local/java/jdk1.8
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib
source /etc/profile
1.8、NTP時間同步
-
安裝ntp :
yum -y install ntp
-
Master依次輸入以下命令
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
vi /etc/ntp.conf
restrict 127.0.0.1
restrict ::1
#Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.10.0 mask 255.255.240.0 nomodify notrap //允許的網絡字段連接ip限制
server 127.127.1.0 //以本機時間為準
fudge 127.127.1.0 stratum 10
#server 0.centos.pool.ntp.org iburst //全部注釋掉
#server 3.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
- 其他節點配置如下
vim /etc/ntp.conf
server ambari-1 //指定ntp 服務器,為ambari-1
\#server 0.centos.pool.ntp.org iburst //全部注釋掉
\#server 1.centos.pool.ntp.org iburst
\#server 3.centos.pool.ntp.org iburst
\#server 2.centos.pool.ntp.org iburst
- 在所有節點啟動ntp服務:
systemctl start ntpd.service
檢查是否成功用“ntpstat”命令查看同步狀態,出現以下狀態代表啟動成功
[root@slave1 ~]# ntpstat
synchronised to NTP server (192.168.75.131) at stratum 4time correct to within 1019 mspolling server every 64 s
ps:一般需要等待5-10分鐘才可以正常同步。
1.9、安裝HTTP服務器
安裝:yum install httpd -y
啟動:systemctl start httpd.service
開機啟動:systemctl enable httpd.service
1.10、安裝MySQL
略
1.11、安裝mysql jdbc
mkdir /usr/share/java
直接下載的mysql-connector-java-5.1.49.jar包,放在/usr/share/java 下面
1.12、搭建數據庫
MySQL安裝完成后創建ambari數據庫及用戶,登錄root用戶執行下面語句:
USER 后是用戶名IDENTIFIED BY后面是用戶登錄密碼可自己修改
登陸mysql 然后創建如下數據庫()
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
如果要安裝Hive,再創建Hive數據庫和用戶 再執行下面的語句:
create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;
如果要安裝Oozie,再創建Oozie數據庫和用戶 再執行下面的語句:
create database oozie character set utf8 ;
CREATE USER 'oozie'@'%'IDENTIFIED BY 'Oozie-123';
GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
FLUSH PRIVILEGES;
如果要安裝hue,再創建hue數據庫和用戶 再執行下面的語句:
create database hue character set utf8 ;
CREATE USER 'hue'@'%'IDENTIFIED BY 'Hue-1234';
GRANT ALL PRIVILEGES ON *.* TO 'hue'@'%';
FLUSH PRIVILEGES;
二、安裝Ambari
2.1、下載 Ambari HDP、HDP-UTILS、 HDP-GPL源包(文件很大,需要很長下載時間,請耐心等待。。。)建議直接通過迅雷下載好再上傳到服務器。
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari-2.6.2.2-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gz
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari.repo
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repo
http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/hdp.gpl.repo
2.2、安裝本地源相關工具
將下載好的源上傳到 的 /var/www/html 目錄下,因為文件比較多,我自己在html下新建了一個ambari文件夾,把四個文件放在ambari下面,結構如下:
還記得我們之前安裝的HTTP服務器了么,這時候在瀏覽器輸入:http://192.168.75.131/ambari/ ,便可以看見剛剛我們上傳的文件
接下來,我們安裝制作本地源工具
yum install yum-utils createrepo yum-plugin-priorities -y
createrepo ./
2.3、配置ambari、HDP、HDP-UTILS的本地源
cd /etc/yum.repos.d/ 將我們下載的.repo文件放到這下面
vi ambari.repo
#VERSION_NUMBER=2.6.2.2-1
[ambari-2.6.2.2]
name=ambari Version - ambari-2.6.2.2
baseurl=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
其中 baseurl路徑與gpgkey需要根據自己的實際解壓路徑來,否則makecache不能成功
baseurl最后端都要加/,否則后面會報錯
保存并退出
vi hdp.repo
#VERSION_NUMBER=2.6.5.0-292
[HDP-2.6.5.0]
name=HDP-2.6.5.0
baseurl=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22/
baseurl=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
保存并退出
vim hdp.gpl.repo
SION_NUMBER=2.6.5.0-292
[HDP-GPL-2.6.5.0]
name=HDP-GPL Version - HDP-GPL-2.6.5.0
baseurl=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/
gpgcheck=1
gpgkey=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
保存并退出
將這三個文件發送到其他節點,否則以后會報錯
緊接著制作源:
yum clean all //清除YUM緩存
yum makecache //建立緩存
yum repolist
2.4將Ambari數據庫腳本導入到數據庫
用Ambari用戶(上面設置的用戶)登錄mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
2.5安裝Ambari
安裝Ambari
yum install ambari-server -y
配置Ambari
ambari-server setup
下面是配置執行流程,按照提示操作
- 提示是否自定義設置。輸入:y
- ambari-server 賬號。輸入:ambari
- 設置JDK。輸入:3
- 如果上面選擇3自定義JDK,則需要設置JAVA_HOME。輸入:/usr/local/jdk/jdk1.8(看自己安裝的位置)
- 使Ambari服務器能夠下載和安裝GPL許可的LZO包,輸入: y
- 數據庫配置。選擇:y
- 選擇數據庫類型。輸入:3
- 設置數據庫的具體配置信息,根據實際情況輸入,如果和括號內相同,則可以直接回車。Ambari-123
- 配置完成
2.6 配置/usr/share/java下的java包
cd /usr/share/java
mv mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jar
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
vi /etc/ambari-server/conf/ambari.properties添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
2.7啟動Amabri
ambari-server start
三、使用Ambari界面安裝Hadoop、Hbase、Log Search服務
3.1、成功啟動后在瀏覽器輸入Ambari地址:http://192.168.75.131:8080
3.2、登錄成功后出現下面的界面,至此Ambari的安裝成功
安裝安裝HDP 2.5.3 配置集群(點擊上面登錄成功頁面的Launch Install Wizard 按鈕進行集群配置)
3.3設置集群名稱
3.4選擇版本
這里選擇如下
3.5設置集群機器(下載master機器上的id_rsa私鑰到本地)主節點鑰匙
點擊register后報錯
vi /var/log/ambari-agent/ ambari-agent.log,是python版本過高引起的ssl錯誤,降低python版本
使用如下命令,在ambari-agent.ini的security底下添加和在.cfg的https底下添加(針對所有節點)
- vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2
- vi /etc/python/cert-verification.cfg
[https]
verify=disable
3.6Host確認(確認前面配置集群中hosts列表 中的機器是否都可用,也可以移除相關機器,集群中機器Success后進行下一步操作)
3.7選擇要安裝的服務
3.8各個服務Master配置
3.9服務的Slaves 和 Clients節配置
3.10服務的客制化配置
3.11顯示配置信息
3.12開始安裝