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

CentOS6.5Ambari1.4.4安装配置实战

系统:三台Centos6.5虚拟机;需下载软件:ambari-1.4.4.23-centos6.tar.gz、HDP-2.0.6.1-centos6-rpm.tar.gz、HDP-UTILS

系统:三台Centos6.5虚拟机;

需下载软件:ambari-1.4.4.23-centos6.tar.gz、HDP-2.0.6.1-centos6-rpm.tar.gz、HDP-UTILS-1.1.0.16-centos6.tar.gz;(为了保证离线安装,所以这里我们配置都是使用本地http源)

可以从这个网址下载:http://s3.amazonaws.com/public-repo-1.hortonworks.com/index.html#, 不过这个网址打开有点慢。另外需要注意一点的是在下载ambari的时候它是有自己配对的HDP的,最好是要一致,比如上面下载的ambari和HDP就是配对的。

1. 首先说配置吧(配置好了,其他都是浮云)

假设我们配置的ip和机器名的映射分别是:

192.168.0.101 vm1.localdomain vm1
192.168.0.102 vm2.localdomain vm2
192.168.0.103 vm3.localdomain vm3

配置domain name是因为hdp好像需要这个,不配置这个的话,在ambari一键安装hdp的时候会有warning。

1.1首先按照前面一篇http://blog.csdn.net/fansy1990/article/details/21789473装好系统先,同时配置Centos的本地http源。

1.2 配置ip和hostname:以vm1为例(以下未做说明,都是以vm1为例):

修改/etc/hosts:

192.168.0.101 vm1.localdomain vm1
192.168.0.102 vm2.localdomain vm2
192.168.0.103 vm3.localdomain vm3
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
修改/etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE="eth0"
BOOTPROTO="static"
IPADDR="192.168.0.101"
NETMAST="255.255.255.0"
GATEWAY="192.168.0.1"
DNS1="192.168.0.101"
HWADDR="00:0C:29:5E:9D:9E"
IPV6INIT="no"
NM_COnTROLLED="yes"
OnBOOT="yes"
TYPE="Ethernet"
UUID="41b2b021-ba34-4238-b1ce-8a9cc6b5e187"
这里的gateway配置为 192.168.0.1其实是错的,因为虚拟机的网管是192.168.0.2,这里配置为.1是因为需要保证没有连到外网哈(其实就是为了测试本地http源而已);

修改 /etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=vm1.localdomain
GATEWAY=192.168.0.1
其他vm2、vm3参考此配置进行配置。

1.3 配置selinux、iptables:

修改/etc/selinux/config :

SELINUX=disabled
命令行执行: chkconfig iptables off ; 

因为修改了机器名,所以最后重启下。

1.4 上传下载的3个.tar.gz文件到vm1的/var/www/html文件夹,然后解压缩,会得到下面的文件夹:


centos是我们本地的系统源。

1.5 配置ambari、hdp、hdp-util的repo。

首先复制ambari\centos6\1.x\updates\1.4.4.23\ambari.repo 、HDP\centos6\2.x\updates\2.0.6.1\hdp.repo、HDP-UTILS-1.1.0.16\repos\centos6\hdp-util.repo文件到/etc/yum.repo.d/文件夹下面,如下:

其中,HDP.repo是ambari配置的时候自动生成的,可以不用管。

修改ambari.repo:

[Updates-ambari-1.4.4.23]
name=ambari-1.4.4.23 - Updates
baseurl=http://vm1.localdomain/ambari/centos6/1.x/updates/1.4.4.23
gpgcheck=0
gpgkey=http://vm1.localdomain/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
注意baseurl的配置,可以拷贝url到浏览器,一般可以看到下面的内容:


修改CentOS-Base.repo、CentOS-Debuginfo.repo、CentOS-Media.repo,把其中的enabled设置为0,如果没有这个属性则添加一个,比如CentOS-Base.repo:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=0
#released updates
其中的enabled=0 就需要自己添加。

修改hdp.repo:

[Updates-HDP-2.x]
name=Hortonworks Data Platform HDP-2.x - Updates
baseurl=http://vm1.localdomain/HDP/centos6/2.x/updates/2.0.6.1
gpgcheck=0
gpgkey=http://vm1.localdomain/HDP/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
修改hdp-util.repo:

[root@vm1 yum.repos.d]# cat hdp-util.repo 
[HDP-UTILS-1.1.0.16]
name=Hortonworks Data Platform Version - HDP-UTILS-1.1.0.16
baseurl= http://vm1.localdomain/HDP-UTILS-1.1.0.16/repos/centos6
gpgcheck=0
enabled=1
priority=1
然后,使用yum clean all ,接着试着找找ambari、hdp、hdp-util的安装包:yum search ambari-agent、yum search Oozie、yum search ganglia,如果可以找到,那么就说明配置成功了。

1.5 配置ssh:

生成ssh key: ssh-keygen -t rsa ,然后三次Enter即可;

复制key: ssh-copy-id -i ~/.ssh/id_rsa.pub vm1 、ssh-copy-id -i ~/.ssh/id_rsa.pub vm2、ssh-copy-id -i ~/.ssh/id_rsa.pub vm3,分别输入密码即可(默认所有操作都使用root用户)

验证: ssh vm3 ,无密码登录即可。

1.6 拷贝http源到vm2、vm3;

scp /etc/yum.repos.d/* root@vm2:/etc/yum.repos.d/

scp /etc/yum.repos.d/* root@vm3:/etc/yum.repos.d/

进入vm2、vm3 ,运行yum clean all. 同时安装unzip,在HDP有个Service需要解压,minmal的版本好像没有这个unzip。

2. 安装ambari:

2.1 安装ntp:

进入vm1, yum install ntp, 然后修改/etc/ntp.conf:

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

server 127.127.1.0
fudge 127.127.1.0 stratum 8
运行 : chkconfig ntpd on;

运行:watch ntpq -p ,可以看到下面的界面:

进入vm2、vm3,yum install ntp ,修改/etc/ntp.conf:

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server vm1
server 127.127.1.0
fudge 127.127.1.0 stratum 8
2.2 安装ambari:

进入vm1,运行 : yum install ambari-server; 

进入vm2、vm3,运行:yum install ambari-agent;(这里建议提前安装ambari-agent)

2.3 安装ambari-server:

进入vm1,运行:ambari-server setup -j /opt/jdk1.7.0_25 -s 。 -j参数是jdk的路径。-s参数表示按照默认安装。额,顺便说下,需要提前在三台vm上安装jdk。

2.4 运行ambari-server:

进入vm1,运行:ambari-server start

3. 安装HDP:

3.1 如果是windows本地网页访问虚拟机,需配置hosts映射,修改C:\Windows\System32\drivers\etc\hosts:

192.168.0.101 vm1.localdomain
192.168.0.102 vm2.localdomain
192.168.0.103 vm3.localdomain
浏览器访问http:vm1.localdomain:8080,即可看到Ambari的登录界面,输入用户名密码admin/admin即可登录:

第一项是配置集群的名称,这个可以自己命名了。

3.2 配置stack(此配置至关重要):

选择hdp2.0.6 ;同时修改下面的Repositories源,去掉其中的两个,保留Centos6的,这里特别注意需要修改里面的URL,其URL为:http://vm1.localdomain/HDP/centos6/2.x/updates/2.0.6.1/。 这个也就是前面的hdp.repo文件中的baseurl,同时这个url也是安装hdp时在/etc/yum.repo.d/下面产生的HDP.repo文件的依据。
3.3 installation 选项:

hosts输入:

vm1.localdomain
vm2.localdomain
vm3.localdomain

primary key ,输入 vm1里面的~/.ssh/id_rsa里面的内容即可。

然后就是验证和注册了。

验证和注册如何出问题,可以参考这里解决:http://blog.csdn.net/fansy1990/article/details/21658767。

3.4 选择服务:


这里建议全部选择吧。

3.5 指定masters:


这里指定master,需要统一规划,安装每个机器的资源进行配置,不过这里是虚拟机安装的,可以尽量平均分配下(每个vm才1G内存,哎,深感内存少呀)。

3.6 指定salve和client,这个和指定master一样的道理。

3.7 配置服务,这个需要特别注意了:


首先红色的肯定是需要配置的,不过也只是配置数据库的密码而已,这里建议都统一配置记录下来,以防后面 忘记了。

其次,在配置其他服务的时候也是需要每个参数去留心看看的,比如,由于我的才1G内存的虚拟机,所以在有内存参数配置的,比如默认的是1G或者2G,我都改为256M了,同时我只有一个数据节点,所以dfs.replication配置为了1,。等等这些配置,都需要去分析,如果是实际环境的话。

最后重要的一点是Install、start、test了。这里按照我前面的配置,最后在HBase测试的时候出了点问题,问题如下:

err: /Stage[2]/Hdp-hbase::Hbase::Service_check/Exec[/tmp/hbaseSmokeVerify.sh]/returns: change from notrun to 0 failed: su - ambari-qa -c '/tmp/hbaseSmokeVerify.sh /etc/hbase/conf ida8c06700_date142414' returned 1 instead of one of [0] at /var/lib/ambari-agent/puppet/modules/hdp-hbase/manifests/hbase/service_check.pp:77
notice: /Stage[2]/Hdp-hbase::Hbase::Service_check/Hdp-hadoop::Exec-hadoop[hbase::service_check::test]/Hdp::Exec[hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest]/Anchor[hdp::exec::hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest::begin]: Dependency Exec[/tmp/hbaseSmokeVerify.sh] has failures: true
notice: /Stage[2]/Hdp-hbase::Hbase::Service_check/Hdp-hadoop::Exec-hadoop[hbase::service_check::test]/Hdp::Exec[hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest]/Exec[hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest]: Dependency Exec[/tmp/hbaseSmokeVerify.sh] has failures: true
notice: /Stage[2]/Hdp-hbase::Hbase::Service_check/Hdp-hadoop::Exec-hadoop[hbase::service_check::test]/Hdp::Exec[hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest]/Anchor[hdp::exec::hadoop --config /etc/hadoop/conf fs -test -e /apps/hbase/data/data/default/ambarismoketest::end]: Dependency Exec[/tmp/hbaseSmokeVerify.sh] has failures: true
notice: /Stage[2]/Hdp-hbase::Hbase::Service_check/Anchor[hdp-hbase::hbase::service_check::end]: Dependency Exec[/tmp/hbaseSmokeVerify.sh] has failures: true
notice: Finished catalog run in 158.31 seconds
不过这个大概没啥影响吧。这个没深究,因为在安装好了之后,我启动了下HBase,发现没啥问题。

不过,说句实话,如果真是虚拟机玩的话,内存一定要够呀。三台虚拟机开着,在安装的时候,内存一直保持3.7、8的样子,cpu很多时候都去到了90%+,不能进行其他操作。

4. 总结

Ambari安装配置HDP,确实不是很难,如果前期准备都ok的话,那就基本是万事大吉了,后面也只是一些小问题了。最后,附上几张图吧。



你可以看到这个界面很多红色的,因为我就开了一个vm1,而且还把所有的服务都关闭了。不然,我连写这篇博客估计都够呛。


分享,成长,快乐

转载请注明blog地址:http://blog.csdn.net/fansy1990






推荐阅读
author-avatar
青春脸001
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有