使用Ambari部署hadoop集群

 

准备工作

1. 设置sudo免密码登陆

由于CentOS安装之后,普通用户无sudo权限,故应该设置sudo权限。

参考文章:http://www.cnblogs.com/maybob/p/3298846.html

2. 设置SSH无密码登陆远程主机

  参考文章:http://www.cnblogs.com/maybob/p/3298903.html

 

3. 集群时间同步(Enable NTP on the Cluster and on the Browser Host)

The clocks of all the nodes in your cluster and the machine that runs the browser through which you access Ambari Web must be able to synchronize with each other.

参考文章:http://www.cnblogs.com/maybob/p/3332003.html

4. 修改每一个主机的hosts文件

$ sudo vi /etc/hosts

向此文件中添加IP FQDN

如下:

192.168.3.21    cloudgis22.edu.cn

192.168.2.174  cloudgis33.edu.cn

5. 修改每一个主机的网络配置文件

$ sudo vi /etc/sysconfig/network

修改如下,若有的设置已存在,则可以不再设置:

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=cloudgiss33.edu.cn

6. 使每一个主机的 SELinux失效

1. 临时使SELinux失效

Ambari运行的话必须使SELinux失效,执行下面命令:

$ sudo setenforce 0

而上面的命令只是临时使SELinux失效,当主机重新启动后会失效。因为我们需要SELinux一直失效,所以为了使disabled SELinux一直失效,如下处理。

2. 使SELinux一直失效

$ sudo vi /etc/selinux/config

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

7. 使每一主机的iptables失效

$ sudo chkconfig iptables off

$ sudo /etc/init.d/iptables stop

8. 使每一主机的PackageKit失效

$ sudo vi /etc/yum/pluginconf.d/refresh-packagekit.conf

设置如下:

enabled=0

9. 检查umask值

使用umask命令查看umask值;

如果不为0022,则修改~/.bashrc文件

$ vi ~/.bashrc

在文件中添加:

umask 022

设置,然后重新登录之后,再使用umask命令查看使用设置正确。

安装ambari

1. 安装ambari

由于本人使用本地仓库安装,故此处只列出本地仓库安装步骤,如需在线安装则参考链接:

http://incubator.apache.org/ambari/1.2.4/installing-hadoop-using-ambari/content/ambari-chap2-1.html

2. 建立本地安装包仓库

1. 下载ambari所需安装包

先由网上现在ambari所需所有安装包,下载链接:

http://pfsense.mirrors.ovh.net/hortonworks/

使用网页抓取工具Teleport_Pro下载。

2. 下载ambari

由于安装ambari-server是需要使用ambari,故应下载,下载地址:

http://public-repo-1.hortonworks.com/ambari/centos6/ambari-1.2.4.9-centos6.tar.gz

解压此文件,并将解压后的文件放入刚才下载的hortonworks文件夹中的ambari同级目录即可,若有覆盖提示,则选择覆盖。

3. 下载安装过程中所需依赖包

安装ambari-server过程中需要安装postgresql。

在使用ambari Web界面配置并且安装hadoop及其所需组件式,是需要一些依赖包的,此处只列取安装HDFS、MapReduce、HBase、Zookeeper、Ganglia、Nagios时所需的并在其他下载的软件安装包仓库中不存在的依赖包。

4. 建立软件仓库

1. hortonworks仓库(搭建hadoop集群及其组建时所需安装包)

直至2.2节中hortonworks文件中的安装包结构是按照仓库结构的,故不再生成仓库结构,直接拷贝即可。

2. CentOS ISO中安装包仓库

将CentOS镜像的安装包中文件,拷贝在同一文件中,如(CentOS_6.4_64),直接使用。

3. necessary安装包仓库

创建necessary文件夹,并在necessary文件夹中创建Packages文件夹,将2.3中所列安装包拷贝至Packages文件夹下。

进入necessary目录。使用命令:

$ createrepo .

此时,就会在necessary目录下创建仓库所需文件。

至此,所需的软件仓库都建立好了,分别为文件夹hortonworks、CentOS_6.4_64、necessary。

3. 搭建ftp服务器

搭建ftp服务器,安装ftp服务器vsftpd

$ sudo yum install vsftpd

安装完成后将创建好的三个软件仓库文件夹拷贝到ftp服务器目录/var/ftp,如:

$ sudo cp -r ~/hortonworks /var/ftp

$ sudo cp -r ~/CentOS_6.4_64 /var/ftp

$ sudo cp -r ~/necessary /var/ftp

修改/var/ftp/hortonworks目录下所有文件访问的权限

$ sudo chmod –R 755 /var/ftp/hortonworks

$ sudo chmod –R 755 /var/ftp/CentOS_6.4_64

$ sudo chmod –R 755 /var/ftp/necessary

现在启动ftp服务

$ sudo service vsftpd start

如果显示行中有ok则表示启动成功。

这是你可以在浏览器中输入(假设你的ftp服务器部署在cloudgis33.edu.cn上)

ftp://cloudgis33.edu.cn

检查ftp服务器是否设置成功并且启动成功。

4. 添加各仓库repo文件

1. ambari.repo

执行下述命令下载repo文件。

$ wget http://public-repo-1.hortonworks.com/ambari/centos6/1.x/updates/1.2.4.9/ambari.repo

然后对下载下来的文件ambari.repo文件进行修改(假设ftp服务器搭建在cloudgis33.edu.cn主机上),修改如下:

[ambari-1.x]

name=Ambari 1.x

baseurl=ftp://cloudgis33.edu.cn/hortonworks/ambari/centos6/1.x/GA

gpgcheck=1

gpgkey=ftp://cloudgis33.edu.cn/hortonworks/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

[HDP-UTILS-1.1.0.15]

name=Hortonworks Data Platform Utils Version - HDP-UTILS-1.1.0.15

baseurl=ftp://cloudgis33.edu.cn/hortonworks/HDP-UTILS-1.1.0.15/repos/centos6

gpgcheck=0

gpgkey=ftp://cloudgis33.edu.cn/hortonworks/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

 

[Updates-ambari-1.2.4.9]

name=ambari-1.2.4.9 - Updates

baseurl=ftp://cloudgis33.edu.cn/hortonworks/ambari/centos6/1.x/updates/1.2.4.9

gpgcheck=1

gpgkey=ftp://cloudgis33.edu.cn/hortonworks/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

   将修改的仓库配置文件拷贝至/etc/yum.repos.d目录。

$ sudo cp ambari.repo /etc/yum.repos.d

2. CentOS_6.4_64.repo

在目录/etc/yum.repos.d/创建CentOS_6.4_64.repo文件:

$ sudo vi CentOS_6.4_64.repo

在此文件中添加如下:

[base]
name=CentOS_6.4_64 - Base
baseurl=ftp://cloudgis33.edu.cn/CentOS_6.4_64
enabled=1
gpgcheck=0

3. necessary.repo文件

在目录/etc/yum.repos.d/创建necessary.repo文件:

$ sudo vi necessary.repo

在此文件中添加如下:

[necessary]
name=necessary
baseurl=ftp://cloudgis33.edu.cn/necessary
enabled=1 
gpgcheck=0

4. 查看仓库信息

使用sudo yum clean all清理yum仓库软件包信息缓存:

$ sudo yum clean all

使用sudo yum repolist命令查看yum仓库软件包信息列表:

$ sudo yum repolist

5. 安装ambari-server

$ sudo yum install ambari-server

此时则会从配置的ftp仓库中找到ambari安装文件进行安装,此时由于已经安装了postgresql相关组件,故此次安装过程不会再次安装postgresql相关组件;如果先前没有安装postgresql相关组件,则安装进程则会进行联网下载安装,由于此时假定是不能联网的,故安装过程会失败。

6.  配置本地仓库

由于会在安装并且启动ambari-server之后的web配置页面中要选择安装的版本,如1.3.0和1.2.1,故如果你安装的是1.3.0版本则修改文件

/var/lib/ambari-server/resources/stacks/HDPLocal/1.3.0/repos/repoinfo.xml,如果你安装的是1.2.1,则修改文件/var/lib/ambari-server/resources/stacks/HDPLocal/1.2.1/repos/repoinfo.xml,此处安装1.3.0:

$ sudo vi /var/lib/ambari-server/resources/stacks/HDPLocal/1.3.0/repos/repoinfo.xml

  <os type="centos6">

     <repo>      

        <baseurl>ftp://cloudgis33.edu.cn/hortonworks/HDP/centos6/1.x/GA/1.3.0.0</baseurl>      

        <repoid>HDP-1.3.0</repoid>

       <reponame>HDP</reponame>

     </repo>

     <repo>

       <baseurl> ftp://cloudgis33.edu.cn/hortonworks/HDP-UTILS-1.1.0.15/repos/centos6</baseurl>

       <repoid>HDP-epel</repoid>

       <reponame>HDP-epel</reponame>

       <mirrorslist><![CDATA[http://mirrors.fedoraproject.org

               /mirrorlist?repo=epel-6&arch=$basearch]]></mirrorslist>

     </repo>

   </os>

7. Setup ambari-server

如果此处你已经安装了jdk-6u31-linux-x64.bin,假设javahome表示java安装路径,则可以执行如下命令:

$ sudo ambari-server setup –j javahome –s

-s 参数表示默认安装---Setup runs silently. Accepts all default prompt values.

-v 参数表示输入安装过程中的冗余和警告信息-- Prints verbose info and warning messages to the console during Setup.

-s -v参数都可以不选择。

如果你没有安装java,则应该将先前下载的jdk-6u31-linux-x64.bin文件拷贝至/var/lib/ambari-server/resources。

则使用:

$ sudo ambari-server setup  -s

此时安装进程会将java安装至/usr/jdk64/jdk1.6.0_31目录,接下来配置java环境变量。

$ sudo vi /etc/profile

添加如下:

export JAVA_HOME=/usr/jdk64/jdk1.6.0_31

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

在每一主句都应手动配置环境变量。

启动ambari-server

启动ambari-server

$ sudo ambari-server start

打开浏览器,使用ambari配置hadoop

http://cloudgis33.edu.cn:8080

在配置页面setup2中

Target hosts设置全域名,一个全域名一行

Host Registration Information中选择~/.ssh目录下id_rsa文件

SSH user (root or passwordless sudo account)输入cloudgis

默认会为root用户,但是你也可以选择无密码登陆的sudo用户(无密码登陆已经在上文中提到),如cloudgis。

Advanced Options中的复选框都选中,在JAVA_HOME一栏填写你的JAVA_HOME,如果你在上一小节安装ambari-server时,选择的是默认安装java,则安装进程会将java安装至/usr/jdk64/jdk1.6.0_31目录,所以你在此处输入JAVA_HOME时,应该输入/usr/jdk64/jdk1.6.0_31(ambari配置页面默认为/usr/jdk/jdk1.6.0_31)。

下面的步骤都是具体的hadoop配置了,不再详细阐述hadoop集群配置。

原文地址:https://www.cnblogs.com/maybob/p/3277543.html