基于ambari搭建hadoop生态圈大数据组件
Ambari
介绍1
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeper、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。
建议
需对hadoop生态圈的各个组件以及环境配置,参数有一定的知识,才建议使用ambari搭建
对比(CDH)
1、Hortonworks Hadoop区别于其他的Hadoop发行版(如Cloudera)的根本就在于,Hortonworks的产品均是百分之百开源。
2、Cloudera有免费版和企业版,企业版只有试用期。
3、apache hadoop则是原生的hadoop。
4、目前在中国流行的是apache hadoop,Cloudera CDH,当然Hortonworks也有用的5、Apache Ambari是一个基于web的工具,用于配置、管理和监视Apache Hadoop集群,支持Hadoop HDFS、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同样还提供了集群状况仪表盘,比如heatmaps和查看MapReduce、Pig、Hive应用程序的能力,以友好的用户界面对它们的性能特性进行诊断。
准备
安装前先安装好 Centos 7.2, jdk-8u91, mysql5.7.13
主节点:master(172.26.99.126)
从节点:slave1(172.26.99.127),slave2(172.26.99.128),slave3(172.26.99.129)
注意事项:确保所有节点时间同步;确保所有节点能互相通信以及能访问外网
配置SSH免密码登录
主节点(master)里root用户登录执行如下步骤
ssh-keygen
cd ~/.ssh/
cat id_rsa.pub>> authorized_keys
在从节点登录root执行命令
mkdir ~/.ssh/
分发主节点里配置好的authorized_keys到各从节点
scp/root/.ssh/authorized_keys root@172.26.99.127:~/.ssh/authorized_keys
scp/root/.ssh/authorized_keys root@172.26.99.128:~/.ssh/authorized_keys
scp/root/.ssh/authorized_keys root@172.26.99.129:~/.ssh/authorized_keys
创建ambari系统用户和用户组
只在主节点操作
添加ambari安装、运行用户和用户组,也可以不创建新用户,直接使用root或者系统其他账号
adduser ambari
passwd ambari
开启NTP服务
所有集群上节点都需要操作
Centos 7 命令
yum install ntp
systemctl is-enabled ntpd
systemctl enable ntpd
systemctl start ntpd
检查DNS和NSCD
所有节点都要设置
ambari在安装时需要配置全域名,所以需要检查DNS.
vi /etc/hosts
172.26.99.126 master.chinadci.com master
172.26.99.127 slave1.chinadci.com slave1
172.26.99.128 slave2.chinadci.com slave2
172.26.99.129 slave3.chinadci.com slave3
每台节点里配置FQDN,如下以主节点为例(要注意FQDN的命名规范:hostname+域名)
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master.chinadci.com
关闭防火墙
所有节点都要设置
systemctl disable firewalld
systemctl stop firewalld
关闭SELinux
所有节点都要设置
查看SELinux状态:
sestatus
如果SELinuxstatus参数为enabled即为开启状态
SELinux status: enabled
修改配置文件需要重启机器:
vi /etc/sysconfig/selinux
SELINUX=disabled
制作本地源
制作本地源只需在主节点上进行即可
相关准备工作
安装 Apache HTTP 服务器
安装HTTP服务器,允许 http 服务通过防火墙(永久)
yum install httpd
firewall-cmd --add-service=http
firewall-cmd --permanent --add-service=http
添加Apache 服务到系统层使其随系统自动启动
systemctl start httpd.service
systemctl enable httpd.service
安装本地源制作相关工具
yum install yum-utils createrepo
下载安装资源
下载Ambari 2.2.2 , HDP 2.4.2 的安装资源,本次安装是在Centos 7 上,只列出centos7的资源,其他系统的请现在对用系统的资源
Ambari 2.2.2 下载资源
OS
Format
URL
CentOS 7
Base URL
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0
CentOS 7
Repo File
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo
CentOS 7
Tarball md5 asc
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz
HDP2.4.2 下载资源
OS
Repository Name
Format
URL
CentOS 7
HDP
Base URL
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0
CentOS 7
HDP
Repo File
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo
CentOS 7
HDP
Tarball md5 asc
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/HDP-2.4.2.0-centos7-rpm.tar.gz
CentOS 7
HDP-UTILS
Base URL
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7
CentOS 7
HDP-UTILS
Repo File
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz
下载上面列表的中的压缩包,
需要下载的压缩包如下:
Ambari 2.2.2
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos7-rpm.tar.gz
HDP 2.4.2
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.2.2.0/ambari-2.2.2.0-centos7.tar.gz
HDP-UTILS 1.1.0
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos7/HDP-UTILS-1.1.0.20-centos7.tar.gz
在httpd网站根目录,默认是即/var/www/html/,创建目录ambari,
并且将下载的压缩包解压到/var/www/html/ambari目录
cd /var/www/html/
mkdir ambari
cd /var/www/html/ambari/
tar -zxvf ambari-2.2.2.0-centos7.tar.gz
tar -zxvf HDP-2.4.2.0-centos7-rpm.tar.gz
tar -zxvf HDP-UTILS-1.1.0.20-centos7.tar.gz
验证httd网站是否可用,可以使用links 命令或者浏览器直接访问下面的地址:
http://172.26.99.126/ambari/
结果如下:
配置ambari、HDP、HDP-UTILS的本地源
首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下:
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.2.0/ambari.repo
wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.4.2.0/hdp.repo
vi ambari.repo
vi hdp.repo
将上面的修改过的源放到/etc/yum.repos.d/下面
执行以下命令
yum clean all
yum list update
yum makecache
yum repolist
安装Mysql数据库
Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL
Mysql数据库安装过程请参考下面文章:
http://blog.csdn.net/u011192458/article/details/77394703
安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;
安装mysqljdbc 驱动
yum install mysql-connector-java
安装JDK
安装解压版JDK,先到官网下载jdk-8u91-linux-x64.tar.gz ,再执行下面命令:
tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt/java/
vi /etc/profile
export JAVA_HOME=/opt/jdk1.8
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
source /etc/profile
安装Ambari
安装Ambari2.2.2
安装Ambari
yum install ambari-server
配置Ambari
ambari-server setup
根据操作选择提示
选择注意:ambari-server服务账号密码都是ambari
JDK路径是自定义路径/var/opt/jdk1.8
数据库配置选择的是自定义安装的Mysql
数据库的账户和密码都是ambari
导入ambari脚本
将Ambari数据库脚本导入到数据库
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本
用Ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari source/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
启动Ambari
执行启动命令,启动Ambari服务
ambari-server start
成功启动后在浏览器输入Ambari地址:
http://172.26.99.126:8080/
出现登录界面,默认管理员账户登录,账户:admin 密码:admin
登录成功后出现下面的界面,至此Ambari的安装成功
Ambari集群配置
机架:
slave1.chinadci.com172.26.99.127 /default-rack
slave2.chinadci.com172.26.99.128 /default-rack
slave3.chinadci.com172.26.99.129 /default-rack
配置:
Hadoop生态圈的各个组件日志默认安装在各个组件的根目录下,方便用于寻找。
利用ambari可以快速的搭建Hadoop集群,安装后各组件的默认安装在各个节点的/usr/hdp/目录下。
Ambari-server服务器的日志目录默认安装在/var/log目录下
Ambari-agent采集器的日志目录默认安装在/var/log目录下
文件备份一般为3个
HDFS默认块大小为128M,则每个文件大小不应小于128。
Yarn默认配置内存8G,即每台节点最少8G、CPU核数8核
参考文献: https://www.cnblogs.com/zhijianliutang/p/5731002.html
Hadoop集群运行的过程是需要将所有的数据分布记录拉入到内存中的,所以这就意味着当整个集群的数据越来越大,我们知道在大数据的环境下,几TB级别或者PB级别的数据是很常见的,这也就意味这个数据分布记录也要增大,所以需要加大内存,这里有一个参考依据:
一般1GB内存可以管理百万个block文件。
举例:bolck为128M,副本为3个,200台集群,4TB数据,需要的Namenode内存为:200(服务器数)x 4194304MB(4TB数据) / (128MB x 3)=2184533.33个文件=2.18百万个文件,所以内存值也就接近于2.2G了。
再次,因为这里有一台机器用来做备份,所以secondarynamenode需要的内存与namenode需要的内存大概一样,然后就是从节点的各台服务器需要的内存量了
首先计算当前CPU的虚拟核数(Vcore):
虚拟核数(Vcore)=CPU个数*单CPU合数*HT(超线程数)
然后根据虚拟核数配置内存容量:
内存容量=虚拟核数(Vcore)*2GB(至少2GB)
关于CPU的选择,因为Hadoop为分布式计算运算,所以其运行模型基本是密集型并行计算,所以推荐的CPU要尽量选择多路多核的,条件允许的话每个节点都要如此。
然后,在一个大型的分布式集群中,还需要注意的是,因为分布式的计算,需要各个节点间进行频繁的通信和IO操作,这也就意味对网络带宽有要求,所以推荐使用千兆以上的网卡,条件允许可以万兆网卡,交换机亦如此。
注意:由于zookeeper等一些组件需要选举leader以及follow,所需节点数最少为3节点以上而且奇数,否则一个节点挂掉,导致集群无法选择leader,整个zookeeper就无法运行。
举例:
集群中只要有过半的机器是正常工作的,那么整个集群对外就是可用的。也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper。
————————————————
版权声明:本文为CSDN博主「Mr_Luffy」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011192458/article/details/79128457
Ambari安装准备
关于 Ambari 的安装,目前网上能找到两个发行版,一个是 Apache 的 Ambari,另一个是 Hortonworks 的,两者区别不大。这里就以 Apache 的 Ambari 2.1.2 作为示例。本文使用四台 centos 6.8 作为安装环境,三台机器分别为Ambari.domain、NameNode.domain、Hadoop01.domain、Hadoop02.domain。Ambari计划安装为 Ambari 的 Server,NameNode为管理节点,另外两台为 Ambari Agent。
安装 Ambari 最方便的方式就是使用公共的库源(public repository)。[搭建本地库(local repository)见Ambari-server私有yum源搭建及设置]。这个不是本文重点,所以不在此赘述。在进行具体的安装之前,需要做几个准备工作。
SSH 的无密码登录(见配置Ambari-server到agent单向的免密码登陆);
Ambari 的 Server 会 SSH 到 Agent 的机器,拷贝并执行一些命令。因此我们需要配置 Ambari Server 到 Agent 的 SSH 无密码登录。在这个例子里,Ambari可以 SSH 无密码登录另外三台机器。
确保 Yum 可以正常工作;
通过公共库(public repository),安装 Hadoop 这些软件,背后其实就是应用 Yum 在安装公共库里面的 rpm 包。所以这里需要您的机器都能访问 Internet。
确保 home 目录的写权限,Ambari 会创建一些 OS 用户。
确保机器的 Python 版本大于或等于 2.6(系统默认就是 2.6 的)。
以上的准备工作完成后,便可以真正的开始安装 Ambari 了。
Ambari安装过程
首先需要获取 Ambari 的公共库文件(public repository)。登录到 Linux 主机并执行下面的命令(也可以自己手工下载):
wget http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari.repo
将下载的 ambari.repo 文件拷贝到 Linux 的系统目录/etc/yum.repos.d/。拷贝完后,我们需要获取该公共库的所有的源文件列表。依次执行以下命令。
#yum clean all
#yum list|grep ambari
如果可以看到 Ambari 的对应版本的安装包列表,说明公共库已配置成功。然后就可以安装 Ambari 的 package 了。执行下面的命令安装 Ambari Server 到该机器。
#yum install ambari-server
待安装完成后,便需要对 Ambari Server 做一个简单的配置。执行下面的命令。
#amari-server setup
在这个交互式的设置中,采用默认配置即可。Ambari 会使用 Postgres 数据库,默认会安装并使用 Oracle 的 JDK。默认设置了 Ambari GUI 的登录用户为 admin/admin。并且指定 Ambari Server 的运行用户为 root。
简单的 setup 配置完成后。就可以启动 Ambari 了。运行下面的命令。
#ambari-server start
当成功启动 Ambari Server 之后,便可以从浏览器登录,默认的端口为 8080。以本文环境为例,在浏览器的地址栏输入 http://ambari.domain:8080,登录密码为 admin/admin。登入 Ambari 之后的页面如下图。
至此,Ambari Server 就安装完成了。
部署一个 Hadoop2.x 集群
到这一节,我们将可以真正地体验到 Ambari 的用武之地,以及它所能带来的方便之处。
登录 Ambari 之后,点击按钮“Launch Install Wizard”,就可以开始创建属于自己的大数据平台。
首先命名集群的名字。本环境为 BigData。
接下来,选择一个 Stack,这个 Stack 相当于一个 Hadoop 生态圈软件的集合。Stack 的版本越高,里面的软件版本也就越高。这里我们选择 HDP2.3,里面的对应的 Hadoop 版本为 2.7.x。
接下来,指定 Agent 机器(如果配置了域,必须包含完整域名),这些机器会被安装 Hadoop 等软件包。咱们这里选择“Perform manual registration on hosts and do not use SSH“。 三台机器都要手动安装 Ambari Agent。具体参见下图示例。
[root@namenode ~]# yum install -y ambari-agent
[root@namenode ~]# vi /etc/ambari-agent/conf/ambari-agent.ini
修改其中的hostname为Ambari即可
[root@namenode ~]# /etc/init.d/ambari-agent start
[root@NameNode ~]# /etc/init.d/ambari-agent status
Hadoop01、Hadoop02安装方式同上。
客户端手动注册
点击”Register and Confirm”后系统自动开始注册主机和配置主机
Hadoop集群组件选择与安装
一般根据业务选择安装的服务
master服务节点选择
选择各组件master服务安装在哪些节点(注意:服务分为master/salves,多个master不推荐安装在同一个主机上面)
slaves服务节点选择
选择slaves服务的安装节点,节点客户端安装
推荐DataNode、RegionServe、client组件都安装
自定义服务配置
(1)、hdfs目录配置:
注意检查目录空间大小,尽量放置在大的目录下
(2)、hive服务配置与检测
配置结束后Ambari 会总结一个安装列表,供用户审阅。这里没问题,就直接下一步。
Ambari 会开始安装选择的 Service 到 Ambari Agent 的机器(如下图)。这里可能需要等好一会。安装完成之后,Ambari 就会启动这些 Service。
安装完成
安装完成之后,就可以查看 Ambari 的 Dashboard 了。
至此,您专属的 bigdata 集群已经安装完成。
————————————————
版权声明:本文为CSDN博主「陌小铠」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cy309173854/article/details/58039594