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(如果没有就要装)
配置映射关系:


ambari安装,适配任何ambari版本_第1张图片
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=PATH:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

关闭防火墙
service iptables stop
chkconfig iptables off


ambari安装,适配任何ambari版本_第2张图片
image.png

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

ambari安装,适配任何ambari版本_第3张图片
image.png

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

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

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

vim /etc/rc.local

ambari安装,适配任何ambari版本_第4张图片
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


ambari安装,适配任何ambari版本_第5张图片
image.png

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

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

cat /sys/kernel/mm/transparent_hugepage/enabled

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


ambari安装,适配任何ambari版本_第6张图片
image.png

ssh-copy-id ip地址


ambari安装,适配任何ambari版本_第7张图片
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

ambari安装,适配任何ambari版本_第8张图片
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为其他端口


ambari安装,适配任何ambari版本_第9张图片
image.png

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

ambari安装,适配任何ambari版本_第10张图片
image.png

ambari安装,适配任何ambari版本_第11张图片
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%';

ambari安装,适配任何ambari版本_第12张图片
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%';

ambari安装,适配任何ambari版本_第13张图片
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


ambari安装,适配任何ambari版本_第14张图片
image.png

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


ambari安装,适配任何ambari版本_第15张图片
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库里面有相对应的表


ambari安装,适配任何ambari版本_第16张图片
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-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
创建集群:

ambari安装,适配任何ambari版本_第17张图片
image.png

选择hdp的安装版本:
ambari安装,适配任何ambari版本_第18张图片
image.png

并添加yum源的所在的路径
http://master地址/ambari/
http://master地址/hdp/
ambari安装,适配任何ambari版本_第19张图片
image.png

添加节点:cat /etc/hosts里面映射的名字
ambari安装,适配任何ambari版本_第20张图片
image.png

ambari安装,适配任何ambari版本_第21张图片
image.png

如果连不上,看下hostname是否配置正确了。
cat /etc/ambari-agent/conf/ambari-agent.ini
然后查查日志ambari-server.out
选择安装的组件:
ambari安装,适配任何ambari版本_第22张图片
image.png

服务分配:
ambari安装,适配任何ambari版本_第23张图片
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元数据启动不了

ambari安装,适配任何ambari版本_第24张图片
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
如下图所示:


ambari安装,适配任何ambari版本_第25张图片
image.png

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


ambari安装,适配任何ambari版本_第26张图片
image.png

后续的步骤就是依次安装组件,前面有讲解过,就不赘言了
ii.Ambari下线节点
点击hosts进入到所有节点展示页面,点击需要删除的节点,如红色框所示
ambari安装,适配任何ambari版本_第27张图片
image.png

进入该节点以后,必须先停止该节点下的所有服务,点击左边红色框内的delete
ambari安装,适配任何ambari版本_第28张图片
image.png

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


ambari安装,适配任何ambari版本_第29张图片
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

你可能感兴趣的:(ambari安装,适配任何ambari版本)