查看原文
其他

基于Ambari的大数据平台搭建

yzg 数据社 2022-07-01

同CDH部署类似,步骤分为ambari的部署和hdp的部署,先以1台为例(内存>6G,磁盘划分/至少40G,/data/10G),后续节点可以通过扩容方式加入集群,可参考:https://blog.csdn.net/qq_32593713/article/details/81429573

一、安装环境准备

1、安装包准备

需要下载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

2、主机准备。

修改虚拟机的网络设置、禁用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 firewalldsystemctl stopfirewalld#关闭防火墙,centos7之后版本systemctl disable firewalld.service#重启生效

#vi /etc/selinux/configSELINUX=disabledSELINUXTYPE=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 指令查看是否生效

3、配置mariaDB。作为hive和ambari的元数据库

# 安装数据库yum -y install mariadb-server

# 启动systemctl start mariadb.servicesystemctl 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;

# 最后,安装数据库的jdbcyum -y mysql-connector-java# jdbc的安装路径:/usr/share/java/mysql-connector-java.jar

4、上传安装包,创建本地yum源,开始安装ambari。

    配置yum源(所有节点),删除/etc/yum.repos.d/下面的所有repo文件,清除之前的缓存yum clean all,虚拟机设置的选项中勾选“已连接”:

 

# 挂载文件(注意这里使用的是当时生效,关机后会失效。建议设置永久挂载文件):mount /dev/cdrom /mnt/

# 设置自己的yum源vi /etc/yum.repos.d/my.repo

[myrepo]baseurl=file:///mntenabled=1gpgcheck=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/ambaritar -zxvf HDP-2.6.4.0-centos7-rpm.tar.gz -C /var/www/html/ambarimkdir /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.5baseurl=http://192.168.242.111/ambari/ambari/centos7/2.6.1.5-3/gpgcheck=1gpgkey=http://192.168.242.111/ambari/ambari/centos7/2.6.1.5-3/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=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.0baseurl=http://192.168.242.111/ambari/HDP/centos7/2.6.4.0-91/gpgcheck=1gpgkey=http://192.168.242.111/ambari/HDP/centos7/2.6.4.0-91/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

[HDP-UTILS-1.1.0.22]name=HDP-UTILS Version - HDP-UTILS-1.1.0.22baseurl=http://192.168.242.111/ambari/HDP-UTILS/centos7/1.1.0.22# baseurl=http://192.168.242.111/ambari/HDP-UTILSgpgcheck=1gpgkey=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-Jenkinsenabled=1priority=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);

5、开始使用ambari界面化操作,配置HDP。

按照指引操作,选择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组件为例。


历史好文推荐
  1. 从0到1搭建大数据平台之计算存储系统

  2. 从0到1搭建大数据平台之调度系统

  3. 从0到1搭建大数据平台之数据采集系统

  4. 如何从0到1搭建大数据平台

  5. 基于CDH(Cloudera Distribution Hadoop)的大数据平台搭建


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存