这篇文章将为大家详细讲解有关基于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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。