赞
踩
之前了解了很多关于大数据平台一站式部署管理的工具,比如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
云盘的包如下
- ambari-2.7.5.0-centos7.tar.gz
- HDP-3.1.5.0-centos7-rpm.tar.gz
- HDP-GPL-3.1.5.0-centos7-gpl.tar.gz
- HDP-UTILS-1.1.0.22-centos7.tar.gz
首先我们配置下基本环境
java需要3台主机都配置,这里我就不做介绍了,我的博客里也有介绍,因为比较简单,主要是下载jdk解压,然后配置环境变量就可以了
mysql服务我们只需要安装到tt1主服务器上,网上例子也比较多,这里就不介绍了,装好后记得设置远程 % 访问,同时要在云服务器安全组设置外网端口3306。
-
- yum install httpd
-
- yum install yum-utils
-
- yum repolist
-
- yum install createrepo
-
这里我是外网ip就不公开了,下面ip是举例
- 参见博客大数据分析学习第一课 准备虚拟机环境
- vim /etc/hosts
- 每个节点的hosts文件中添加如下配置:
- 192.168.179.101 tt1
- 192.168.179.102 ss1
- 192.168.179.103 ss2
可以参照我的另一篇文章 大数据分析学习第一课 准备虚拟机环境
这里注意密匙生成用云服务器master控制台来生成,生成后保存一份公匙,后面配置服务需要使用。保证tt1可以ssh远程 ss1,ss2
sudo sh -c "echo umask 0022 >> /etc/profile"
- [root@tt1 ~]# vim /etc/systemd/system.conf
- [Manager]
- DefaultLimitNOFILE=1024000 #这里需要修改
- DefaultLimitNPROC=1024000 #这里也需要修改,修改完成重启生效
- [root@tt1 ~]# ulimit -a 查看
- [root@tt1 ~]# ulimit -n 10000 临时修改
- [root@tt1 ~]# ulimit -Sn
- 10000
- [root@tt1 ~]# ulimit -Hn
- 10000
前面介绍安装完httpd后,会生成 /var/www/html目录,我们在html目录里再建一些目录
- [root@tt1 ~]# mkdir /var/www/html/ambari
- [root@tt1 ~]# mkdir /var/www/html/hdp
- [root@tt1 ~]# mkdir /var/www/html/hdp/HDP-UTILS-1.1.0.22
- [root@tt1 ~]# mkdir /var/www/html/hdp/HDP-GPL-3.1.5.0
建完目录,我们上传上面介绍的4个ambari离线包放到/var/www/html目录下 (主服务器tt1),传完后我们执行解压命令
- [root@tt1 ~]# tar -zxvf ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/ambari/
- [root@tt1 ~]# tar -zxvf HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/hdp/
- [root@tt1 ~]# tar -zxvf HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/hdp/HDP-UTILS-1.1.0.22
- [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,还是比较占空间的
- [root@tt1 ~]# systemctl start httpd # 启动httpd
- [root@tt1 ~]# systemctl status httpd # 查看httpd状态
- [root@tt1 ~]# systemctl enable httpd # 设置httpd开机自启
测试访问刚才解压的文件路径
- http://tt1:8081/ambari/
- http://tt1:8081/hdp/
能看到资源目录就可以了
因为我们下载repo文件提示没有权限
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.5.0/ambari.repo
这里我们就直接自己新建ambari.repo和HDP.repo文件了
ambari.repo
- cd /etc/yum.repos.d/
- vim ambari.repo
- #VERSION_NUMBER=2.7.4.0-118
- [ambari-2.7.4.0]
- name=ambari Version - ambari-2.7.4.0
- baseurl=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118
- gpgcheck=1
- gpgkey=http://tt1:8081/ambari/ambari/centos7/2.7.4.0-118/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
- enabled=1
- priority=1
ambari.repo需要复制到其他2台slave主机
HDP.repo
- #VERSION_NUMBER=3.1.4.0-315
- [HDP-3.1.4.0]
- name=HDP Version - HDP-3.1.5.0
- baseurl=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/
- gpgcheck=1
- gpgkey=http://tt1:8081/hdp/HDP/centos7/3.1.5.0-152/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://tt1:8081/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22
- gpgcheck=1
- 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
- enabled=1
- priority=1
-
- [HDP-GPL-3.1.5.0]
- name=HDP-GPL Version - HDP-GPL-3.1.5.0
- baseurl=http://tt1:8081/hdp/HDP-GPL-3.1.5.0/HDP-GPL/centos7/3.1.5.0-152/
- gpgcheck=1
- 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
- enabled=1
- priority=1
[root@tt1 ambari]# yum clean all
[root@tt1 ambari]# yum makecache
[root@tt1 ambari]# yum repolist
可以看到本地源已经配置成功,这是离线安装的关键,因为源文件文件我们已经解压到本地了
复制到ss1,ss2的/etc/yum.repos.d目录下
- [root@tt1 ambari]#cd /etc/yum.repos.d
- [root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss1
- [root@tt1 yum.repos.d]# scp ambari.repo HDP.repo ss2
同时也更新yum源
yum clean all
yum makecache
yum repolist
yum -y install ambari-server
上传mysql连接驱动的jar包并重命名
- mkdir /usr/share/java
- cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/mysql-connector-java.jar
- cp mysql-connector-java-5.1.44-bin.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
- 修改ambari.properties
- vi /etc/ambari-server/conf/ambari.properties
初始化数据库,我们连接在tt1装好的mysql,新建ambari,hive,oozie 三个数据库
- use ambari;
- CREATE USER 'ambari'@'%' IDENTIFIED BY 'ambari';
- GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
- CREATE USER 'ambari'@'localhost' IDENTIFIED BY 'ambari';
- GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'localhost';
- CREATE USER 'ambari'@'tt1' IDENTIFIED BY 'ambari';
- GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'tt1';
-
-
- CREATE DATABASE hive;
- use hive;
- CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';
- GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
- CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
- GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost';
- CREATE USER 'hive'@'tt1' IDENTIFIED BY 'hive';
- GRANT ALL PRIVILEGES ON *.* TO 'hive'@'tt1';
-
-
- CREATE DATABASE oozie;
- use oozie;
- CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';
- GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'%';
- CREATE USER 'oozie'@'localhost' IDENTIFIED BY 'oozie';
- GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'localhost';
- CREATE USER 'oozie'@'tt1' IDENTIFIED BY 'oozie';
- GRANT ALL PRIVILEGES ON *.* TO 'oozie'@'tt1';
添加一行新内容,配置驱动
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
导入初始化数据结构和数据
- use ambari;
-
- source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
执行 ambari-server setup
按shell给出的提示选择并配置,ambari版本不同可能提示略有差异,但内容就是以下这些
- 1) 提示是否自定义设置。输入:y
- Customize user account for ambari-server daemon [y/n] (n)? y
- (2)ambari-server 账号。
- Enter user account for ambari-server daemon (root):
- 默认选择root
- Enter user account for ambari-server daemon (root):ambari
- Adjusting ambari-server permissions and ownership...
- (3)检查防火墙
- Adjusting ambari-server permissions and ownership...
- Checking firewall...
- WARNING: iptables is running. Confirm the necessary Ambari ports are accessible. Refer to the Ambari documentation for more details on ports.
- OK to continue [y/n] (y)?
- 直接回车
- (4)设置JDK。输入:3
- Checking JDK...
- Do you want to change Oracle JDK [y/n] (n)? y
- [1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
- [2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
- [3] Custom JDK
- ==============================================================================
- Enter choice (1): 3
- 如果选择3自定义JDK,则需要设置JAVA_HOME
- WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
- 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.
- Path to JAVA_HOME: /usr/java/jdk1.8.0_131
- Validating JDK on Ambari Server...done.
- Completing setup...
- (5)数据库配置。选择:y
- Configuring database...
- Enter advanced database configuration [y/n] (n)? y
- (6)选择数据库类型。输入:3
- Configuring database...
- ==============================================================================
- Choose one of the following options:
- [1] - PostgreSQL (Embedded)
- [2] - Oracle
- [3] - MySQL
- [4] - PostgreSQL
- [5] - Microsoft SQL Server (Tech Preview)
- [6] - SQL Anywhere
- ==============================================================================
- Enter choice (3): 3
- (7)设置数据库的具体配置信息,
- Hostname (localhost): tt1
- Port (3306): 3306
- Database name (ambari): ambari
- Username (ambari): ambari
- Enter Database Password (bigdata):ambari
- Re-Enter password: ambari
错误处理:
如果出现错误,请注意查看日志,根据具体的错误内容进行处理,默认ambari-server的日志在/var/log/ambari-server/ambari-server.log里面。
tail -100 /var/log/ambari-server/ambari-server.log 可以查看日志,一般就是数据库连接异常或者端口占用问题,都好解决
我们在httpd服务启动的情况下,在ss1,ss2主机上执行安装ambari-agent (这里也是离线安装,所以需要启动httpd,我们前面配置了yum的源地址是tt1)
yum install ambari-agent
安装成功有如下提示
agent安装完后,我们在2台从主机上分别启动
systemctl start ambari-agent
在tt1上执行 ambari-server start,这里注意启动前httpd服务也要启动,同时去天翼云控制台开8082的外网端口
启动成功,我们在浏览器访问服务地址http://xx.xx.xx.xx:8082/#/login
默认的用户名密码都是admin,我们输入后登录系统,就进入主界面了
这次的安装过程就介绍到这里了,下次我们介绍在Ambari平台里创建配置大数据集群和常用组件
总结
感谢能看到这里的朋友声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。