ambari2.7.3实现免登录(Ambari入门实战)
ambari2.7.3实现免登录(Ambari入门实战)利用Ambari Alert Framework进行系统警报,并在需要您注意时通知您(例如,节点出现故障,剩余磁盘空间不足等)。利用ambari指标系统进行指标收集。处理群集的Hadoop服务配置。提供集中管理,用于在整个集群中启动,停止和重新配置Hadoop服务。提供了一个仪表板,用于监控Hadoop集群的运行状况和状态。
一、Ambari简述1、什么是Ambari
Apache Ambari项目旨在通过开发用于配置,管理和监控Apache hadoop集群的软件来简化Hadoop管理。Ambari提供了一个直观,易用的Hadoop管理Web UI。
2、Ambari的功能
提供了跨任意数量的主机安装Hadoop服务的分步向导。
处理群集的Hadoop服务配置。
提供集中管理,用于在整个集群中启动,停止和重新配置Hadoop服务。
提供了一个仪表板,用于监控Hadoop集群的运行状况和状态。
利用ambari指标系统进行指标收集。
利用Ambari Alert Framework进行系统警报,并在需要您注意时通知您(例如,节点出现故障,剩余磁盘空间不足等)。
二、环境准备
注意:以下操作三台机器都需要进行(配置好对应主机的网络IP、主机名称、关闭防火墙)
安装JDK、3台机器SSH免密登录配置等
1、关闭SELINUX
[root@hadoop1 ~]# vim /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled
[root@hadoop2 ~]# vim /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled
[root@hadoop3 ~]# vim /etc/sysconfig/selinux
将SELINUX=enforcing改为SELINUX=disabled
执行该命令后,三台都要重启机器生效
2、修改yum源为阿里云镜像
[root@hadoop1 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
[root@hadoop2 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
[root@hadoop3 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bk
[root@hadoop1 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@hadoop2 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[root@hadoop3 yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
//把服务器的包下载到本地缓存
[root@hadoop1 ~]# yum makecache
[root@hadoop2 ~]# yum makecache
[root@hadoop3 ~]# yum makecache
3、安装ntp
[root@hadoop1 ~]# yum install -y ntp
[root@hadoop1 ~]# systemctl start ntpd.service
[root@hadoop1 ~]# systemctl enable ntpd.service
[root@hadoop2 ~]# yum install -y ntp
[root@hadoop2 ~]# systemctl start ntpd.service
[root@hadoop1 ~]# systemctl enable ntpd.service
[root@hadoop3 ~]# yum install -y ntp
[root@hadoop3 ~]# systemctl start ntpd.service
[root@hadoop3 ~]# systemctl enable ntpd.service
4、关闭Linux的THP服务
如果不关闭transparent_hugepage,HDFS会因为这个性能严重受影响,关闭transparent_hugepage方法是
[root@hadoop1 ~]# vim /etc/default/grub
//添加参数
transparent_hugepage=never
[root@hadoop2 ~]# vim /etc/default/grub
//添加参数
transparent_hugepage=never
[root@hadoop1 ~]# vim /etc/default/grub
//添加参数
transparent_hugepage=never
另外,还需要配置这个参数:
[root@hadoop1 ~]# vim /etc/rc.local
//添加
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
[root@hadoop2 ~]# vim /etc/rc.local
//添加
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
[root@hadoop3 ~]# vim /etc/rc.local
//添加
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
当配置好后,三台机器需要重启,重启之后,用下面的命令检查:
[root@hadoop1 yum.repos.d]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never //有 [never]则表示THP被禁用
5、配置UMASK,设定用户所创建目录的初始权限(防止出差错)
[root@hadoop1 ~]# umask 0022
[root@hadoop2 ~]# umask 0022
[root@hadoop3 ~]# umask 0022
//禁止离线更新
[root@hadoop1 ~]# vim /etc/yum/pluginconf.d/langpacks.conf
修改:enabled=0
//禁止离线更新
[root@hadoop2 ~]# vim /etc/yum/pluginconf.d/langpacks.conf
修改:enabled=0
//禁止离线更新
[root@hadoop3 ~]# vim /etc/yum/pluginconf.d/langpacks.conf
修改:enabled=0
当配置好后,三台机器需要重启
三、安装Ambari集群
注意:以下操作主节点操作即可
制作本地源:制作本地源是因为在线安装Ambari太慢。制作本地源只需在主节点上进行。
1、配置HTTPD 服务
配置HTTPD 服务到系统层使其随系统自动启动
2、安装工具
安装本地源制作相关工具
[root@hadoop1 ~]# yum install yum-utils createrepo yum-plugin-priorities -y
[root@hadoop1 ~]# vim /etc/yum/pluginconf.d/priorities.conf
添加gpgcheck=0
[root@hadoop2 ~]# yum install yum-utils createrepo yum-plugin-priorities -y
[root@hadoop2 ~]# vim /etc/yum/pluginconf.d/priorities.conf
添加gpgcheck=0
[root@hadoop3 ~]# yum install yum-utils createrepo yum-plugin-priorities -y
[root@hadoop3 ~]# vim /etc/yum/pluginconf.d/priorities.conf
添加gpgcheck=0
3、上传工具包:ambari-2.5.0.3-centos6.tar.gz、HDP-2.6.0.3-centos6-rpm.tar.gz、HDP- UTILS-1.1.0.21-centos6.tar.gz
4、解压这三个包,到指定文件目录
[root@hadoop1 Ambari]# tar -zxvf /opt/software/ambari-2.5.0.3-centos6.tar.gz -C /var/www/html/
[root@hadoop1 Ambari]# mkdir /var/www/html/hdp
[root@hadoop1 Ambari]# tar -zxvf /opt/software/HDP-2.6.0.3-centos6-rpm.tar.gz -C /var/www/html/hdp
[root@hadoop1 Ambari]# tar -zxvf /opt/software/HDP-UTILS-1.1.0.21-centos6.tar.gz -C /var/www/html/hdp
5、创建本地源
[root@hadoop1 Ambari]# cd /var/www/html/
[root@hadoop102 html]# createrepo ./
6、将Ambari存储库文件下载到安装主机上的目录中
[root@hadoop102 yum.repos.d]# wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.1.5/ambari.repo -O /etc/yum.repos.d/ambari.repo
7、修改配置文件,配置为本地源,修改ambari.repo,配置为本地源
[root@hadoop1 html]# vim /etc/yum.repos.d/ambari.repo
#VERSION_NUMBER=2.6.1.5-3
[ambari-2.6.1.5]
name=ambari Version - ambari-2.6.1.5
baseurl=http://hadoop102/ambari/centos6/
gpgcheck=0
gpgkey=http://hadoop1.x/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
修改hdp-util.repo,配置为本地源
[root@hadoop1 centos6]#
vim /var/www/html/hdp/HDP/centos6/hdp.repo
#VERSION_NUMBER=2.6.0.3-8
[HDP-2.6.0.3]
name=HDP Version - HDP-2.6.0.3
baseurl=http://hadoop1.x/hdp/HDP/centos6/
gpgcheck=0
gpgkey=http://hadoop1.x/hdp/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
baseurl=http://hadoop1.x/hdp/
gpgcheck=0
gpgkey=http://hadoop1.x/hdp/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[root@hadoop102 ~]# yum clean all
[root@hadoop102 ~]# yum makecache
查看是否有Ambari
[root@hadoop102 ~]# yum repolist
查看Ambari 与 HDP 资源的资源库。
也可以打开浏览器查看一下:
http://hadoop1.x/ambari/centos6/
http://hadoop1.x/hdp/HDP/centos6/
http://hadoop1.x/hdp/
8、安装MySQL,忽略!
(1)进入MySQL
[root@hadoop102 mysql-libs]# mysql -uroot -p123456
(2)显示数据库
mysql>show databases;
(3)使用MySQL数据库
mysql>use mysql;
(4)展示MySQL数据库中的所有表
mysql>show tables;
(5)展示user表的结构
mysql>desc user;
(6)查询user表
mysql>select User Host Password from user;
(7)修改user表,把Host表内容修改为%
mysql>update user set host='%' where host='localhost';
(8)删除root用户的其他host
mysql>
delete from user where Host='hadoop102';
delete from user where Host='127.0.0.1';
delete from user where Host='::1';
(9)刷新
mysql>flush privileges;
(10)退出
mysql>quit;
9、安装Ambari
(1)安装ambari-server
[root@hadoop1 hdp]# yum install ambari-server
(2) 拷贝mysql驱动
将mysql-connector-JAVA.jar复制到/usr/share/java目录下并改名为mysql-connector-java.jar
[root@hadoop1 hdp]# mkdir /usr/share/java
[root@hadoop1 hdp]# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/mysql-connector-java.jar
将mysql-connector-java.jar复制到/var/lib/ambari-server/resources目录下并改名为mysql-jdbc-driver.jar
[root@hadoop1 hdp]# cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jar
修改ambari.properties文件
[root@hadoop1 hdp]# vim /etc/ambari-server/conf/ambari.properties
//添加
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
10、在MySQL中创建数据库
(1)创建ambari库
[root@hadoop1 hdp]# mysql -u root -p123456
mysql >create database ambari;
(2)使用Ambari自带脚本创建表
mysql >use ambari;
mysql>source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
(3)赋予用户root权限:
mysql> grant all privileges on *.* to 'root'@'%' identified by '123456';
(4)刷新
mysql> flush privileges;
11、配置Ambari,执行
[root@hadoop1 hdp]# ambari-server setup
下面是配置执行流程,按照提示操作
(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y
(2)ambari-server 账号。
Enter user account for ambari-server daemon (root):
如果直接回车就是默认选择root用户
(3)设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[1] Oracle JDK 1.8 Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 Java Cryptography Extension (JCE) Policy Files 7
[3] Custom JDK
==============================================================================
Enter choice (1): 3
如果上面选择3自定义JDK 则需要设置JAVA_HOME。输入:/opt/module/jdk1.8.0_144
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.
Path to JAVA_HOME: /opt/module/jdk1.8.0_144
Validating JDK on Ambari Server...done.
Completing setup...
(4)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y
(5)选择数据库类型。输入:3
Configuring database...
==================================================================
============
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
==============================================================================
Enter choice (3): 3
(6)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。如果想重命名,就输入。
Hostname (localhost):hadoop1.x
Port (3306):
Database name (ambari):
Username (ambari):root
Enter Database Password (bigdata):000000(这里不显示)
Re-Enter password:123456
(7)将Ambari数据库脚本导入到数据库
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 with configuring remote database connection properties [y/n] (y)?
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本。
12、启动Ambari
启动命令为:
ambari-server start
停止命令为:
ambari-server stop
四、HDP集群部署
1、集群搭建,进入登录页面
浏览器输入http://hadoop1.x:8080/
默认管理员账目密码:admin
点击Launch Install Wizard
设置集群名称
选择版本和存储库
填写本地库地址
在redhat6后面分别填写
http://hadoop1.x/hdp/HDP/centos6/
http://hadoop1.x/hdp/
填写主机地址以及主节点的id.rsa文件
等待安装
选择服务
选择每台机器的角色
设置从节点
输入两次admin
继续
等待服务安装和启动
2、安装Hive(1)在/path/to/mysql/目录下放置Mysql驱动,并重命名为:mysql-connector-java.jar
[root@hadoop1 ~]# mkdir -p /path/to/mysql/
[root@hadoop1 ~]# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /path/to/mysql/mysql-connector-java.jar
// 执行ambari-server setup
[root@hadoop1 ~]# ambari-server setup --jdbc-db=mysql --jdbc-driver=/path/to/mysql/mysql-connector-java.jar
点击添加服务
选择hive
分配节点
分配从属和客户端
3、配置hive数据库连接点击下一步
等待安装
4、配置HDFS-HA添加服务
填写nameservice名称
角色分配
直接下一步
安装提示执行命令
安装组件
根据页面提示操作
等待启动组件
安装页面提示初始化NameNode HA
等待完成
报select错误
yum -y erase hdp-select