ambari安装,适配任何ambari版本

目前大数据集群开源的主要是ambari和CDH,下面我来介绍下如何安装ambari:
一、基础环境插件安装
yum clean all
yum makecache
升级openssl
yum install -y openssl
yum -y install ruby*
yum -y install redhat-lsb*
yum -y install snappy*
yum -y install gcc(如果没有就要装)
配置映射关系:


image.png

安装jdk,过程就不赘叙了:
vi /etc/profile 加到末尾

SET JAVA HOME

export JAVA_HOME=/usr/java/jdk1.8.0_74
export JSTORM_HOME=/usr/hdp/2.6.2.0-205/jstorm-2.2.1
export PATH=JAVA_HOME/bin:PATH:JSTORM_HOME/bin export CLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

关闭防火墙
service iptables stop
chkconfig iptables off


image.png

禁用selinux,vi /etc/selinux/config,按照图示修改:

image.png

查看selinux的状态
/usr/sbin/sestatus -v
disabled即关闭状态
image.png

如果没关闭,则用如下命令关闭,不用重启机器
setenforce 0

二、各节点之间配置相互免密登录
关闭Linux的THP服务

vim /etc/rc.local

image.png

添加:
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


image.png

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

检查:有[never]则表示THP被禁用

cat /sys/kernel/mm/transparent_hugepage/enabled

配置免密
如果没有生成密钥的要生成一下
ssh-keygen


image.png

ssh-copy-id ip地址


image.png

安装ntpd服务,主要用来服务器之间的时间同步
yum install -y ntpd

制作本地yum源
i.将如下3个包拷贝到集群的某一台机器上,并解压缩到/var/www/html目录下ambari-2.5.2-centos7.tar.gz,HDP-2.6.2.0-centos7-rpm.tar.gz,HDP-UTILS-1.1.0.20-centos7.tar.gz
ii.yum配置
解压HDP-UTILS-1.1.0.20-centos6.tar.gz 到目录 /var/www/html/ambari
tar zxvf HDP-UTILS-1.1.0.20-centos6.tar.tar -C /var/www/html/ambari
同理,把ambari-2.5.2-centos7.tar.gz目录拷贝到目录 /var/www/html/ambari
安装本地源制作工具yum install yum-utils createrepo
进入/var/www/html/ambari 目录,执行命令:createrepo ./
ambari本地源制作完成
同理,把HDP-2.6.2.0-centos7-rpm.tar.gz目录拷贝到目录 /var/www/html/hdp
进入/var/www/html/hdp 目录,执行命令:createrepo ./
hadoop本地源制作完成

配置yum源
cd /etc/yum.repos.d

image.png

vi ambari.repo
[ambari-2.2.1.]
name=Ambari 2.5.2
baseurl=http://master地址/ambari/
gpgcheck=0
enabled=1
[HDP-UTILS-1.1.0.20]
name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.20
baseurl=http://master地址/ambari/
gpgcheck=0
enabled=1

vi HDP.repo
[HDP-2.6]
name=HDP-2.6
baseurl=http://master地址/hdp/

path=/
enabled=1

vi HDP-UTILS.repo
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://master地址/ambari/

path=/
enabled=1

至此yum源已经配置好了

master节点安装httpd
yum install -y httpd
若出现目录信息,且工作目录默认在/var/www/html
http服务使用80端口,检查端口是否占用

netstat -nltp | grep 80

如果有占用情况,安装完毕后需要修改http服务的端口号

sudo vim /etc/httpd/conf/httpd.conf

修改监听端口,Listen 80为其他端口


image.png

同时打开http://master地址/ambari/
http://master地址/hdp/ 这2个网址,看能否显示如下内容:

image.png

image.png

显示即为成功了,不显示可能是httpd没有启动,service httpd start启动下。
或者是baseurl设置的不对,baseurl的ip为ambari-server所在的机器。
如果显示yum源连接拒绝或者403forbidden,哪是因为apache用户没有访问权限chown -R apache:apache www 赋予权限即可

安装mysql
yum install mysql
安装mysql服务端
yum install -y mysql-server
yum install -y mysql-devel
i. mysql相关设置:

设置字符集

SET NAMES 'utf8';

set character_set_database=utf8;

set character_set_server=utf8;

查看字符集

SHOW VARIABLES LIKE 'character%';

image.png

看到字符集设置成utf-8了

service mysqld start

但是启动以后再查看,字符集还是latin1,治标不治疗本

vi /etc/my.conf

在[mysqld]上面加下面的话

[client]

default-character-set=utf8

在[mysqld]最下面加下面的话

default-storage-engine=INNODB

character-set-server=utf8

collation-server=utf8_general_ci

重启mysql

service mysqld restart

image.png

SHOW VARIABLES LIKE 'character%';

image.png

修改数据库的字符集

库名:test

ALTER DATABASE hive DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

修改表的字符集

student为表

ALTER TABLE student DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

设置账号和密码

mysqladmin -u root password root

检查mysql是否为开机启动

chkconfig --list | grep mysqld

image.png

mysql未开机启动,需要开机启动

chkconfig mysqld on

再次chkconfig --list | grep mysqld检查一下状态

image.png

进入mysql

mysql -uroot -proot

如果想改密码,则进行下面操作。

UPDATE user SET Password=PASSWORD('root') where USER='root';

FLUSH PRIVILEGES;

进入mysql,查看是否能进行增删改查等相关操作。

ii. 登录mysql创建ambari、hive、oozie的资料库:

  1. ambari for mysql 配置

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'@'node1' IDENTIFIED BY 'ambari';

GRANT ALL PRIVILEGES ON . TO 'ambari'@'node1';

Create database ambari;

设置ambari的登录密码:

UPDATE user SET Password=PASSWORD('ambari') where USER='ambari';

FLUSH PRIVILEGES;

说明:node1是安装ambari Server所在的机器。

  1. hive for mysql 配置

CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';

GRANT ALL PRIVILEGES ON . TO 'hive'@'localhost';

CREATE USER 'hive'@'%' IDENTIFIED BY 'hive';

GRANT ALL PRIVILEGES ON . TO 'hive'@'%';

CREATE USER 'hive'@'node2' IDENTIFIED BY 'hive';

GRANT ALL PRIVILEGES ON . TO 'hive'@'node2';

FLUSH PRIVILEGES;

CREATE DATABASE hive;

UPDATE user SET Password=PASSWORD('root') where USER='hive';

FLUSH PRIVILEGES;

说明:'node2' 是安装Hive Metastore元数据的机器。

  1. root设置

GRANT ALL PRIVILEGES ON . TO root@'%' identified by 'root';

FLUSH PRIVILEGES;

oozie用户设置

CREATE USER 'oozie'@'%' IDENTIFIED BY 'oozie';

GRANT ALL PRIVILEGES ON . TO 'oozie'@'%';

FLUSH PRIVILEGES;

三、Ambari 安装
清空缓存
yum clean all
提高安装软件的速度
yum makecache
安装ambari-master
yum install ambari-server
ambari-server 配置
ambari-server setup
直接回车,并且默认指定 ambari Server 的运行用户为 root

选择3,自定义已经安装JDK路径:/usr/java/jdk1.7.0_67


image.png

默认高级数据库配置,在这里输入3:(建议输入1采用默认的)


image.png

默认设置了ambari GUI 的登录用户为 admin/admin。并且指定 ambari Server 的运行用户为 root
ambari-server 启动:
ambari-server start
注意:这里启动不了大多与DB连接驱动有关:
yum install mysql-connector-java或者将驱动包放在/usr/share/java下
加载驱动进ambari的设置中
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector
-java-5.1.17.jar
另外,安装ambari-server的机器上要安装mysql客户端
确保安装mysql的机器上有ambari库,ambari库里面有相对应的表


image.png

如果没有ambari这个库,就需要做第三步中1.#ambari for mysql 配置的步骤了。
同时还需要进行如下操作:将表加载到ambari中

进入ambari-server所安装的机器cd /var/lib/ambari-server/resources
如果元数据库跟ambari-server在同一个节点:
进入元数据库
use ambari;
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
完成后退出,再次启动ambari-server
ambari-server start
如果不在同一个节点上:
进入ambari-server所安装的机器vi /var/lib/ambari-server/resources
vi Ambari-DDL-MySQL-CREATE.sql
在sql的最开头加上use ambari;
然后在安装mysql所在的机器上执行如下sql:
mysql -h master节点 -uambari -pambari <Ambari-DDL-MySQL-CREATE.sql

ambari-agent 安装【所有节点】
yum install ambari-agent
启动:ambari-agent
/etc/init.d/ambari-agent start
如果某一台机器上的agent启动失败,可进行如下操作:
yum remove ambari-agent
同时清空/var/下的资料,再次yum下载ambari-agent
yum install ambari-agent
再次启动agent
/etc/init.d/ambari-agent start
显示ambari-agent started即表示成功了,那么可以安装组件了。

四、集群管理平台的创建
登录:http://master地址:8080 用户名:admin 密码:admin
创建集群:

image.png

选择hdp的安装版本:
image.png

并添加yum源的所在的路径
http://master地址/ambari/
http://master地址/hdp/
image.png

添加节点:cat /etc/hosts里面映射的名字
image.png

image.png

如果连不上,看下hostname是否配置正确了。
cat /etc/ambari-agent/conf/ambari-agent.ini
然后查查日志ambari-server.out
选择安装的组件:
image.png

服务分配:
image.png

分配完毕后开始进行安装,此处时间会比较长,请耐心等待。

常见的问题集锦
i.ambari-server无法启动的问题
原因:没有正确的配置ambari和hive用户和库导致连接失败,或者是没有加载mysql驱动到设置中。
解决方案:
加载mysql驱动到ambari-setup中ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.17.jar
其次,检查mysql安装的机器上是否有ambari,hive用户和库,如果没有,需要重复之前的动作建库和用户
最后,需要检查ambari库里面是否有相关联的表,没有就需要加载进去
ii.部分ambari-agent启动失败的问题
原因:ambari-agent启动失败是因为之前启动过ambari,但是失败了进行重构时,没有清理干净造成
方案如下:
ambari-agent stop
ambari-server stop
yum remove ambari-agent
卸载安装的软件:
yum remove hadoop_2* hdp-select* ranger_2* zookeeper* bigtop* atlas-metadata* ambari* postgresql spark*
检查一下
yum list | grep @HDP
删除postgresql的数据:
rm -rf /var/lib/pgsql
删除用户:ambari会自动创建一些用户,清除集群时有必要清除这些用户,并删除对应的文件夹,避免造成权限问题。
具体操作见:http://blog.csdn.net/wk022/article/details/49278419
完毕以后,重新安装agent并启动就可以了。
yum install ambari-agent
ambari-agent start
iii.安装hive的时候,hive元数据启动不了

image.png

原因:安装hive的时候填写的登录密码不正确
方案:初始化hive的密码为输入的密码即可。
UPDATE user SET Password=PASSWORD('hive') where USER='hive';
重装ambari集群的时候,一定要把mysql表中ambari的信息给清空掉,最好是换台机器装mysql

iv.启动yarn和hbase的时候显示No such file or directory: '/usr/hdp/current/hadoop-client/conf'而报错
原因:软链接与hadoop安装地址掉了,吧软链接增加上去即可
ln -s /usr/hdp/current/hadoop-client/conf /etc/hadoop/conf

五、Ambari节点的增加与删除
i.ambari节点的增加
打开ambari页面,点击hosts,进入到hosts操作页面,点击add new hosts
如下图所示:


image.png

填写待增加节点的别名以及主节点的私钥,如下图所示:


image.png

后续的步骤就是依次安装组件,前面有讲解过,就不赘言了
ii.Ambari下线节点
点击hosts进入到所有节点展示页面,点击需要删除的节点,如红色框所示
image.png

进入该节点以后,必须先停止该节点下的所有服务,点击左边红色框内的delete
image.png

最后记得停止该节点的ambari-agent,下线节点完毕,hdfs重新rebalance一下


image.png

iii.ambari卸载某个节点的服务
如上一样,还是点击hosts,然后选中需要下线服务的节点,进入到该节点的服务列表,停止该服务,然后点击delete即可,这个时候ambari会提示要重启关联的组件,重启一下需要重启的组件即可。

关于安装ambari2.7版本以上的yum配置
将下载的3个包全部解压到/var/www/html目录下
分别进入ambari和HDP下修改ambari.repo和hdp.repo的配置文件信息,然后cp到/etc/yum.respo下
信息如下:
ambari.repo

VERSION_NUMBER=2.7.3.0-139

[ambari-2.7.3.0]

json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json

name=ambari Version - ambari-2.7.3.0
baseurl=http://172.16.1.89/ambari/centos7/2.7.3.0-139
gpgcheck=0
gpgkey=http://172.16.1.89/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY
enabled=1
priority=1

hdp.repo

VERSION_NUMBER=3.0.1.0-187

[HDP-3.0.1.0]
name=HDP Version - HDP-3.0.1.0
baseurl=http://172.16.1.89/HDP/centos7/3.0.1.0-187/
gpgcheck=0
gpgkey=http://172.16.1.89/HDP/centos7/3.0.1.0/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://172.16.1.89/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
gpgkey=http://172.16.1.89/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/
enabled=1
priority=1

③ 编辑 /etc/python/cert-verification.cfg 配置文件,将 [https] 节的 verify 项设为禁用:

[root@ambari ~]# vi /etc/python/cert-verification.cfg
# Possible values are:
# 'enable' to ensure HTTPS certificate verification is enabled by default
# 'disable' to ensure HTTPS certificate verification is disabled by default
# 'platform_default' to delegate the decision to the redistributor providing this particular Python version

# For more info refer to https://www.python.org/dev/peps/pep-0493/
[https]
verify=disable

保存退出。

sed -i 's/verify=platform_default/verify=disable/ g' /etc/python/cert-verification.cfg

④ 编辑 /etc/ambari-agent/conf/ambari-agent.ini 配置文件,在 [security] 节部分,确保设置如下两个值,其它值保持不变:

[root@ambari ~]# vi /etc/ambari-agent/conf/ambari-agent.ini

[security]
ssl_verify_cert=0
force_https_protocol=PROTOCOL_TLSv1_2

sed -i '/ssl_verify_cert=0/a force_https_protocol=PROTOCOL_TLSv1_2' /etc/ambari-agent/conf/ambari-agent.ini
保存退出,重启 ambari-agent:

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

推荐阅读更多精彩内容