Ambari在离线环境中安装Hadoop集群

(WJW)Ambari在离线环境中安装Hadoop集群

     若是手工安装Hadoop集群,在管理和后继部署中,愈来愈多的问题不断出现,主要以下:html

  • 各集群节点的配置同步
  • 新应用的部署:好比为集群添加hbase应用,须要很细心复杂的配置才能完成,并且要是操做错误,还可能致使正常的集群崩溃
  • 新集群节点增长:同上
  • 集群架构调整:好比原来hdfs的namenode和ResourceManager等应用主节点都是放到一台服务器上的,当应用多后,须要调整独立,发现异常复杂
  • Hadoop集群监控 Apache有个项目Ambari能很好的解决上述全部问题!

     Ambari 跟 Hadoop 等开源软件同样,也是 Apache Software Foundation 中的一个项目,而且是顶级项目.目前最新的发布版本是 2.1.2.
就 Ambari 的做用来讲,就是建立,管理,监视 Hadoop 的集群,可是这里的 Hadoop 是广义,指的是 Hadoop 整个生态圈(例如 Hive,Hbase,Sqoop,Zookeeper 等),而并不只是特指 Hadoop.
用一句话来讲,Ambari 就是为了让 Hadoop 以及相关的大数据软件更容易使用的一个工具.
     说到这里,你们就应该明白什么人最须要 Ambari 了.那些苦苦花费好几天去安装,调试 Hadoop 的初学者是最能体会到 Ambari 的方便之处的.
并且,Ambari 如今所支持的平台组件也愈来愈多,例如流行的 Spark,Storm 等计算框架,以及资源调度平台 YARN 等,咱们都能轻松地经过 Ambari 来进行部署.
     Ambari 自身也是一个分布式架构的软件,主要由两部分组成:Ambari Server 和 Ambari Agent.简单来讲,用户经过 Ambari Server 通知 Ambari Agent 安装对应的软件;
Agent 会定时地发送各个机器每一个软件模块的状态给 Ambari Server,最终这些状态信息会呈如今 Ambari 的 GUI,方便用户了解到集群的各类状态,并进行相应的维护.java

     生产中的hadoop集群机器都不少,并且基本都不容许链接公网,为方便快速部署,很是有必要创建一个本地Repository,使Ambari在离线环境中安装Hadoop集群!node


[X] 安装环境:

  • 系统版本:CentOS 6.3 x86_64
  • JAVA版本:JDK-1.7.x
  • 确保机器的 Python 版本大于或等于2.6
  • 服务器列表:

192.168.68.17 T1.youyuan.cn #Ambari Server,namenode1,resourcemanagerlinux

192.168.68.18 T2.youyuan.cn #Ambari Agent,namenode2,journalnode1,datanode1,nodemanager1web

192.168.68.20 T3.youyuan.cn #Ambari Agent,journalnode2,datanode2,nodemanager2sql

192.168.68.21 T4.youyuan.cn #Ambari Agent,journalnode3,datanode3,nodemanager3数据库

  • SSL

须要openssl的1.0以上版本!vim

yum install openssl
或者
yum upgrade openssl
  • JDK

建议安装Sun的JDK1.7版本! 安装完毕并配置java环境变量,在/etc/profile末尾添加以下代码:
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
保存退出便可,而后执行source /etc/profile生效.在命令行执行java -version 以下表明JAVA安装成功.centos

  • ssh

须要配置各个节点的免密码登陆!
首先在本身机器上使用ssh-keygen -t rsa
会要求输入密码(必须为空),回车几回,而后会在HOME目录下生成.ssh文件夹,
里面有私钥和公钥,公钥为~/.ssh/id_rsa.pub,私钥为~/.ssh/id_rsa.
配置本地的免登陆 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
如今你须要将你的公钥拷贝到服务器上,若是你的系统有ssh-copy-id命令,拷贝会很简单:ssh-copy-id 用户名@服务器名, 不然,你须要手动将你的私钥拷贝到服务器上的~/.ssh/authorized_keys文件中!scp ~/.ssh/authorized_keys T1.youyuan.cn:/root/.ssh/ bash

  • NTP

集群的时钟要保证基本的一致.稍有不一致是能够容忍的,可是很大的不一致会 形成奇怪的行为. 运行 NTP 或者其余什么东西来同步你的时间.
若是你查询的时候或者是遇到奇怪的故障,能够检查一下系统时间是否正确!

echo "server 192.168.0.2" >> /etc/ntp.conf  
chkconfig ntpd on  
service ntpd restart  
ntpq -p
  • ulimit和nproc

Hdaoop会在同一时间使用不少的文件句柄.大多数linux系统使用的默认值1024是不能知足的,修改/etc/security/limits.conf文件为:

*               soft    nproc   16384
      *               hard    nproc   16384  
      *               soft    nofile  65536  
      *               hard    nofile  65536

  • 修改 192.168.68.17,192.168.68.18,192.168.68.20,192.168.68.21etc/hosts文件 在文件最后添加:
192.168.68.17  T1.youyuan.cn
192.168.68.18  T2.youyuan.cn
192.168.68.20  T3.youyuan.cn 
192.168.68.21  T4.youyuan.cn

  • 禁止 PackageKit
pkill -9 packagekitd
vim /etc/yum/pluginconf.d/refresh-packagekit.conf

将内容改成enabled=0


[X] 安装Ambari Server

在T1上操做

[1] 安装基本软件并配置:

yum install yum-utils createrepo yum-plugin-priorities
yum install httpd

编辑/etc/yum/pluginconf.d/priorities.conf,修改成以下:

[main]
enabled=1
gpgcheck=0

设置httpd:

chkconfig httpd on
service httpd start

[2] 下载主要资源并配置:

采用P2P下载工具(如迅雷等)下载上述主要资源的完整包,再上传到本地源服务器进行部署.

CenOS最新镜像下载点:http://isoredirect.centos.org/centos/6/isos/x86_64/
下载后挂载,并拷贝全部内容到/var/www/html/centos6:

mount -o loop /data/install/CentOS-6.7-x86_64-bin-DVD/CentOS-6.7-x86_64-bin-DVD1.iso  /media
cp -r /media /var/www/html/centos6
umount /media

下载拷贝HDP-2.3.2.0和HDP-UTILS-1.1.0.20并解压到/var/www/html/hdp:

cd /data/temp
wget -O HDP-2.3.2.0-centos6-rpm.tar.gz http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.3.2.0/HDP-2.3.2.0-centos6-rpm.tar.gz
wget -O HDP-UTILS-1.1.0.20-centos6.tar.gz http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz
mkdir -p /var/www/html/hdp
tar xf HDP-2.3.2.0-centos6-rpm.tar.gz -C /var/www/html/hdp
tar xf HDP-UTILS-1.1.0.20-centos6.tar.gz -C /var/www/html/hdp

下载拷贝Ambari-2.1.2并解压到/var/www/html/ambari

wget -O ambari-2.1.2-centos6.tar.gz http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.1.2/ambari-2.1.2-centos6.tar.gz
mkdir -p /var/www/html/ambari
tar xf ambari-2.1.2-centos6.tar.gz -C /var/www/html/ambari

完成后结构以下:

[root@Ambari ~]#cd /var/www/html/
[root@yum html]#tree -L 2
.
├── ambari
│   └── ambari-2.1.2
├── centos6
│   ├── CentOS_BuildTag
│   ├── EFI
│   ├── EULA
│   ├── GPL
│   ├── images
│   ├── isolinux
│   ├── Packages
│   ├── RELEASE-NOTES-en-US.html
│   ├── repodata
│   ├── RPM-GPG-KEY-CentOS-6
│   ├── RPM-GPG-KEY-CentOS-Debug-6
│   ├── RPM-GPG-KEY-CentOS-Security-6
│   ├── RPM-GPG-KEY-CentOS-Testing-6
│   └── TRANS.TBL
└── hdp
    ├── HDP
    └── HDP-UTILS-1.1.0.20
    
11 directories, 9 files

建立完成后,就能够经过web路径访问测试了(路径可能不一样):http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/,输出:

Index of /ambari/ambari-2.1.2/centos6

[ICO]	Name	Last modified	Size	Description
[DIR]	Parent Directory	 	-	 
[DIR]	RPM-GPG-KEY/	03-Oct-2015 22:48	-	 
[DIR]	ambari/	03-Oct-2015 22:48	-	 
[   ]	build.id	03-Oct-2015 22:48	566	 
[TXT]	build_metadata.txt	03-Oct-2015 22:48	196	 
[TXT]	changelog.txt	03-Oct-2015 22:48	0	 
[DIR]	repodata/	03-Oct-2015 22:48	-	 

Apache/2.2.15 (CentOS) Server at t1.youyuan.cn Port 80

[3] 配置本地repo文件:

在各个节点上都要操做!把原来的repo文件屏蔽掉

cd /etc/yum.repos.d/
rename .repo .repoBAK *.repo
#恢复指令
#cd /etc/yum.repos.d/
#rename .repoBAK .repo *.repoBAK

新建CentOS-Media.repo配置文件vi /etc/yum.repos.d/CentOS-Media.repo: 文件内容以下:

[CentOS6-Media]
name=CentOS6-Media
baseurl=http://T1.youyuan.cn/centos6
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[Ambari-2.1.2]
name=Ambari-2.1.2
baseurl=http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/
gpgcheck=0
enabled=1

[HDP-2.3.2.0]
name=HDP-2.3.2.0
baseurl=http://T1.youyuan.cn/hdp/HDP/centos6/2.x/updates/2.3.2.0
gpgcheck=0
enabled=1

[HDP-UTILS-1.1.0.20]
name=HDP-UTILS-1.1.0.20
baseurl=http://T1.youyuan.cn/hdp/HDP-UTILS-1.1.0.20/repos/centos6
gpgcheck=0
enabled=1

新建ambari.repo配置文件vi /etc/yum.repos.d/ambari.repo: 文件内容以下:

[Ambari-2.1.2]
name=Ambari-2.1.2
baseurl=http://T1.youyuan.cn/ambari/ambari-2.1.2/centos6/
gpgcheck=0
enabled=1

[4] 校验YUM仓库ambari:

执行yum repolist,

已加载插件:fastestmirror, priorities, security
Loading mirror speeds from cached hostfile
仓库标识                                                                                                                             仓库名称                                                                                                                             状态
Ambari-2.1.2                                                                                                                         Ambari-2.1.2                                                                                                                             6
CentOS6-Media                                                                                                                        CentOS6-Media                                                                                                                        6,575
HDP-2.3.2.0                                                                                                                          HDP-2.3.2.0                                                                                                                            175
HDP-UTILS-1.1.0.20                                                                                                                   HDP-UTILS-1.1.0.20                                                                                                                      42
repolist: 6,798

若是有向上面输出的话,就能够开始安装了!

[5] YUM在线安装: ambari-server

yum install ambari-server

等待安装完成!

[6] 配置AMBARI-SERVER

##指定JAVA_HOME
ambari-server setup -j /usr/java/default
##不指定JAVA_HOME执行
ambari-server setup

选择n会按默认配置
数据库类型:postgresql
数据库:ambari
用户名:ambari
密码:bigdata
等待安装完成

[7] 启动AMBARI-SERVER

##启动:
ambari-server start
##查看:
ps -ef | grep Ambari
##中止:
ambari-server stop
##帮助
ambari-server help

而后访问:http://T1.youyuan.cn:8080
不出意外的话就安装完成了
用户名/密码:admin/admin
Select Stack页面,打开Advanced Repository Options,要只选择redhat6,而且把Repository改为

http://T1.youyuan.cn/hdp/HDP/centos6/2.x/updates/2.3.2.0
http://T1.youyuan.cn/hdp/HDP-UTILS-1.1.0.20/repos/centos6

[8] 安装AMBARI-AGENT

在网络环境很差的地方或者sshd的端口不是标准的22时,能够在每一个agent节点上先手工安装AMBARI-AGENT

yum install ambari-agent

备注:

  • Ambari安装的环境路径: 各台机器的安装目录:
/usr/lib/hadoop
/usr/lib/hbase
/usr/lib/zookeeper
/usr/lib/hcatalog
/usr/lib/hive
  • Log路径, 这里须要看出错信息均可以在目录下找到相关的日志
/var/log/hadoop
/var/log/hbase
  • 配置文件的路径
/etc/hadoop
/etc/hbase
/etc/hive
  • HDFS的存储路径
/hadoop/hdfs

FAQ

  • 主机名格式必须是hoastname.domain,如T1.youyuan.cn
  • Zookeeper-Agent端修改Server指向的HOSTNAME, /etc/ambari-agent/conf/ambari-agent.ini,如修改过主机hostname
  • 安装失败后或从新安装先执行ambari-server resetambari-setup
相关文章
相关标签/搜索