您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關基于Ambari的大數據平臺搭建是怎樣的,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
同CDH部署類似,步驟分為ambari的部署和hdp的部署,先以1臺為例(內存>6G,磁盤劃分/至少40G,/data/10G),后續節點可以通過擴容方式加入集群
需要下載jdk-8u144-linux-x64.tar.gz,ambari-xx-centos7.tar.gz,HDP-xx-centos7-rpm.tar.gz,HDP-UTILS-xx-centos7.tar.gz到本地(rpm包非常大),鏈接:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gzhttps://download.csdn.net/download/ljk168/10351315http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.4.0/HDP-GPL-2.6.4.0-centos7-rpm.tar.gzhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gzhttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/HDP-2.6.4.0-centos7-rpm.tar.gz
修改虛擬機的網絡設置、禁用SElinux、修改主機名、關閉防火墻、ssh免密、開啟http服務、設置時鐘同步;對于網絡的要求是:NAT模式下,所有主機在同網段,且能訪問外網。修改IP、網關、DNS;
vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改ifcfg-en33的dhcp自動分配修改為靜態尋址,增加ip/掩碼/網關配置;(網關不管怎么配,都不要配192.168.x.1,因為1號IP是VMnet8網卡的IP)
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="5ed941c2-deb4-48ae-a76d-838503c8683c"DEVICE="ens33"ONBOOT="yes"IPADDR="192.168.242.111"GATWAY="192.168.242.2"NETMASK="255.255.255.0"DNS1="192.168.242.2"
配置完成后通過service network restart 重啟網卡設置,依然無法連接外網(ping www.baidu.com),可以增加默認dns;
route add default gw 192.168.242.2
其次,增加主機和主機名映射(/etc/hosts),關閉防火墻,關閉SElinux,設置多主機免密,開啟http服務;
192.168.242.134 hadoop1
#關閉防火墻,centos7之前版本
systemctl disable firewalld
systemctl stopfirewalld
#關閉防火墻,centos7之后版本
systemctl disable firewalld.service
#重啟生效
#vi /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
主機免密的方法:
主機A/B/C為例,設置免密登錄的方法:① 每臺機器上執行 ssh-keygen -t rsa ,敲3次回車會在家目錄/home/csap下生成隱藏的.ssh目錄,首先需要給此目錄賦權限700: chmod 700 .ssh;這個目錄下有兩個文件:id_rsa 私鑰和id_rsa.pub 公鑰;② 在此目錄中創建 authorized_keys 文件并賦權:cd .sshtouch authorized_keyschmod 644 authorized_keys③ 以機器A為例,執行以上操作后,如果不知道其他機器的密碼,比如綁定4A;把自己的 id_rsa.pub 公鑰 以及其他兩臺機器的公鑰粘貼到 authorized_keys文件中,然后把這個文件復制到其他2臺機器即可。等于所有機器都有其他機器的公鑰,即可完成ssh 免密登錄;④ 如果知道其他機器密碼,可以直接執行這個把公鑰寫到其他機器的authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub?root@127.0.0.1
時鐘同步(保證其他節點同ambari主節點時鐘一致):
1、所有機器安裝ntp :yum -y install ntp2、主節點配置時鐘與自己同步:vim /etc/ntp.conf,刪除其他server,加入:server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 103、其他機器同步主節點的時間,vim /etc/ntp.conf,加入:server xxx.xxx.xxx.xx4、重啟所有機器的ntp服務systemctl restart ntpd或者service ntpd restartsystemctl status ntpd或者service ntpd status5、驗證同步所有節點執行ntpq –p,左邊出現*號表示同步成功。6、若不成功;/usr/sbin/ntpdate stdtime.gov.hkntpdate xxx.xxx.xxx.xxx手動同步時間
開啟http服務,/var/www/html/目錄下會自動創建cm和cdh目錄
yum -y install httpdsystemctl start httpd 或service httpd start
安裝jdk,配置JAVA_HOME;
# 卸載其他jdk,使用下面的命令查看當前所有的Java環境的安裝包rpm -qa | grep java# 使用下面的命令刪除所有的Java安裝包rpm -e --nodeps 包名# 安裝jdkmkdir /data/jdkcd /data/jdktar -xvf jdk-8u144-linux-x64.tar.gz# 修改環境變量,配置java的路徑vi ~/.bash_profile# 增加配置:JAVA_HOME=/data/jdk/jdk1.8.0_144PATH=$PATH:$HOME/bin:${JAVA_HOME}/bin:${JAVA_HOME}/sbin# 使生效source ~/.bash_profile#java -version 指令查看是否生效
# 安裝數據庫
yum -y install mariadb-server
# 啟動
systemctl start mariadb.service
systemctl enable mariadb.service
#首先是設置密碼,會提示先輸入密碼,直接回車,設置密碼123456,一路回車
mysql_secure_installation
# 配置數據庫
mysql -u root -p 123456
# (1)創建ambari數據庫及用戶:
create database ambari;
CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
# (2)創建Hive數據庫和用戶 再執行下面的語句:
create database hive;
CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON . TO 'hive'@'%';
FLUSH PRIVILEGES;
# (3)創建Oozie數據庫和用戶 再執行下面的語句:
create database oozie;
CREATE USER 'oozie'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON . TO 'oozie'@'%';
FLUSH PRIVILEGES;
# 最后,安裝數據庫的jdbc
yum -y mysql-connector-java
# jdbc的安裝路徑:/usr/share/java/mysql-connector-java.jar
配置yum源(所有節點),刪除/etc/yum.repos.d/下面的所有repo文件,清除之前的緩存yum clean all,虛擬機設置的選項中勾選“已連接”:
# 掛載文件(注意這里使用的是當時生效,關機后會失效。建議設置永久掛載文件):
mount /dev/cdrom /mnt/
# 設置自己的yum源
vi /etc/yum.repos.d/my.repo
[myrepo]
baseurl=file:///mnt
enabled=1
gpgcheck=0
下載到本地的hdp和ambari的RPM文件上傳到/var/wwww/html/ambari目錄下,有文件過大(>4G),xshell的rz指令無法直接上傳,可以參考帖子:https://blog.csdn.net/FLawiet/article/details/89597389
# 解壓安裝包
cd /var/www/html/ambari/
tar -zxvf ambari-2.6.1.5-centos7.tar.gz -C /var/www/html/ambari
tar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html/ambari
mkdir /var/www/html/ambari/HDP-UTILS/
tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz /var/www/html/ambari/HDP-UTILS/
# 解壓后,需要刪除目錄下所有的html文件,不然后續會卡主,避免出錯;
cd /var/www/html/ambari/
find . -name *.html
# html文件集中在一個文件夾下;
cd ./HDP/centos7/2.6.4.0-91/
rm *.html
# 解壓后會在文件夾最底層內生成ambari.repo和hdp.repo和hdp-utils.repo文件
# 修改每個url后,拷貝到/etc/yum.repos.d/目錄下,作為本地yum源;
# ① 在 /etc/yum.repos.d文件夾內修改ambari.repo,確保能夠http訪問baseurl;
cat ambari.repo # 內容如下
#VERSION_NUMBER=2.6.1.5-3
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://192.168.242.111/ambari/ambari/centos7/2.6.1.5-3/
gpgcheck=1
gpgkey=http://192.168.242.111/ambari/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
# ② 在 /etc/yum.repos.d文件夾內修改hdp.repo,確保能夠http訪問baseurl;
cat hdp.repo # 內容如下
#VERSION_NUMBER=2.6.4.0-91
[HDP-2.6.4.0]
name=HDP Version - HDP-2.6.4.0
baseurl=http://192.168.242.111/ambari/HDP/centos7/2.6.4.0-91/
gpgcheck=1
gpgkey=http://192.168.242.111/ambari/HDP/centos7/2.6.4.0-91/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.242.111/ambari/HDP-UTILS/centos7/1.1.0.22
# baseurl=http://192.168.242.111/ambari/HDP-UTILS
gpgcheck=1
gpgkey=http://192.168.242.111/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
# gpgkey=http://192.168.242.111/ambari/HDP-UTILS/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
開始安裝ambari-server。
# 安裝yum install -y ambari-server# 配置ambari-server setup
配置中會提示輸入JAVA_HOME和ambari元數據庫的登錄密碼:
登錄ambari數據庫,對數據庫進行初始化
mysql -uroot -p123456use ambarisource /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sqlshow tables;
完成數據庫的初始化后,啟動 ambari-server start,如果中間報錯可以看日志:/var/log/ambari-server/ambari-server.log,一般是數據庫權限的問題,類似CDH的cm,安裝成功后web訪問(admin,admin);
按照指引操作,選擇HDP的rmp包的位置:
可能出現的錯誤:Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password),請看一下authorized_keys 文件是否有服務器自己的公鑰內容。出現錯誤:NetUtil.py:124 - Server at https://hadoop1:8440 is not reachable, sleeping for 10 seconds...", None)參考:https://blog.csdn.net/qq_41805514/article/details/88871477
組件安裝,由于資源有限,這里只安裝hdfs,mr,yarn,zk和spark組件為例。
關于基于Ambari的大數據平臺搭建是怎樣的就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。