AMBARI部署HADOOP集群(3)

摘要:
安装MySQL并配置、下载和安装MySQL的官方YumRepository[root@localhost~]#wget-i-chttp://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令直接下载用于安装的YumRepository,其大小约为25KB,然后可以使用yum直接安装。createdabaseambaridefaultcharacterset='utf8';CREATEUSER'Ambaridba'@'localhost'IDENTIFIEDBY'您的密码';CREATEUSER'Ambaridba'@'%DENTIFIEDBY'您的密码';GRANTALLPRIVILEGESONambari酒店*TO'amaridba'@'localhost';GRANTALLPRIVILEGESONambari酒店*TO'ambaridba“@“%”;刷新特权;3.配置ambari服务器ambari serversetup3.1如果未设置SELinux=disable,将出现警告消息。按Enter键接受默认值。设置完成后,启动ambaris服务器。控制台显示已成功启动,但无法通过浏览器访问。然后您将被要求输入JAVA_HOME的路径不能在用户的目录中。最好将其安装在/usr和/opt中。

1.安装ambari-server

yum -y install ambari-server

2.ambariserver需要一个数据库存储元数据,默认使用的 Postgres数据库。默认的用户名和密码是:ambari/bigdata 。但是一般情况下,后面还要安装 hive和 Ranger,也需要一个存元数据的数据库,所以使用一个mysql做为数据库。需要为ambari创建相应的数据库和用户。安装MySQL及配置

(1) 下载并安装MySQL官方的Yum Repository
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

之后就开始安装MySQL服务器。

[root@localhost ~]# yum -y install mysql-community-server

这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

至此MySQL就安装完成了,然后是对MySQL的一些设置。

(2)MySQL数据库设置

首先启动MySQL

[root@localhost ~]# systemctl start  mysqld.service

查看MySQL运行状态,运行状态如图:

[root@localhost ~]# systemctl status mysqld.service

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

[root@localhost ~]# grep "password" /var/log/mysqld.log

AMBARI部署HADOOP集群(3)第1张

如下命令进入数据库:

[root@localhost ~]# mysql -uroot -p

输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

这里有个问题,新密码设置的时候如果设置的过于简单会报错,我们就设计复杂的密码吧。安全起见大小写下划线数字都用上。

但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

[root@localhost ~]# yum -y remove mysql57-community-release-el7-10.noarch

此时才算真的完成了mysql的安装,开始配置ambari。

create database ambari default character set='utf8';
CREATE USER 'ambaridba'@'localhost' IDENTIFIED BY '你的密码'; 
CREATE USER 'ambaridba'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'localhost';
GRANT ALL PRIVILEGES ON ambari.* TO 'ambaridba'@'%';
FLUSH PRIVILEGES;

3.配置 ambari-server

ambari-server setup 

3.1如果没有设置SELinux=disable,会有一个警告信息,按回车,接受默认值(y)。按照前面2篇中的步骤的话,已经设置过这个值的,这一步会自动跳过。

注意:这个值的生效是需要重启电脑的。如果没有重启,则会有警告信息。设置完成后,启动ambariserver,控制台显示成功启动,但是无法通过浏览器访问。后来重启电脑后才可以。不知道是不是必须要这样才能访问ambariserver。

3.2设置运行 ambari server的用户,默认会使用root。可以键入 y,回车后输入一个其它的用户

AMBARI部署HADOOP集群(3)第2张

3.3选择JDK。为了使用统一的JDK,这里选择自定义的JDK。然后会要求输入JAVA_HOME的路径,一定不能在用户的目录下,安装在/usr 和/opt为好。

AMBARI部署HADOOP集群(3)第3张

3.4GPLLicense ,这一步必须选择 y.

AMBARI部署HADOOP集群(3)第4张

3.5配置元数据库的连接信息

AMBARI部署HADOOP集群(3)第5张

3.6输入数据库驱动的jar包的路径,这个jar包是自己下载的,可以下载最高版本的,然后放到某一目录,如下图。

AMBARI部署HADOOP集群(3)第6张

3.7进行远程数据库连接信息配置。选择 y

AMBARI部署HADOOP集群(3)第7张

3.8运行下面的命令。

ambari-server setup --jdbc-db=mysql --jdbc-driver=/opt/soft/mysql-connector-java-5.1.43.jar

虽然在上面的步骤中已经设置过了,但是不知道为什么,在后续安装 hive时,测试连接存储 hive元数据的数据库时,始终连不上。停掉 ambari-server后,运行上面的命令后,才能连接成功。

3.9 创建表

在MySQL中执行:使用root登陆。

mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.启动 ambari-server 。启动成功后,可以访问: http://<ip>:8080 用户和密码是: admin/admin

ambari-server start

(1)如果报如下的错误,

Starting ambari-server
ERROR: Exiting with exit code 1. 
REASON: Unable to detect a system user for Ambari Server.
- If this is a new setup, then run the "ambari-server setup" command to create the user
- If this is an upgrade of an existing setup, run the "ambari-server upgrade" command.
Refer to the Ambari documentation for more information on setup and upgrade.

运行下面的命令,设置ambari-server.user的值为 root,或者另外一个系统用户

vi /etc/ambari-server/conf/ambari.properties

(2)如果出现下面的错误,需要运行:yum install -y mysql-connector-java*

Starting ambari-server
Ambari Server running with administrator privileges.
ERROR: Exiting with exit code -1. 
REASON: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.

把上面 3.6步骤中的jar包复制到 /usr/shar/java目录下,不需要修改ambari.properties里的server.jdbc.driver.path的值(这个值在上面的步骤中已经设置了)。

cp /opt/soft/mysql-connector-java-5.1.43.jar /usr/share/java/ 
注意:/usr/share/java为JAVA_HOME目录。

(3)其它错误的话,可以查看启动日志

more /var/log/ambari-server/ambari-server.log

我事先没有创建库,会报数据库不存在的错误。如果报什么什么表不存在的话,需要把/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql中的初始化语句跑到数据库中。

mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.停止和查看ambari-server的状态

ambari-server stop
ambari-server status

免责声明:文章转载自《AMBARI部署HADOOP集群(3)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Chapter 1. Hello, Perl/TkSpring源码解析系列汇总下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQLServer 2008以上误操作数据库恢复方法——日志尾部备份

[置顶] SQLServer 2008以上误操作数据库恢复方法——日志尾部备份 分类: 数据库管理日志最佳实践常见问题备份还原误操作完整性SQL ServerDatabase企业管理DBA安全2013-01-10 20:48 34970人阅读 评论(59) 收藏举报 sql server误操作恢复log日志备份 目录(?)[-] 问题 解决方法...

【Linux】ODBC安装

ODBC介绍   ODBC是Open Database Connect 即开发数据库互连的简称,它是一个用于访问数据库的统一界面标准。ODBC引入一个公共接口以解决不同数据库潜在的不一致性,从而很好的保证了基于数据库系统的应用程序的相对独立性。   很多程序员都已经体会到了在Windows平台下通过ODBC进行数据库编程开发的益处,其实在Linux/Uni...

Mysql源码学习——源码目录结构

Mysql源码结构 目录清单 目录名 注释 Bdb 伯克利DB表引擎 BUILD 构建工程的脚本 Client 客户端 Cmd-line-utils 命令行工具 Config 构建工程所需的一些文件 Dbug Fred Fish的调试库 Docs 文档文件夹 Extra 一些相对独立的次要的工具 Heap HEAP表引擎 Include 头文件 Innob...

CentOS 7.8 搭建LNMP(Linux+Nginx+MySQL+PHP)

安装前的准备-配置selinux和防火墙 1,临时(永久)关闭selinux 为什么要关闭selinux(centos默认开启的安全加强的linux,详细问度娘),避免selinux的默认文件权限的限制,导致安装失败。操作如下:查看SELinux状态命令:命令:/usr/sbin/sestatus -v如果SELinux status参数为enabled即...

QNAP container station安装 docker-mysql

打开container station,即docker,安装MySQL 选择最新的即可 点击创建后,就慢慢等待下载完成即可~ ,下载完成后会自动启动 尝试登陆mysql 密码在启动日志里,所以我们接下去找一下 执行如下命令mysql -u root -p密码复制过来,进入MySQL 到此就安装成功了,之后可进行修改密码和允许远程访问操作...

yum 安装 Mysql error ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 开启远程连接 修改登入密码 忘记root密码 配置防火墙规则 随手mark

yum 安装 MYsql:        yum install mysql mysql-server mysql-devel -y 1.1 登入报错: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 解决办法:# service...