Hadoop离线搭建(Ambari工具)

参考文章:
https://my.oschina.net/u/2277929/blog/660748*

http://www.jianshu.com/p/debf0e6a3f3b*

http://www.jianshu.com/p/6e59df5f2461*

https://my.oschina.net/wstone/blog/522165*

http://www.ibm.com/developerworks/cn/opensource/os-cn-bigdata-ambari/*

http://business.sohu.com/20160919/n468669356.shtml*

https://www.gitbook.com/book/forevernull/hortonworks-getstarted*

http://www.cnblogs.com/starof/p/4685999.html*

http://www.cnblogs.com/linuxhan/archive/2012/04/18/3017178.html*

http://blog.csdn.net/bluishglc/article/details/42049047*

0Hbase搭建

0.1背景知识

Hbase为Hadoop的组件之一。Hadoop在大数据领域的应用前景很大,不过因为是开源技术,实际应用过程中存在很多问题。于是出现了各种Hadoop发行版,国外目前主要是三家创业公司在做这项业务:

Hortonworks,

Cloudera,

MapR

其中Cloudera和MapR的发行版是收费的,他们基于开源技术,提高稳定性,同时强化了一些功能,定制化程度较高,核心技术是不公开的。营收主要来自软件收入,国内的星环科技, 红象云腾盈利模式与之类似。这类公司,如果一直保持技术领先性,那么软件收入溢价空间很大。但一旦技术落后于开源社区,整个产品需要进行较大调整。

Hortonworks则走向另一条路,他们将核心技术完全公开,用于推动Hadoop社区的发展。这样做的好处是,如果开源技术有很大提升,他们受益最大,因为定制化程度较少,自身不会受到技术提升的冲击。

不同于传统软件提供商,Hortonworks没有对产品收费,而是将这两款产品完全开放,将核心技术放在Hadoop开源社区中,每个人都可以看到并使用这两款产品。开公司又不是做慈善,Hortonworks靠什么来赚钱?对于企业客户来说,就算知道新技术的核心内容,具体应用还是会碰到很多问题。有了源代码,如何与自己系统相结合、增强功能、调试故障、对接应用都是问题。这个时候,程序开发者找上门来说:“这个技术是我研发的,我可以帮你将技术应用到你的系统中,调试、更新升级、加入特定的功能这些事情我都可以做。后期需要的话,还可以提供维护。”企业客户如果想用这项技术,自己开发难度较大的话,就会选择合作。这就是Hortonworks的盈利模式,通过提供支持服务和后期维护,向企业级客户收费。即类似于RedHat,通过服务赚钱。

0.2物理架构

Hadoop离线搭建(Ambari工具)_第1张图片
测试的网络架构

图1-1测试物理架构图

0.3下载相关文件

从官网(hortonworks)下载Hadoop安装工具及包ambari,避免待会yum在线安装时,老安装失败(因为文件比较大,又要翻墙,容易断)。

HDP-2.4.0.0(6GB)

http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.0.0/HDP-2.4.0.0-centos6-rpm.tar.gz

HDP-UTILS(694MB)

http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.20/repos/centos6/HDP-UTILS-1.1.0.20-centos6.tar.gz

ambari(626MB)

http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.2.1.0/ambari-2.2.1.0-centos6.tar.gz

jdk-7u80-linux-x64(294M)

0.4配置集群机器

1.配置磁盘空间

测试用的系统为centos6.7,因为安装后期HDFS磁盘及相关日志占用比较大,因此提交做好分区挂载很重要(测试时虚拟机扩容了几次),需要比较大空间的目录为:HDFS目录和Log目录和lib目录。

各台机器的默认安装目录:

/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

2.配置防火墙

关闭命令: service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态

service iptables status

3.配置hostname

永久修改hostname,重启后生效

vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=XXXX

想立即生效(不建议,可能失败)可采取如下方法:

修改主机名:hostname bd001

查看主机名:hostname

4.配置自动校时

开启自动校时,并开机自启动

chkconfig ntpd on

service ntpd start

设置时区为北京时间,这里为上海,因为centos里面只有上海。。。

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

时间同步

ntpdate us.pool.ntp.org

没有安装ntpdate的可以yum一下

yum install -y ntpdate

加入定时计划任务,每隔10分钟同步一下时钟

crontab -e

把下面的内容粘贴进去保存即可

0-59/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP

设置内网ntp服务器还不知道如何处理

5.配置SSL(版本大于1.0)

需要openssl的1.0以上版本!

yum install openssl

或者

yum upgrade openssl

6.配置python(版本大于等于2.6)

版本在2.6但不要是3.x

7.配置JDK(版本大于等于1.7)

建议安装Sun的JDK1.7版本!

安装完毕并配置java环境变量,

在/etc/profile末尾添加如下代码:

export JAVA_HOME=/usr/jdk1.7.0_80

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

保存退出即可,然后执行source /etc/profile生效.

在命令行执行java -version 如下代表JAVA安装成功.

8.配置SSH免验证登陆

主节点要能无密码登陆到所有数据节点的。为了便于理解,假设需要在hadoop148这台机器上可以通过无密码登录的方式连接到hadoop107上。

具体步骤:

1 、登录hadoop148,

执行命令 ssh-keygen -t rsa 之后一路回车

2 、把 id_rsa.pub 追加到授权的 key 里面去。

执行命令 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

3 、修改权限:

执行 chmod 600 ~/.ssh/authorized_keys

4 、将公钥复制到所有其他机器上 :

scp ~/.ssh/id_rsa.pub root@hadoop107:~/

5 、在 hadoop107 机器上 创建 .ssh 文件夹 :

mkdir ~/.ssh

chmod 700 ~/.ssh

6 、追加到授权文件 authorized_keys 执行命令 :

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

7 、验证命令

ssh hadoop107

删除107上的 id_rsa.pub 文件 :rm -r id_rsa.pub

9.配置hosts

在/etc/hosts中内容应为:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.128.111 bd001

192.168.128.112 bd002

192.168.128.113 bd003

192.168.128.114 bd004

10.配置离线源服务器

上述配置需要在集群中各个机器配置,而此离线源服务器可以在集群中一台机器或者集群能访问的一台机器中配置即可。

1.将下载的三个文件的tar.gz拷贝到/home目录下的/hdp目录中,然后分别解压。

2、安装Apache

yum install httpd

3、设置Apache服务的启动级别

chkconfig --levels 235 httpd on

4、现在就启动它,所有更改需要stop后在start

/etc/init.d/httpd start

5、在/etc/httpd/conf/httpd.conf中添加内容,即将/home/hdp映射为http的/hadoop目录

Alias /hadoop "/home/hdp"

Options Indexes FollowSymLinks

Order allow,deny

Allow from all

6、还要对沿途的个个路径授权755

那么要保证/home,/home/hdp这四个层级的目录都是755权限,

不要递归-R(会影响ssh无密码登陆),

hdp下面的文件和文件夹可以赋值为 777

7、/etc/init.d/httpd stop后再start

8、访问http://ip地址/hadoop 测试对应的离线文件能否访问及下载(默认端口80)

11.配置离线源客户端

在所有机器上配置:

(1)配置离线优先级:

yum install yum-plugin-priorities

vi /etc/yum/pluginconf.d/priorities.conf

设置为以下内容

[main]

enabled=1 gpgcheck=0

(2)替换3个repo文件

*hdp.repo

[HDP-2.4.0.0]

name=HDP Version - HDP-2.4.0.0

baseurl=http://192.168.128.111/hadoop/HDP/centos6/2.x/updates/2.4.0.0

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

*hdp-util.repo

[HDP-UTILS-1.1.0.20]

name=HDP Utils Version - HDP-UTILS-1.1.0.20

baseurl=http://192.168.128.111/hadoop/HDP-UTILS-1.1.0.20/repos/centos6

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.4.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

*ambari.repo

[Updates-ambari-2.2.1.0]

name=ambari-2.2.1.0 - Updates

baseurl=http://192.168.128.111/hadoop/AMBARI-2.2.1.0/centos6/2.2.1.0-161

gpgcheck=1

gpgkey=http://public-repo-1.hortonworks.com/ambari/centos6/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins

enabled=1

priority=1

(3)yum repolist

12.其他配置

(1)增大文件句柄

在/etc/security/limits.conf接近末尾处添加:

  •           soft    nproc16384
    
  •           hard    nproc16384
    
  •           soft    nofile65536
    
  •           hard    nofile65536
    

(2)禁止 PackageKit

pkill -9 packagekitd

vim /etc/yum/pluginconf.d/refresh-packagekit.conf

将内容改为enabled=0

(3)禁用selinux

vi /etc/sysconfig/selinux

设置selinux=disabled

0.5安装ambari服务

1.安装ambari-server

yum install -y epel-release

yum install ambari-server

选择“n”使用默认配置

等待安装完成

2.初始化ambari-server

安装失败后或重新安装先执行ambari-server reset 后 ambari-setup;

ambari-server setup

3.启动ambari-server

ambari-server start

http://ip:8080

使用默认的admin/admin登录。

0.6相关默认用户名密码

+++++++++++++++++++++++++++++++++++++

ambari管理页面:

访问地址 ip:8080 用户名密码 admin/admin

+++++++++++++++++++++++++++++++++++++

自带postgresql数据库:

数据库类型:postgresql

数据库:ambari

用户名:ambari

密码:bigdata

+++++++++++++++++++++++++++++++++++++

+++++++++++++++++++++++++++++++++++++

0.7集群在线配置

1.界面说明

搭建集群的按钮

Hadoop离线搭建(Ambari工具)_第2张图片
搭建集群

输入集群名称,名字不支持 -号空格等

Hadoop离线搭建(Ambari工具)_第3张图片
输入集群名称

HDP版本号选择

Hadoop离线搭建(Ambari工具)_第4张图片
HDP版本号选择

系统的版本不同悬着的os版本也不同

这里记得填写你的 离线地址

Hadoop离线搭建(Ambari工具)_第5张图片
记得填写你的 离线地址

创建ssh免登陆时,主节点.ssh文件夹下有该文件

Hadoop离线搭建(Ambari工具)_第6张图片
主节点.ssh下的私钥

这一步很容易因为配置文件的原因出错(可能节点服务器没设置好dns,导致yum不能使用,也可能节点主机名和先前填写的主机名不一致)

Hadoop离线搭建(Ambari工具)_第7张图片
多台集群这里显示列表

选择要安装哪些

Hadoop离线搭建(Ambari工具)_第8张图片
自己勾选,有依赖会提示

各个服务安装在哪些机器上,自己分配

Hadoop离线搭建(Ambari工具)_第9张图片
各个服务安装在哪些机器上
Hadoop离线搭建(Ambari工具)_第10张图片
客户端选择
Hadoop离线搭建(Ambari工具)_第11张图片
选择服务的一些细节配置
Hadoop离线搭建(Ambari工具)_第12张图片
总结配置
Hadoop离线搭建(Ambari工具)_第13张图片
等待安装

正在安装各个节点

Hadoop离线搭建(Ambari工具)_第14张图片
正在安装各个节点
Hadoop离线搭建(Ambari工具)_第15张图片
安装成功总结

监控页面

Hadoop离线搭建(Ambari工具)_第16张图片
监控页面

你可能感兴趣的:(Hadoop离线搭建(Ambari工具))