当前位置:   article > 正文

大数据分析学习第十五课 自建云服务器集群离线安装Ambari2.7.5和HDP3.1.5(一)_ambari2.7.5收费了吗

ambari2.7.5收费了吗

    之前了解了很多关于大数据平台一站式部署管理的工具,比如Apache Ambari和CDH,目前最新的CDH已经没有了社区版,也就是说以后使用新版本的Cloudera Manager和CDH都是要收费的,这对于很多小公司来说,可能无法承受。转向Ambari是他们的一个可选项。

    Ambari是Apache的一个顶级开源项目,开源是其最大的优势,开源也意味着Ambari可以灵活地进行扩展,集成更多的数据组件,对于需要定制化和二次开发的企业来说,Ambari也极具吸引力。

    由于之前学习大数据一直使用的虚拟机,本身虚拟机内存和配置不大,一直没有机会上手Ambari。最近遇到一个好机会,就是很多云服务器商搞活动,于是我在电信天翼云和青云订购了3台主机,总共花费228元,可以使用一年时间。

天翼云(88元)2核4G

青云(70元*2 )  1核2G

 这个活动还是很划算的,感兴趣的可以问度娘参加活动。也可以关注公众号【猫头鹰数据分析】给我留言,我会告诉读者怎么购买主机最划算。

    今天就开始搭建一下基于Ambari的HDP大数据环境,天翼云主机(tt1)因为配置好,就做master,其它2台主机做slave(ss1,ss2)。

一、安装包准备

    Ambari官网连接不能用了,现在需要收费,用到的软件包我整理好放云盘了,需要的朋友可以关注我的微信公众号【猫头鹰数据分析】后台回复ambari或hdp,就可以获取离线包了,总共11G多,本次安装使用的软件及版本如下

Ambari2.7.5
HDP3.1.5
JAVA1.8
Mysql5.7.35
Httpd

云盘的包如下

  1. ambari-2.7.5.0-centos7.tar.gz
  2. HDP-3.1.5.0-centos7-rpm.tar.gz
  3. HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
  4. HDP-UTILS-1.1.0.22-centos7.tar.gz

首先我们配置下基本环境

1、java环境

java需要3台主机都配置,这里我就不做介绍了,我的博客里也有介绍,因为比较简单,主要是下载jdk解压,然后配置环境变量就可以了

2、mysql环境

mysql服务我们只需要安装到tt1主服务器上,网上例子也比较多,这里就不介绍了,装好后记得设置远程 % 访问,同时要在云服务器安全组设置外网端口3306。

3、httpd环境

  1. yum install httpd
  2. yum install yum-utils
  3. yum repolist
  4. yum install createrepo

4、时钟

 参见博客大数据分析学习第一课 准备虚拟机环境

5、设置主机名(所有主机)

这里我是外网ip就不公开了,下面ip是举例

  1. 参见博客大数据分析学习第一课 准备虚拟机环境
  2. vim /etc/hosts
  3. 每个节点的hosts文件中添加如下配置:
  4. 192.168.179.101 tt1
  5. 192.168.179.102 ss1
  6. 192.168.179.103 ss2

6、ssh免密

可以参照我的另一篇文章 大数据分析学习第一课 准备虚拟机环境

这里注意密匙生成用云服务器master控制台来生成,生成后保存一份公匙,后面配置服务需要使用。保证tt1可以ssh远程 ss1,ss2

7、为每个用户设置NMASK(所有主机)

sudo sh -c "echo umask 0022 >> /etc/profile"

8、修改系统最大打开文件数

  1. [root@tt1 ~]# vim /etc/systemd/system.conf
  2. [Manager]
  3. DefaultLimitNOFILE=1024000 #这里需要修改
  4. DefaultLimitNPROC=1024000 #这里也需要修改,修改完成重启生效
  5. [root@tt1 ~]# ulimit -a 查看
  6. [root@tt1 ~]# ulimit -n 10000 临时修改
  7. [root@tt1 ~]# ulimit -Sn
  8. 10000
  9. [root@tt1 ~]# ulimit -Hn
  10. 10000

二、开始安装基础服务

1、上传和解压离线包

前面介绍安装完httpd后,会生成 /var/www/html目录,我们在html目录里再建一些目录

  1. [root@tt1 ~]# mkdir /var/www/html/ambari
  2. [root@tt1 ~]# mkdir /var/www/html/hdp
  3. [root@tt1 ~]# mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
  4. [root@tt1 ~]# mkdir /var/www/html/hdp/HDP-GPL-3.1.5.0

建完目录,我们上传上面介绍的4个ambari离线包放到/var/www/html目录下 (主服务器tt1),传完后我们执行解压命令

  1. [root@tt1 ~]# tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/
  2. [root@tt1 ~]# tar -zxvf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
  3. [root@tt1 ~]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22
  4. [root@tt1 ~]# tar -zxvf HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/hdp/HDP-GPL-3.1.5.0/

解压后,我们可以等正常运行ambari后,删除离线包,因为离线包有将近12个G,还是比较占空间的

2、启动httpd服务(主服务器tt1)

  1. [root@tt1 ~]# systemctl start httpd # 启动httpd
  2. [root@tt1 ~]# systemctl status httpd # 查看httpd状态
  3. [root@tt1 ~]# systemctl enable httpd # 设置httpd开机自启

测试访问刚才解压的文件路径

  1. http://tt1:8081/ambari/
  2. http://tt1:8081/hdp/

能看到资源目录就可以了

3、制作本地源(主服务器tt1)

因为我们下载repo文件提示没有权限

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.5.0/ambari.repo

这里我们就直接自己新建ambari.repo和HDP.repo文件了

ambari.repo

  1. cd /etc/yum.repos.d/
  2. vim ambari.repo
  3. #VERSION_NUMBER=2.7.4.0-118
  4. [ambari-2.7.4.0]
  5. name=ambari Version - ambari-2.7.4.0
  6. baseurl=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118
  7. gpgcheck=1
  8. gpgkey=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  9. enabled=1
  10. priority=1

ambari.repo需要复制到其他2台slave主机

 HDP.repo

  1. #VERSION_NUMBER=3.1.4.0-315
  2. [HDP-3.1.4.0]
  3. name=HDP Version - HDP-3.1.5.0
  4. baseurl=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/
  5. gpgcheck=1
  6. gpgkey=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  7. enabled=1
  8. priority=1
  9. [HDP-UTILS-1.1.0.22]
  10. name=HDP Utils Version - HDP-UTILS-1.1.0.22
  11. baseurl=http://tt1:8081/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22
  12. gpgcheck=1
  13. gpgkey=http://tt1:8081/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  14. enabled=1
  15. priority=1
  16. [HDP-GPL-3.1.5.0]
  17. name=HDP-GPL Version - HDP-GPL-3.1.5.0
  18. baseurl=http://tt1:8081/hdp/HDP-GPL-3.1.5.0/HDP-GPL/centos7/3.1.5.0-152/
  19. gpgcheck=1
  20. gpgkey=http://tt1:8081/hdp/HDP-GPL-3.1.5.0/HDP-GPL/centos7/3.1.5.0-152/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
  21. enabled=1
  22. priority=1

4、清理一下yum的缓存

[root@tt1 ambari]# yum clean all
[root@tt1 ambari]# yum makecache
[root@tt1 ambari]# yum repolist

可以看到本地源已经配置成功,这是离线安装的关键,因为源文件文件我们已经解压到本地了

 5、将创建好的文件拷贝到子节点

复制到ss1,ss2的/etc/yum.repos.d目录下

  1. [root@tt1 ambari]#cd /etc/yum.repos.d
  2. [root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss1
  3. [root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss2

 同时也更新yum源

yum clean all
yum makecache
yum repolist

三、安装ambari-server

1、安装和配置ambari-server

yum -y install ambari-server

2、配置数据库mysql(主服务器)

上传mysql连接驱动的jar包并重命名

  1. mkdir /usr/share/java
  2. cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
  3. cp mysql-connector-java-5.1.44-bin.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
  4. 修改ambari.properties
  5. vi /etc/ambari-server/conf/ambari.properties

初始化数据库,我们连接在tt1装好的mysql,新建ambari,hive,oozie 三个数据库

  1. use ambari;
  2. CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
  3. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
  4. CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
  5. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
  6. CREATE USER 'ambari'@'tt1' IDENTIFIED BY 'ambari';
  7. GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'tt1';
  8. CREATE DATABASE hive;
  9. use hive;
  10. CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
  11. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
  12. CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
  13. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
  14. CREATE USER 'hive'@'tt1' IDENTIFIED BY 'hive';
  15. GRANT ALL PRIVILEGES ON *.* TO 'hive'@'tt1';
  16. CREATE DATABASE oozie;
  17. use oozie;
  18. CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';
  19. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
  20. CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'oozie';
  21. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost';
  22. CREATE USER 'oozie'@'tt1' IDENTIFIED BY 'oozie';
  23. GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'tt1';

添加一行新内容,配置驱动

server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

导入初始化数据结构和数据

  1. use ambari;
  2. source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

 3、初始化ambari-server

执行 ambari-server setup

按shell给出的提示选择并配置,ambari版本不同可能提示略有差异,但内容就是以下这些

  1. 1) 提示是否自定义设置。输入:y
  2. Customize user account for ambari-server daemon [y/n] (n)? y
  3. 2)ambari-server 账号。
  4. Enter user account for ambari-server daemon (root):
  5. 默认选择root
  6. Enter user account for ambari-server daemon (root):ambari
  7. Adjusting ambari-server permissions and ownership...
  8. 3)检查防火墙
  9. Adjusting ambari-server permissions and ownership...
  10. Checking firewall...
  11. WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
  12. OK to continue [y/n] (y)?
  13. 直接回车
  14. 4)设置JDK。输入:3
  15. Checking JDK...
  16. Do you want to change Oracle JDK [y/n] (n)? y
  17. [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
  18. [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
  19. [3] Custom JDK
  20. ==============================================================================
  21. Enter choice (1): 3
  22. 如果选择3自定义JDK,则需要设置JAVA_HOME
  23. WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
  24. WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
  25. Path to JAVA_HOME: /usr/java/jdk1.8.0_131
  26. Validating JDK on Ambari Server...done.
  27. Completing setup...
  28. 5)数据库配置。选择:y
  29. Configuring database...
  30. Enter advanced database configuration [y/n] (n)? y
  31. 6)选择数据库类型。输入:3
  32. Configuring database...
  33. ==============================================================================
  34. Choose one of the following options:
  35. [1] - PostgreSQL (Embedded)
  36. [2] - Oracle
  37. [3] - MySQL
  38. [4] - PostgreSQL
  39. [5] - Microsoft SQL Server (Tech Preview)
  40. [6] - SQL Anywhere
  41. ==============================================================================
  42. Enter choice (3): 3
  43. 7)设置数据库的具体配置信息,
  44. Hostname (localhost): tt1
  45. Port (3306): 3306
  46. Database name (ambari): ambari
  47. Username (ambari): ambari
  48. Enter Database Password (bigdata):ambari
  49. Re-Enter password: ambari

错误处理:
如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。

tail -100 /var/log/ambari-server/ambari-server.log  可以查看日志,一般就是数据库连接异常或者端口占用问题,都好解决

4、安装ambari-agent 

我们在httpd服务启动的情况下,在ss1,ss2主机上执行安装ambari-agent (这里也是离线安装,所以需要启动httpd,我们前面配置了yum的源地址是tt1)

yum install ambari-agent

安装成功有如下提示

agent安装完后,我们在2台从主机上分别启动

systemctl start ambari-agent

5、启动ambari服务

在tt1上执行 ambari-server start,这里注意启动前httpd服务也要启动,同时去天翼云控制台开8082的外网端口

 启动成功,我们在浏览器访问服务地址http://xx.xx.xx.xx:8082/#/login

 默认的用户名密码都是admin,我们输入后登录系统,就进入主界面了

 这次的安装过程就介绍到这里了,下次我们介绍在Ambari平台里创建配置大数据集群和常用组件

总结
        感谢能看到这里的朋友声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】

推荐阅读
相关标签