Ambari部署

Ambari部署

Ambari简介:

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管理工具之一。

Ambari界面预览
部署环境:CentOS 6/7
部署步骤:
一、环境准备
1.关闭防火墙

CentOS 6 :

chkconfig iptables off
service iptables stop
chkconfig --list iptables

CentOS 7:

systemctl disable firewalld.service
systemctl stop firewalld.service
2.关闭selinux
setenforce 0   (临时关闭)
vi /etc/selinux/config
SELINUX=disabled    (永久关闭,重启后生效)
3.修改主机名

CentOS 6:

vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=namenode-1

Centos 7:

hostnamectl set-hostname namenode-1
4.配置本地域名解析(以下为示例)
192.168.5.1  namenode-1
192.168.5.2  datanode-1
192.168.5.3  web1
192.168.5.4  web2
192.168.5.5  datanode-2
192.168.5.6  datanode-3
192.168.5.7  datanode-4
192.168.5.8  ambari
5.配置SSH(Ambari节点可无密码访问其他主机)
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

ssh-copy-id -i /root/.ssh/id_rsa.pub root@namenode-1
... ...
6.修改YUM源

这里使用阿里云镜像已保证安装速度

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum makecache
7.安装JDK
HADOOP环境需要的JAVA为1.7以上版本的JDK,这里使用1.8版本的JAVA
上传1.8版本的JDK包
rpm -ivh jdk-8u131-linux-x64.rpm
配置环境变量
vim /etc/profile  (文件末尾添加)
export JAVA_HOME=/usr/java/jdk1.8.0_131
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
验证是否安装成功
java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
8.安装时间同步服务(NTP),确保集群内部时间统一

CentOS 6:

yum install -y ntp
chkconfig --list ntpd
chkconfig ntpd on
service ntpd start

CentOS 7:

yum install -y ntp
chkconfig --list ntpd
systemctl is-enabled ntpd
systemctl enabled ntpd
systemctl start ntpd
9.关闭THP服务(如果不关闭transparent_hugepage,Ambari在检查环境是也会进行警告,HDFS性能会因为THP服务未关闭受到严重的影响)

永久关闭(重启后生效):

CentOS 6:

vi /etc/grub.conf
添加 transparent_hugepage=never
vi /etc/rc.local
添加:
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
  echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
  echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
exit 0

CentOS 7:

vi /etc/default/grub
在有CMDLINE一行添加 transparent_hugepage=never
grub2-mkconfig -o /boot/grub2/grub.cfg
systemctl disable tuned

临时关闭(不需要重启):

CentOS 6:

echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled 
cat /sys/kernel/mm/redhat_transparent_hugepage/enabled always madvise [never]

CentOS 7:

echo never > /sys/kernel/mm/transparent_hugepage/enabled 
echo never > /sys/kernel/mm/transparent_hugepage/defrag

检查方法:

cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
有 [never]则表示THP被禁用
10.配置UMASK,设定用户创建目录的初始权限
umask 0022
11.禁止离线更新
vi /etc/yum/pluginconf.d/refresh-packagekit
添加enbaled=0
12.备份克隆(略)

以上的环境配置是最基本的,每个节点都需要的配置。可以做一备份节点,用于将来创建子节点克隆使用,减少重复工作。当然克隆后还有小的调整,比如要重新配置hostname,还有SSH配置过程里,分发主节点里配置好的authorized_keys到各从节点,还是在克隆所有子节点后再操作。

二、安装Ambari集群
1.制作本地源

使用官方默认源的话十分缓慢,因此建议使用本地源进行安装(本地源文件较大、下载较为缓慢,酌情考虑)

1).配置HTTP服务(yum实质上是使用http协议进行下载安装的)
chkconfig httpd on
service httpd start  /  systemctl start httpd
2).安装本地源制作相关工具
yum -y install yum-utils createrepo yum-plugin-priorities
vi /etc/yum/pluginconf.d/priorities.conf
添加gpgcheck=0
3).下载Ambari和HDP(下载时间1M带宽预计需要14小时左右,网络不稳定时容易断线)

CentOS 6:

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari-2.5.0.3-centos6.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.0.3/HDP-2.6.0.3-centos6-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos6/HDP-UTILS-1.1.0.21-centos6.tar.gz

CentOS 7:

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.5.0.3/ambari-2.5.0.3-centos7.tar.gz
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.0.3/HDP-2.6.0.3-centos7-rpm.tar.gz
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.21-centos7.tar.gz

注:以下将按照CentOS 6进行部署演示,CentOS 7请依据实际情况进行改动

4).创建本地源(我在这里将源文件解压到了/var/www/html目录中)
tar zxvf /opt/ambari-2.5.0.3-centos6.tar.gz -C /var/www/html
tar zxvf /opt/HDP-2.6.0.3-centos6-rpm.tar.gz -C /var/www/html
tar zxvf /opt/HDP-UTILS-1.1.0.21-centos6.tar.gz -C /var/www/html

cd /var/www/html/
createrepo  ./

wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.5.0.3/ambari.repo -O /etc/yum.repos.d/ambari.repo

修改ambari.repo,配置为本地源

vi /etc/yum.repos.d/ambari.repo
[ambari-2.5.0.3]
name=ambari Version - ambari-2.5.0.3
baseurl=http://192.168.5.8/ambari/centos6
gpgcheck=1
gpgkey=http://192.168.5.8/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1

priority=1

vi /etc/yum.repos.d/HDP.repo
[HDP-2.6]
name=HDP-2.6
baseurl=http://192.168.5.8/HDP/centos6/

path=/
enabled=1
gpgcheck=0
vi /etc/yum.repos.d/HDP-UTILS.repo
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://192.168.50.38/HDP-UTILS-1.1.0.20/

path=/
enabled=1
gpgcheck=0

验证是否生效(如果不确定是否正确可以尝试浏览器访问,例如 http://192.168.5.8/ambari/centos6

yum clean all
yum makecache
yum repolist
2.安装数据库

Ambari使用的默认数据库是PostgreSQL,用于存储安装元数据,可以使用自己安装的MySQL作为Ambari元数据库(我是使用了源码安装的方法,不做过多赘述,这里只做Yum安装步骤)

yum -y install mysql mysql-server
chkconfig mysqld on
service mysqld start
3.安装Ambari
yum install -y ambari-server

执行yum install ambari-server成功后,针对mysql数据库再做一些工作:

将mysql-connector-java.jar复制到/usr/share/java目录下(在下载的文件中有mysql-connector-java.jar,具体位置为hdp-utils/mysql-connector-java-source/mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar)

mkdir /usr/share/java
cp /root/hdp-utils/mysql-connector-java-source/mysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar /usr/share/java/mysql-connector-java.jar
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar

编辑Ambari.properties

vi /etc/ambari-server/conf/ambari.properties
添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

在mysql中分别创建数据库ambari,hive,oozie和其相应用户,创建相应的表(如果不愿意将hive和oozie放在和ambari相同的数据库里,可以另外建立数据库)

CREATE DATABASE ambari;
use ambari;
grant all on *.* to ambari@'localhost' identified by 'password';
grant all on *.* to ambari@'hostname' identified by 'password';
grant all on *.* to ambari@'%' identified by 'password';

CREATE DATABASE hive;
use hive;
grant all on *.* to hive@'localhost' identified by 'password';
grant all on *.* to hive@'hostname' identified by 'password';
grant all on *.* to hive@'%' identified by 'password';

CREATE DATABASE oozie;
use oozie;
grant all on *.* to oozie@'localhost' identified by 'password';
grant all on *.* to oozie@'hostname' identified by 'password';
grant all on *.* to oozie@'%' identified by 'password';
4.配置Ambari

执行ambari-server setup

ambari-server setup
下面是配置执行流程,按照提示操作
(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。输入:/usr/java/jdk1.8.0_131
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):hdp131.cancer.com
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (bigdata):
Re-Enter password: 
(8)将Ambari数据库脚本导入到数据库
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql 
Proceed with configuring remote database connection properties [y/n] (y)?  
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本。这一点在安装Ambari环节提到过。
5.启动Ambari
ambari-server start

成功后浏览器访问
http://AMBARI_IP:8080
默认用户名admin,密码admin

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容