1. Ambari 简介
Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。
2. 安装环境准备
1. ssh 免密码登录
修改主机名
vi /etc/sysconfig/network
Created by anaconda
HOSTNAME=master.ambari
三台机器master,work1,work2之间可以免密码登录
2. JDK
3.python2.7+(三台机器同样的操作)
Ambari用python2.*写的,Python3会报错
一般centos7会自带python2.7,/usr/bin/python2.7
用which is python 查看当前的python环境是/opt/anaconda3/bin/下的python
cd /opt/anaconda3/bin
ll |grep python
删除python链接
[root@master bin]# rm -rf python
然后新建Python2.*的链接
(base) [root@master bin]# whereis python
python: /usr/bin/python /usr/bin/python2.7 /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib/python2.6 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /opt/anaconda3/bin/python3.6 /opt/anaconda3/bin/python3.6-config /opt/anaconda3/bin/python3.6m-config /opt/anaconda3/bin/python3.6m /usr/share/man/man1/python.1.gz
(base) [root@master bin]# pwd
/opt/anaconda3/bin
(base) [root@master bin]# ln -s /usr/bin/python2.7 /opt/anaconda3/bin/python
(base) [root@master bin]# ll |grep python
-rwxrwxr-x 1 root root 237 May 27 11:14 ipython
-rwxrwxr-x 1 root root 237 May 27 11:14 ipython3
lrwxrwxrwx 1 root root 18 Jun 27 15:31 python -> /usr/bin/python2.7 (创建成功)
lrwxrwxrwx 1 root root 9 May 27 11:14 python3 -> python3.6
-rwxrwxr-x 1 root root 11944432 May 27 11:13 python3.6
lrwxrwxrwx 1 root root 17 May 27 11:14 python3.6-config -> python3.6m-config
lrwxrwxrwx 1 root root 9 May 27 11:14 python3.6m -> python3.6
-rwxrwxr-x 1 root root 3399 May 27 11:13 python3.6m-config
lrwxrwxrwx 1 root root 17 May 27 11:14 python3-config -> python3.6m-config
base) [root@master bin]# python -V
Python 2.7.5
4. mysql数据库
mysql数据库是用来存储Ambari的一些数据日志,在主节点安装mysql即可。
yum在线安装mysql
1. 下载mysql的repo源
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm
2. 安装mysql57-community-release-el7-10.noarch.rpm包
rpm -ivh mysql57-community-release-el7-10.noarch.rpm --nodeps --force
安装这个包后,会获得两个mysql的yum repo源:/etc/yum.repos.d/mysql-community.repo和/etc/yum.repos.d/mysql-community-source.repo
3. 检查mysql源是否安装成功
yum repolist enabled | grep “mysql.-community.”
如下表示mysql源安装成功
4.yum安装Mysql
yum install mysql-community-server
5.启动mysql服务器
systemctl start mysqld.service
查看运行状态
systemctl status mysqld.service
6.设置开机自启动
systemctl enable mysqld.service
然后重启下systemctl
systemctl daemon-reload
7.关掉mysql密码检查插件
mysql5.7默认安装了密码安全检查插件,密码必须包含大小写,数字,符号,长度为8,可以关掉密码策略:
vi /etc/my.cnf文件添加:
validate_password = off
重启MySQL服务使配置生效:
systemctl restart mysqld
8.查看临时密码并登录mysql
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
grep ‘temporary password’ /var/log/mysqld.log
mysql -uroot -p
9.修改密码
因为MySQL默认必须修改密码之后才能操作数据库
ALTER USER ‘root’@‘192.168.254.147’ IDENTIFIED BY ‘mysql’;
如果失败,则先修改为繁琐的密码,比如z?guwrBhH7p>
ALTER USER ‘root’@‘192.168.254.147’ IDENTIFIED BY ‘z?guwrBhH7p>’;
成功,再修改为简单的密码。
10.创建ambari数据库
create database ambari character set utf8 ;
CREATE USER 'ambari'@'192.168.**.1*'IDENTIFIED BY 'ambari';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'192.168.*.1*';
FLUSH PRIVILEGES;
3.在线安装Ambari
1. 下载yum源配置文件repo
只在主节点下载,下载操作系统对应的版本
sudo wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.3.0/ambari.repo
cd /etc/yum.repd.d
2. 安装Ambari server
yum install ambari-server
3.配置ambari-server
ambari-server setup
配置过程其中主要是自定义jdk,输入JAVA_HOME路径,自定义数据库选mysql,输入数据库用户名,密码等。
Usingpython /usr/bin/python
Setupambari-server
CheckingSELinux...
SELinuxstatus is 'disabled'
Customizeuser account for ambari-server daemon [y/n] (n)? y
Enter useraccount for ambari-server daemon (root):
Adjustingambari-server permissions and ownership...
Checkingfirewall status...
CheckingJDK...
[1] OracleJDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] OracleJDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[3] CustomJDK
==============================================================================
Enter choice(1): 3
WARNING: JDKmust be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCEPolicy files are required for configuring Kerberos security. If you plan to useKerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files arevalid on all hosts.
Path toJAVA_HOME: /usr/java/jdk1.8.0_121
ValidatingJDK on Ambari Server...done.
Completingsetup...
2.设置数据库,Ambari默认使用的是PostgreSQL,改为mysql数据库Configuringdatabase...
Enteradvanced database configuration [y/n] (n)? y
Configuringdatabase...
==============================================================================
Choose oneof the following options:
[1] -PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL/ MariaDB
[4] -PostgreSQL
[5] -Microsoft SQL Server (Tech Preview)
[6] - SQLAnywhere
[7] - BDB
==============================================================================
Enter choice(1): 3
Hostname(localhost): (回车)
Port (3306): (回车)
Databasename (ambari): (回车)
Username(ambari): (回车)
EnterDatabase Password (bigdata):(自己创建的ambari的数据库密码,我的是ambari)
Re-enterpassword: (ambari)
Configuringambari database...
Copying JDBCdrivers to server resources...
Configuringremote database connection properties...
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 withconfiguring remote database connection properties [y/n] (y)? y
Extractingsystem views...
.....ambari-admin-2.6.2.0.155.jar
......
Adjustingambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
4. 将mysql-connector-java.jar复制到/var/lib/ambari-server/resources目录下
cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
5. 编辑ambari.properties
vi /etc/ambari-server/conf/ambari.properties
添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
6.将Ambari数据库脚本导入到数据库
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本
用Ambari用户(上面设置的用户)登录mysql
[root@master java]# mysql -uroot -pmysql
mysql> use ambari
Database changed
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql (这个就是选择mysql数据库时warn的东西)
7.安装ambari-agent(三台机器都运行)
yum -y install ambari-agent
8.启动 ambari server服务
ambari-server start
用户密码都是admin
4.安装插件
1. 集群名称
2.选择HDP版本
3.认证文件
(1)Target Hosts是主机/etc/hosts文件的内容
(2)下面的公钥是主机root用户的/root/.ssh/id_rsa 内容,SSHUser选root,与id_rsa文件所有这对应
4.认证失败
(1)linux软件库中没有当前的agent版本
解决方法:卸载agent,重新安装
ambari-server stop #关闭server
yum remove ambari-agent #卸载
yum install ambari-agent #安装
(2)openssl版本问题
解决方法:
vi /etc/ambari-agent/conf/ambari-agent.ini
[security]
force_https_protocol=PROTOCOL_TLSv1_2
vi /etc/python/cert-verification.cfg
[https]
verify=disable
修改后页面点击retry,成功
接下安装的部署选默认即可,activity的Analyzer和Explorer必须在同一台机器,否则explorer安装会报错