热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ambari环境搭建

一、准备工作1.1、准备三台CentOS1.2、配置静态IP、DNSvietcsysconfignetworkscriptsficfgens33IPADDR为配置的ipNETMAS

一、准备工作

1.1、准备三台CentOS

1.2、配置静态IP、DNS

vi /etc/sysconfig/network-scripts/ficfg-ens33

IPADDR为 配置的ip

NETMASK 子网掩码

GATEWAY 网关

配置保存后重启虚拟网络

service
network restart

 
 

1.3、配置Hostname

vi
/etc/hostname#将第一行替换成新名字master

配置hosts文件

vi /etc/hosts 192.168.2.171 master192.168.2.172 slave1192.168.2.173 slave2

hostname和hosts改完之后,统一把所有机器重启一遍!让配置生效!

1.4、关闭防火墙与SElinux

关闭防火墙

systemctl stop firewalld.servicesystemctl disable firewalld.service

查看状态

firewall-cmd --state

 
 

关闭Selinux

vi /etc/sysconfig/selinux

将SELINUX=enforcing改为SELINUX=disabled,执行该命令后重启机器生效

1.5、SSH免密登陆

  • 在每个节点上分别执行命令行输入:ssh-keygen -t rsa , 一直按回车或Yes直到生成结束(执行结束之后每个节点上的/root/.ssh/目录下生成了两个文件 id_rsa 和 id_rsa.pub其中前者为私钥,后者为公钥)
  • 在主节点上执行命令行输入:cat id_rsa.pub >> authorized_keys
  • 将两个子节点的公钥拷贝到主节点上,分别在两个子节点上执行:

ssh-copy-id root@slave1ssh-copy-id root@slave2

  • 在其他两个节点上,一次执行上面操作,先生成rsa,然后同步将公钥拷贝到其他机器上,拷贝过程中需要输入目标机器的密码其他节点重复主节点操作

1.6、修改YUM源

下载wget:

yum -y install wget

  • 改用阿里云镜像站点,备份本地yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

  • 获取阿里yum源配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

 
 

1.7、JDK1.8

  • 下载上传jd k1.8到三台服务器
  • 解压 tar -zxvf jdk-8u251-linux-x64.tar.gz
  • 改个名 mv jdk1.8.0_251 jdk1.8
  • vi /etc/profile

#JAVAexport JAVA_HOME=/usr/local/java/jdk1.8export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib


 

source /etc/profile

1.8、NTP时间同步

安装ntp : yum -y install ntp

  • Master依次输入以下命令

systemctl is-enabled ntpdsystemctl enable ntpdsystemctl start ntpdvi /etc/ntp.conf

restrict
127.0.0.1restrict
::1#Hosts on local network are less restricted.#restrict 192.168.1.0 mask 255.255.255.0 nomodify notraprestrict
192.168.10.0
mask
255.255.240.0
nomodify
notrap
//允许的网络字段连接ip限制server
127.127.1.0
//以本机时间为准fudge
127.127.1.0
stratum
10#server 0.centos.pool.ntp.org iburst //全部注释掉#server 3.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst

  • 其他节点配置如下

vim /etc/ntp.conf


 

server ambari-1
//指定ntp 服务器,为ambari-1\#server 0.centos.pool.ntp.org iburst //全部注释掉\#server 1.centos.pool.ntp.org iburst\#server 3.centos.pool.ntp.org iburst\#server 2.centos.pool.ntp.org iburst


 

在所有节点启动ntp服务:systemctl start ntpd.service

检查是否成功用"ntpstat"命令查看同步状态,出现以下状态代表启动成功

[root@slave1 ~]# ntpstatsynchronised to NTP server (192.168.75.131) at stratum 4
time correct to within 1019 ms polling server every 64 s

ps:一般需要等待5-10分钟才可以正常同步。

如果发现时间与当前PC端时间不对,可以采用手动设置时区:timedatectl set-timezone "Asia/Shanghai"

(这里是设置亚洲上海上海)

1.9、安装HTTP服务器

安装:yum install httpd -y启动:systemctl start httpd.service开机启动:systemctl enable httpd.service

修改http文件服务器的文件目录配置文件sudo vi /etc/httpd/conf/httpd.conf例如要配置访问目录为: /appdata/logs找到DocumentRoot "/var/www/html"修改根目录为 /appdata/logs找到Directory一、修改 # Relax access 下的Directory二、修改 # Further relax access to the default document root: 下的Directoryhttpd服务器开启目录sudo vi /etc/httpd/conf.d/welcome.conf把Options -Indexes中的减号改为加号此处作用为访问目录的时候能显示目录结构

1.10、安装MySQL


1.11、安装mysql jdbc

mkdir /usr/share/java

mysqld的相关jar可以从https://downloads.mysql.com/archives/c-j/中下载

直接下载的mysql-connector-java-5.1.49.jar包,放在/usr/share/java 下面

1.12、搭建数据库

MySQL安装完成后创建ambari数据库及用户,登录root用户执行下面语句:

USER 后是用户名IDENTIFIED BY后面是用户登录密码可自己修改

登陆mysql 然后创建如下数据库()

create
database ambari character
set utf8 ; CREATE
USER
‘ambari‘@‘%‘IDENTIFIED
BY
‘Ambari-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘ambari‘@‘%‘
IDENTIFIED
BY
‘Ambari-123‘;FLUSH
PRIVILEGES;

如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

create
database hive character
set utf8 ; CREATE
USER
‘hive‘@‘%‘IDENTIFIED
BY
‘Hive-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘hive‘@‘%‘
IDENTIFIED
BY
‘Hive-123‘;FLUSH
PRIVILEGES;

如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:

create
database oozie character
set utf8 ; CREATE
USER
‘oozie‘@‘%‘IDENTIFIED
BY
‘Oozie-123‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘oozie‘@‘%‘
IDENTIFIED
BY
‘Oozie-123‘;FLUSH
PRIVILEGES;

如果要安装hue,再创建hue数据库和用户 再执行下面的语句:

create
database hue character
set utf8 ;CREATE
USER
‘hue‘@‘%‘IDENTIFIED
BY
‘Hue-1234‘;GRANT
ALL
PRIVILEGES
ON *.* TO
‘hue‘@‘%‘
IDENTIFIED
BY
‘Hue-1234‘;FLUSH
PRIVILEGES;

二、安装Ambari

2.1、下载 Ambari HDP、HDP-UTILS、 HDP-GPL源包(文件很大,需要很长下载时间,请耐心等待。。。)建议直接通过迅雷下载好再上传到服务器。

http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari-2.6.2.2-centos7.tar.gzhttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/HDP-2.6.5.0-centos7-rpm.tar.gzhttp://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.22/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gzhttp://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/HDP-GPL-2.6.5.0-centos7-gpl.tar.gzhttp://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.2.2/ambari.repohttp://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.5.0/hdp.repohttp://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.5.0/hdp.gpl.repo

2.2、安装本地源相关工具

将下载好的源上传到 的 /var/www/html 目录下,因为文件比较多,我自己在html下新建了一个ambari文件夹,把四个文件放在ambari下面,结构如下:

还记得我们之前安装的HTTP服务器了么,这时候在浏览器输入:http://192.168.75.131/ambari/ ,便可以看见刚刚我们上传的文件

技术分享图片

接下来,我们安装制作本地源工具

yum install yum-utils createrepo yum-plugin-priorities -ycreaterepo ./

2.3、配置ambari、HDP、HDP-UTILS的本地源

cd /etc/yum.repos.d/ 将我们下载的.repo文件放到这下面

vim ambari.repo


 

#VERSION_NUMBER=2.6.2.2-1[ambari-2.6.2.2]name=ambari Version - ambari-2.6.2.2baseurl=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/gpgcheck=1gpgkey=http://192.168.75.131/ambari/ambari/centos7/2.6.2.2-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

其中 baseurl路径与gpgkey需要根据自己的实际解压路径来,否则makecache不能成功

baseurl最后端都要加/,否则后面会报错

保存并退出

vim hdp.repo#VERSION_NUMBER=2.6.5.0-292[HDP-2.6.5.0]name=HDP-2.6.5.0baseurl=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1
[HDP-UTILS-1.1.0.22]name=HDP-UTILS Version - HDP-UTILS-1.1.0.22/baseurl=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

保存并退出

vim hdp.gpl.repo


 

SION_NUMBER=2.6.5.0-292[HDP-GPL-2.6.5.0]name=HDP-GPL Version - HDP-GPL-2.6.5.0baseurl=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/gpgcheck=1gpgkey=http://192.168.75.131/ambari/HDP-GPL/centos7/2.6.5.0-292/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

保存并退出

将这三个文件发送到其他节点,否则以后会报错

紧接着制作源:

yum
clean all //清除YUM缓存yum
makecache //建立缓存yum
repolist

2.4将ambari数据库脚本导入到数据库

用ambari用户(上面设置的用户)登录mysql

mysql -u ambari -puse ambarisource /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

按照上面ambari用户无法直接查看到ambari这db 有两种办法可以处理。

第一种:给ambari用户本地化查看权限

CREATE USER ‘ambari‘@‘localhost‘ IDENTIFIED BY ‘Ambari-123‘;

GRANT ALL PRIVILEGES ON ambari.* TO ‘ambari‘@‘localhost‘;

然后就可以执行上面的操作,初始化ambari的sql脚本

第二种:将sql脚本导出到windows下面,然后通过远程连接可以直接用ambari登录,然后采用执行sql脚本也可以达到效果。

技术分享图片

 
 

2.5安装Ambari

安装Ambari

yum install ambari-server -y

 
 

配置Ambari

ambari-server setup

 
 

下面是配置执行流程,按照提示操作

  • 提示是否自定义设置。输入:y

技术分享图片

  • ambari-server 账号。输入:ambari

技术分享图片

  • 设置JDK。输入:3

技术分享图片

  • 如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/local/jdk/jdk1.8(看自己安装的位置)

技术分享图片

  • 使Ambari服务器能够下载和安装GPL许可的LZO包,输入: y

技术分享图片

  • 数据库配置。选择:y

技术分享图片

  • 选择数据库类型。输入:3

技术分享图片

  • 设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。Ambari-123(上面数据库创建的时候的密码,如果输入错误,后面无法创建成功)

技术分享图片

  • 配置完成

技术分享图片

2.6 配置/usr/share/java下的java包

cd /usr/share/javamv mysql-connector-java-5.1.40.jar /usr/share/java/mysql-connector-java.jarcp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/mysql-jdbc-driver.jarvi /etc/ambari-server/conf/ambari.properties 添加server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar

2.7启动Amabri

ambari-server start

 
 

2.8 datanode 目录设置 can‘t start with home(s) in ambari

isAllowedDir: function(value) { var dirs = value.replace(/,/g,‘ ‘).trim().split(new RegExp("\\s+", "g")); for(var i = 0; i

三、使用Ambari界面安装Hadoop、Hbase、Log Search服务

3.1、成功启动后在浏览器输入Ambari地址:http://192.168.75.131:8080  默认用户名admin 密码admin  系统中的用户如果是已知的全部是同名同密码比如hive的密码就是hive,如果未知的组件 密码全部为admin 与系统初始密码一致。

技术分享图片

3.2、登录成功后出现下面的界面,至此Ambari的安装成功

技术分享图片

安装安装HDP 2.5.3 配置集群(点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置)

3.3设置集群名称

技术分享图片

3.4选择版本

这里选择如下,把离线下载的文件的路径按照格式填写进去,一定要可以访问到。

技术分享图片

3.5设置集群机器(下载master机器上的id_rsa私钥到本地)主节点钥匙

技术分享图片

点击register后报错

如果是python版本过高引起的ssl错误,降低python版本,目前我采用Python 2.7.5 是可以直接安装的,不需要另外降低版本

使用如下命令,在ambari-agent.ini的security底下添加和在.cfg的https底下添加(针对所有节点

  • vim /etc/ambari-agent/conf/ambari-agent.ini

[security]force_https_protocol=PROTOCOL_TLSv1_2

  • vim /etc/python/cert-verification.cfg

[https]verify=disable

  •  

3.6Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作)

技术分享图片

3.7选择要安装的服务,对于不太清楚的人员,建议采用默认选择,避免引起组件缺失导致系统安装之后的问题

技术分享图片

3.8各个服务Master配置

技术分享图片

3.9服务的Slaves 和 Clients节配置

技术分享图片

3.10服务的客制化配置,如果存在报警,请即使修改地址或者增加密码

技术分享图片

3.11显示配置信息

技术分享图片

3.12开始安装

技术分享图片


 

技术分享图片

3.13安装成功

技术分享图片


 


推荐阅读
  • 深入理解ExtJS:从入门到精通
    本文详细介绍了ExtJS的功能及其在大型企业前端开发中的应用。通过实例和详细的文件结构解析,帮助初学者快速掌握ExtJS的核心概念,并提供实用技巧和最佳实践。 ... [详细]
  • 深入理解动态链接库及其应用
    本文将探讨动态链接库的基本概念,包括Windows下的动态链接库(DLL)和Linux下的共享库(Shared Library),并详细介绍如何在Linux环境中创建和使用这些库。 ... [详细]
  • 请看|间隔时间_Postgresql 主从复制 ... [详细]
  • 探讨 HDU 1536 题目,即 S-Nim 游戏的博弈策略。通过 SG 函数分析游戏胜负的关键,并介绍如何编程实现解决方案。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • CentOS 系统管理基础
    本文介绍了如何在 CentOS 中查询系统版本、内核版本、位数以及磁盘分区的相关知识。通过这些命令,用户可以快速了解系统的配置和磁盘结构。 ... [详细]
  • 本文探讨了C++编程中理解代码执行期间复杂度的挑战,特别是编译器在程序运行时生成额外指令以确保对象构造、内存管理、类型转换及临时对象创建的安全性。 ... [详细]
  • ListView简单使用
    先上效果:主要实现了Listview的绑定和点击事件。项目资源结构如下:先创建一个动物类,用来装载数据:Animal类如下:packagecom.example.simplelis ... [详细]
  • 本文详细介绍了get和set方法的作用及其在编程中的实现方式,同时探讨了点语法的使用场景。通过具体示例,解释了属性声明与合成存取方法的概念,并补充了相关操作的最佳实践。 ... [详细]
  • 深入剖析JVM垃圾回收机制
    本文详细探讨了Java虚拟机(JVM)中的垃圾回收机制,包括其意义、对象判定方法、引用类型、常见垃圾收集算法以及各种垃圾收集器的特点和工作原理。通过理解这些内容,开发人员可以更好地优化内存管理和程序性能。 ... [详细]
  • 本文详细探讨了Java中的包管理机制,包括默认包的使用和自定义包名的创建方法。通过实际操作,帮助开发者更好地理解和应用包管理。 ... [详细]
  • 本文深入探讨了 Exchange Server 2010 中客户端访问的代理和重定向机制,特别是在跨站点环境中如何配置这些功能以确保用户能够顺利访问邮箱服务。通过详细解析不同场景下的应用,帮助管理员更好地理解和实施相关设置。 ... [详细]
  • Python notes
    6.1.1.执行模块当你用下面的方式运行一个Python模块pythonfibo.py模块中的代码将会被执行,就像导入它一样,不过此时__name__被设置为__main__。 ... [详细]
  • 本文旨在回顾并总结近期学习的.NET Core基础知识,通过具体的操作指南加深理解,并为初学者提供实用建议,避免常见的错误和陷阱。内容涵盖CentOS的安装配置、.NET Core环境搭建及网站部署等。 ... [详细]
author-avatar
mobiledu2502923007
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有