环境介绍:操作系统为Centos7.1;测试设备全部为内网设备,不通公网,所以需要配置本地yum源;
首先安装ansible工具,用来批量安装ambari、java以及基础的一些配置;
一、 免密钥登录:
- 接口机创建密钥文件
*注:所有的设备均可以通过root直连
ssh-keygen -t rsa
相关命令:
scp /root/.ssh/id_rsa.pub root@0.0.0.0:/root/.ssh/authorized_keys
二、 ansible配置详解:
config_hosts目录:配置主机名,hosts文件,配置免密钥登录;
install_java目录:安装配置jdk
master目录:配置主节点的本地yum源,安装主节点的ambari-server和ambari-agent
slave目录:安装配置其他节点的ambari-agent
1.roles/config_hosts
在files目录下放着准备好的文件,change_hostname.sh文件用来修改主机名,hosts文件用来替换设备的hosts文件;
在tasks文件下放着需要执行的playbook,用于修改主机名、配置免密钥登录:
2.roles/install_java
在files目录下准备好jdk的包;
安装jdk的playbook:
3.roles/master
在files目录下准备好安装ambari的包和HDP的包,用于制作本地yum源;
在tasks目录下按照实际需求写好playbook:
create_yum.yml:用于创建本地yum源;
install_ambari_agent.yml:用于安装ambari-agent;
install_ambari.yml:用于安装ambari-server;
install_httpd.yml:用于安装httpd服务,共享本地yum源;
4.roles/slave
在files目录下准备好配置好的yum源文件;
在tasks目录下按照实际需求写好playbook;
create_yum.yml:用于创建本地yum源;
install_ambari_agent.yml:用于安装ambari-agent;
三、 ambari-server配置
(1.1) 第一步默认回车
(1.2) 第二步输入 3 然后 回车
(1.3) 输入 /usr/share/jdk1.8.0_73
(1.4) 回车
(1.5) 成功
四、 登录ambari-server安装HDP
浏览器访问:IP:8080 账号密码:admin/admin
*注:提前启动ntp服务,否则会有警告(虽然可以忽略,但是原谅我是个强迫症患者);
1.创建集群
2.输入集群名,点击下一步
3.选择需要安装的HDP版本,以及配置的yum源,点击下一步
4.填写在/etc/hosts下配置的主机解析,提前做好免密钥,点击下一步
5.安装前检查,有问题解决,没问题直接点下一步
6.选择需要安装的服务,点击下一步
7.资源分配
8.分配从属和客户端
9.自定义服务,有两个位置需要配置,否则不能进行下一步,hive的mysql账号密码,和grafana的账号密码;其余配置根据需求来更改;
10.检查资源分配情况,没有问题点击下一步;
11.安装部署集群
安装过程拍错:
- snappy版本问题;
解决:
方法一:rpm -e `rpm -qa|grep snappy`
手动yum install snappy-devel -y
方法二:在部署集群前yum install snappy-devel -y
2.安装pig
ambari会给设备配置mysql的yum源,设备不通公网会出问题;
解决方法:rm -rf /etc/yum.repos.d/mysql-community*
注:如果此方法过不去,需手动安装:yum install pig_2_3_*
3.有时会有警告的情况,直接下一步,进入集群解决;
12.安装情况,点击完成,进入集群
13.集群内的问题
hive数据库授权
进入mysql,执行如下sql语句
grant all privileges on *.* to hive@localhost identified by '123456';
*注:以上步骤亲测无安装问题,同时,可以应用于其他版本的安装;例如:ambari2.6安装HDP2.6;