Ambari有三种安装方式,
<1>源码安装,这个可以后期有自己的特定需求在考虑,
<2>使用rmp安装
<3>yum安装,其中yum安装有两种方式
一种使用公共的库源(public repository),
第二种是搭建一个本地库(local repository)进行安装
准备工作
Linux操作系统的电脑,
具有网络连接
JAVA_HOME
Python
安装步骤:
<1>配置hosts。修改主机名并和IP地址对应。
其中172.19.100.190 是服务主机
gedit /etc/hosts
172.19.100.190 unix190
172.19.100.191 unix191
172.19.100.192 unix192
172.19.100.193 unix193
<2>配置ssh免登录
在所有从机器上都生成私钥和公钥
在unix191中 ssh-keygen -t rsa #一路回车
在unix192中 ssh-keygen -t rsa #一路回车
在unix193中 ssh-keygen -t rsa #一路回车
需要让机器间都能相互访问,就把每个机子上的id_rsa.pub发给master节点,传输公钥可以用scp来传输。
在unix191中 scp ~/.ssh/id_rsa.pub root@unix190:~/.ssh/id_rsa.pub.unix191
在unix192中 scp ~/.ssh/id_rsa.pub root@unix190:~/.ssh/id_rsa.pub.unix192
在unix193中 scp ~/.ssh/id_rsa.pub root@unix190:~/.ssh/id_rsa.pub.unix193
在unix190上,将所有公钥加到用于认证的公钥文件authorized_keys中
cat ~/.ssh/id_rsa.pub* >> ~/.ssh/authorized_keys
在unix190上,将公钥文件authorized_keys分发给每台slave
scp ~/.ssh/authorized_keys root@unix191:~/.ssh/
scp ~/.ssh/authorized_keys root@unix192:~/.ssh/
scp ~/.ssh/authorized_keys root@unix193:~/.ssh/
在每台机子上互相验证SSH无密码通信
在unix190上 ssh unix191
在unix191上 ssh unix192 ssh unix193 ssh 190
如果登陆测试不成功,则可能需要修改文件authorized_keys的权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能 )
chmod 600 ~/.ssh/authorized_keys
3.安装Ambari
安装Ambari, Ambari 的安装,目前网上能找到两个发行版,一个是 Apache 的 Ambari,另一个是 Hortonworks 的
确保 Yum 可以使用,Python安装,版本最好大于或等于2.6 python -V.确保JDK存在且版本符合要求
确保 home 目录的写权限。
Ambari 会创建一些 OS 用户
在主机unix190下输入命令:
将下载的 ambari.repo 文件拷贝到 Linux 的系统目录/etc/yum.repos.d/。拷贝完后,我们需要获取该公共库的所有的源文件列表。。
wget -nv http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.0.0/ambari.repo -O /etc/yum.repos.d/ambari.repo
依次执行以下命令
yum clean all
yum list|grep ambari
安装:yum install ambari-server
配置:ambari-server setup
启动:ambari-server start
登录管理页面:登录URL:http://172.19.100.190:8080/ <如果打不开,查看网络以及防火墙、和httpd服务>
4.利用 Ambari 扩展集群
利用 Ambari 搭建好的集群,可以通过 Ambari 来扩展。
这里的步骤其实类似于 Add Service,只是少了选择 Master 的页面。下面是详细的描述。
第一步,需要打开 Hosts 页面,然后点击左上角的 Actions,在下拉列表中选择“Add New Hosts”。
第二步,在 Add Host Wizard 需要输入新增的机器名(包含完整域名)以及 Ambari Service 机器上生成的私钥
第三步,需要部署已安装 Service 的 Slave 模块和 Client 模块。
第四步,选择对应的 Service 的配置。这里 Ambari 为用户已经选择了默认的配置。选择完后,便会开始安装 Ambari Agent 到新的机器,并且安装选择的模块。
当 Add Host Wizard 完成时,我们就可以从 Hosts 的页面中看到新的机器,以及安装的模块(Component)。
注意事项:
0) 权限
1.使用的是root登录,所以不需要使用sudo,如果不是root用户,注意使用中的权限问题。
2.设置各个计算机的IP地址,配置host,设置ip和主机名的映射
<设置IP地址可以使用命令行或者图形界面>
3.确保 Yum 可以使用,使用yum安装可以解决很多依赖问题
通过公共库(public repository),安装 Hadoop 这些软件,背后其实就是应用 Yum 在安装公共库里面的 rpm 包。
所以这里需要您的机器都能访问 Internet。
如果是使用虚拟机连接内网构建,则需要
1.虚拟机的网络设置成"桥接网络",并将高级设置 设置为允许全部连接
2.ip设置成固定ip
3. 虚拟机中的防火墙设置 iptables DNS设置
1)SSH免密码大致流程
1.在客户机创建一对密钥文件,包括公钥文件(~/.ssh/id_rsa.pub) 私钥文件(~/.ssh/id_rsa).
2.把公钥放到服务器上(~/.ssh/authorized_keys),在使用ssh登录时,
ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以自动登录
0.SSH 服务
一般默认CentOS已经安装了OpenSSH,查看ssh服务的状态
输入以下命令:
root 用户直接:service sshd status
root用户前面加:sudo service sshd status
如果没有安装,则使用以下命令
安装SSH:yum install ssh
启动SSH:service sshd start
设置开机运行:chkconfig sshd on
2)开机自启动网络
主机190网络是 cat /etc/sysconfig/network-scripts/ifcfg-lo
查看191-193:cat /etc/sysconfig/network-scripts/ifcfg-Auto_eth1
修改/etc/sysconfig/network-scripts/ifcfg-eth0文件,将onboot 改为onboot = yes
vim /etc/sysconfig/network-scripts/ifcfg-eth0
onboot = yes
3)设置时间同步,所有机器
service ntpd status
每个节点都要要开启ntp服务
chkconfig ntpd on
service ntpd start
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #设置时区为北京时间,这里为上海,因为centos里面只有上海。。。
ntpdate 172.19.100.190 #时间同步,同步成功的标志如下
Nov 18:40:50 ntpdate[23265]: step time server 172.19.100.190 offset -516.333097 sec
如果没有成功,关闭之后再重新设置
没有安装ntpdate的可以yum一下 yum install -y ntpdate
加入定时计划任务,每隔1分钟同步一下时钟<时间设置1分钟>
crontab -l ##查看
crontab -e
把下面的内容粘贴进去保存即可 按下a,进入编辑模式,复制到里面,然后按下ESC键输入以下内容退出, :wq
0-59/1 * * * * /usr/sbin/ntpdate 172.19.100.190 | logger -t NTP
4)关防火墙:
/etc/init.d/iptables status
/etc/init.d/iptables stop ##即时关闭
chkconfig iptables off # 永久关闭,重启生效
防火墙还需要关闭ipv6的防火墙:
/etc/init.d/ip6tables stop
chkconfig ip6tables off
并且可以通过如下命令查看状态:
chkconfig --list iptables
5)关SELINUX
查看selinux状态,如果为SELinux status enable则表示为开启:
/usr/sbin/sestatus -v
cat /etc/selinux/config
查看selinux的模式 # getenforce
关闭selinux:
# 即时临时性关闭(立即生效,但是重启服务器后失效)
setenforce 0 #设置selinux为permissive模式(即关闭)
#setenforce 1 #设置selinux为enforcing模式(即开启)
# 永久性关闭(这样需要重启服务器后生效)
修改/etc/selinux/config 文件,将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config
SELINUX=disabled
或者直接sed替换
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
查看内核有无关闭
cat /boot/grub/menu.lst
6) 安装JDK,并且设置路径
检查系统原版本: java -version
rpm -qa | grep java
卸载:
安装相应的JDK版本:
下载jdk1.8 并且安装,待安装完毕
配置环境变量并配置java环境变量,在/etc/profile末尾添加如下代码:
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
使修改生效:执行source /etc/profile生效
查看系统环境状态 echo $PATH
在命令行执行java -version 如下代表JAVA安装成功.
相关解释
chkconfig 命令也可以用来激活和解除服务。
chkconfig –list 命令显示系统服务列表,以及这些服务在运行级别0到6中已被启动(on)还是停止(off)。
PackageKit 个自由且开源的应用软件套装 有可能会影响。禁止PackageKit
这个步骤每台都需要做,因为在使用yum安装期间有可能导致yum被锁,安装过程报错。agent会用到yum安装hadoop及上层组件,而server也要用yum安装ambari。
vi /etc/yum/pluginconf.d/refresh-packagekit.conf 修改其中配置将enabled后面数值置0。
以上操作,进行重启 reboot
参考:
https://cwiki.apache.org/confluence/display/AMBARI/Start+Guide+Using+Centos+6.x 官方Start Guide Using Centos 6.x
http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/index.html Ambari——大数据平台的搭建利器
http://blog.csdn.net/javastart/article/details/51780797 Ambari——大数据平台的搭建利器之进阶篇
https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.0.0/bk_ambari_reference_guide/content/_download_the_ambari_repo.html 安装指南
https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.0.0/bk_ambari_reference_guide/content/_install_the_ambari_agents_manually.html
http://www.cnblogs.com/scotoma/archive/2013/05/18/3085040.html Ambari,hadoop的配置,管理和监控项目入门
http://blog.csdn.net/levy_cui/article/details/52461377 升级ambari、HDP版本(ambari 2.1升级到2.4、HDP2.3升级到2.5)
https://cwiki.apache.org/confluence/display/AMBARI/Installation+Guide+for+Ambari+2.4.1 apache安装官方教程
http://docs.hortonworks.com/HDPDocuments/Ambari-2.4.1.0/bk_ambari-installation/content/determine_stack_compatibility.html 大数据Hortonworks公司文档