企业级大数据平台构建

edt搭建

环境要求

操作系统均为CentOS6.4、JDK版本为1.7、Python版本为2.6。
注意创建虚拟机的时候要多给些内存最好80G或者更大,因为默认情况下可能只会分配20G

1. 搭建本地yum源仓库

(1) 下载离线安装包

因为是离线安装,所以我们首先需要下载Ambari和HDP的离线安装包。这里使用的是Ambari2.4和HDP2.5,下载地址如下。
Ambari2.6.1
http://public-repo-1.hortonworks.com/ambari/centos6/2.x/updates/2.6.1.0/ambari-2.6.1.0-centos6.tar.gz

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

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

将三个文件下载完毕后将其进行解压,然后放到一个HTTP服务器下以便我们能以静态资源的形式访问到它们。

(2) 安装Apache服务器

这里我们可以使用Apache来当做HTTP服务器。如果企业内网环境有配置好的本地yum源仓库,那么可以直接通过yum命令安装。
yum install httpd

如果本地没有yum源仓库,则需要自行下载安装包进行安装,这里不再赘述。
安装之后执行如下命令启动Apache服务。
/etc/init.d/httpd start

现在我们进入在Apache的静态资源目录,然后新建ambari和hdp两个目录。

cd /var/www/html
mkdir ./hdp
mkdir ./ambari

目录建好之后,将下载好的HDP和HDP-UTILS文件解压到/var/www/html/hdp目录下,然后将下载好的Ambari文件解压到/var/www/html/ambari目录下。至此,本地yum仓库的静态资源就准备好了

(3) 修改各个虚拟机的hostname和hosts文件

分别将两台虚拟机改为server1.cluster.com 和 server1.cluster.com
并且在两台机器修改/etc/hosts 文件
添加下列代码:
192.168.136.129 server1.cluster.com
192.168.136.130 server2.cluster.com

(4) 配置内网yum源

新建一个 ygsoft.repo 的内网源文件
在 /etc/yum.repos.d 中配置 ygsoft.repo
如果/etc/yum.repos.d 中本来存在有repo的配置文件,可以删除或者都移到一个文件夹中,让ygsoft-repo起作用就可以了

[ygsoft-repo]
name=ygsoft-repo
baseurl=http://mirrors.ygsoft.com/centos/6.9/os/x86_64/
path=/
enabled=1
gpgcheck=0

其中那些yum的源包文件都存放在http://mirrors.ygsoft.com/centos/6.9/os/x86_64/Packages/

(5) 创建yum源配置文件

为了能让yum命令能够找到我们的安装文件,还需要新建两个仓库的配置文件。
首先新建一个名为ambari.repo的配置文件,配置项如下:

[Ambari-2.4.0.1]
name=Ambari-2.4.0.1
baseurl=http://server1.cluster.com/ambari/AMBARI-2.4.0.1/centos6/2.4.0.1-1
gpgcheck=1
gpgkey=http://server1.cluster.com/ambari/AMBARI-2.4.0.1/centos6/2.4.0.1-1/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
 ```
然后再新建一个名为**hdp.repo**的配置文件,配置项如下:

[HDP-2.5.0.0]
name=HDP-2.5.0.0
baseurl=http://server1.cluster.com/hdp/HDP/centos6
path=/
enabled=1
gpgcheck=0

[HDP-UTILS-1.1.0.21]
name=HDP-UTILS-1.1.0.21
baseurl=http://server1.cluster.com/hdp/HDP-UTILS-1.1.0.21
path=/
enabled=1
gpgcheck=0

最后将这两个配置文件拷贝到所有准备安装Hadoop组件的服务器上的/etc/yum.repos.d目录下。
现在可以执行yum repolist命令检查一下配置是否正确,如果能看到Ambari-2.6.1.0和HDP-2.6.4.0两个yum源就就表明配置成功了。如果看不到,就需要检查/etc/yum.repos.d目录下是否存在ambari.repo和hdp.repo两个配置文件。
## 2. 关闭防火墙和SELinux
由于Ambari会通过其Agent程序在服务器之间频繁的进行内部通信,所以我们需要关闭机器自身的防火墙并禁用SELinux。依序执行如下操作。
- 执行service iptables stop命令关闭防火墙。
- 可以通过执行chkconfig iptables off 来检查防火墙是否已经关闭。
- 打开 /etc/selinux/config,修改SELINUX=disabled来禁用SELinux。此项修改需要重启服务器后才能生效。
## 3.安装Ambari-Server
虽然Ambari系统是由安装Ambari-Server和Ambari-Agent两个部分组成的。但是手动安装的时候只需要关注Ambari-Server就可以了,因为Ambari-Agent程序在通过Ambari系统新建集群的过程中会自动安装(关于新建集群部分会在后续小节详细介绍)。
由于在安装前的准备小节,我们已经完成了Ambari本地yum源仓库的搭建工作,所以这里的Ambari-Server安装就很简单了,执行`yum install ambari-server –y`命令进行安装。

之后便会进入自动安装步骤,yum安装程序会根据我们在ambari.repo中配置的信息找到Ambari-Server的安装文件进行安装。

yum install ambari-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package ambari-server.x86_64 0:2.4.0.1-1 will be installed
–> Processing Dependency: postgresql-server >= 8.1 for package: ambari-server-2.4.0.1-1.x86_64
–> Finished Dependency Resolution
Error: Package: ambari-server-2.4.0.1-1.x86_64 (Updates-Ambari-2.4.0.1)
Requires: postgresql-server >= 8.1
You could try using –skip-broken to work around the problem
You could try running: rpm -Va –nofiles –nodigest
此处发现安装出现了错误,提示需要postgresql-server,且版本需要大于8.1。这是因为Ambari默认通过postgresql数据库来保存它的元数据。
所以我们还需要安装postgresql数据库,执行yum install postgresql-server命令安装。
yum install postgresql-server
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
省略中间过程…
Installed:
postgresql-server.x86_64 0:8.4.20-7.el6
Dependency Installed:
postgresql.x86_64 0:8.4.20-7.el6 postgresql-libs.x86_64 0:8.4.20-7.el6

Dependency Updated:
openssl.x86_64 0:1.0.1e-57.el6

Complete!

现在重新执行`yum install ambari-server` 命令安装Ambari-Server。
yum install ambari-server -y

Dependencies Resolved

=======================================================================================================================================================

Package Arch Version Repository Size

Installing:
ambari-server x86_64 2.4.0.1-1 Updates-Ambari-2.4.0.1 646 M
Installing for dependencies:
postgresql x86_64 8.4.20-7.el6 base 2.6 M
postgresql-libs x86_64 8.4.20-7.el6 base 202 k
postgresql-server x86_64 8.4.20-7.el6 base 3.4 M
Updating for dependencies:
openssl x86_64 1.0.1e-57.el6 base 1.5 M

Transaction Summary

Install 4 Package(s)
Upgrade 1 Package(s)

Total download size: 654 M
中间过程省略…
Installed:
ambari-server.x86_64 0:2.4.0.1-1
Dependency Installed:
postgresql-server.x86_64 0:8.4.20-6.el6

Complete!

耐心等待一会,当看到如上信息的时候表明已经完成Ambari-Server的安装了。
### Ambari-Server目录结构
Ambari-Server安装完毕之后我们主要会关注4个目录,它们分别是:

- 配置目录( /etc/ambari-server/conf):Ambari的配置文件会全部放在这个目录下。

- 日志目录( /var/log/ambari-server):Ambari自身的服务日志会放在这个目录下。

- Hadoop服务组件目录( /usr/hdp):通过Ambari安装的Hadoop组件会放在这个目录下。

- Ambari服务目录 (/usr/lib/ambari-server):Ambari自身的服务会安装到这个目录下。
### 配置Ambari-Server
在安装Ambari-Server之后,如果我们立即执行`ambari-server start`命令启动服务会发现报错。这是因为在启动服务之前必须要完成它初始配置,执行`ambari-server setup` 命令开始配置。

setup ambari-server

配置程序首先会检查是否已经禁止了SELinux,这项配置在之前步骤已经设置过了,所以这里没有任何问题。
Checking SELinux…
SELinux status is ‘disabled’

接着配置程序会让我们指定Ambari的用户,这里直接使用默认的Amabri用户,按回车继续。
Customize user account for ambari-server daemon [y/n] (n)?
Adjusting ambari-server permissions and ownership…

然后配置程序又开始检查防火墙状态,在之前步骤已经关闭了防火墙,所以这里也没有问题。
Checking firewall status…

现在轮到检查JDK,这里输入【3】选择使用自己安装的JDK。可以看到提示中有一个关于JCE Policy的警告,我们先不管它,等到后面安全章节再做解释。
Checking JDK…
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7

[3] Custom JDK

Enter choice (1): 3
WARNING: JDK must be installed on all hosts and JAVA_HOME must be valid on all hosts.
WARNING: JCE Policy files are required for configuring Kerberos security. If you plan to use Kerberos,please make sure JCE Unlimited Strength Jurisdiction Policy Files are valid on all hosts.

在JAVA_HOME配置项填入我们的JDK路径地址,例如/java/jdk1.7.0_80。
这里附上jdk的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html
Path to JAVA_HOME: JDK地址(例如/java/jdk1.7.0_80)
Validating JDK on Ambari Server…done.

最后是数据库设置,这里为了简便选择使用Amabri内置的Postgresql,直接回车继续。配置程序便会开始执行初始化数据库的元数据信息。

Completing setup…
Configuring database…
Enter advanced database configuration [y/n] (n)?
Configuring database…
Default properties detected. Using built-in database.
Configuring ambari database…
Checking PostgreSQL…
Running initdb: This may take up to a minute.
Initializing database: [ OK ]

About to start PostgreSQL
Configuring local database…
Connecting to local database…done.
Configuring PostgreSQL…
Restarting PostgreSQL
Extracting system views…
…ambari-admin-2.4.0.1.1.jar
省略中间过程…
Adjusting ambari-server permissions and ownership…
Ambari Server ‘setup’ completed successfully.


### 启动Ambari-Server
再次执行`ambari-server start` 命令启动Ambari-Server,可以看到 Ambari通过Python脚本启动了Server服务,并将日志文件写到了 /var/log/ambari-server目录下,启动信息如下。

Using python /usr/bin/python
Starting ambari-server
Ambari Server running with administrator privileges.
Organizing resource files at /var/lib/ambari-server/resources…
Ambari database consistency check started…
No errors were found.
Ambari database consistency check finished
Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start………………..
Ambari Server ‘start’ completed successfully.

现在可以打开浏览器,输入http://服务器ip:8080/ 来访问Ambari。如图3-1所示,可以看到Ambari的登录界面,输入默认用户名: admin,密码:admin完成登录。
![](/image/94e0e731-4839-4abf-8ff9-3eb18f355db3)

5.新建集群

步骤1 点击Launch Install Wizard按钮进入新建集群向导。

步骤2 点击上图所示Launch Install Wizard按钮进入新建集群向导。

步骤3 设置集群名称,这里我们为这个集群取名为my_cluster。然后点击绿色下一步按钮继续。

步骤4 接下来开始配置HDP安装包地址。首先选择HDP-2.5版本,然后选择Use Local Repository使用本地仓库安装的模式,最后在redhat6操作系统分类下输入:
HDP-2.5 : http://apache服务器地址/hdp/HDP/centos6
HDP-UTILS-1.1.0.21: http://apache服务器地址/hdp/HDP-UTILS-1.1.0.21/repos/centos6

步骤5 全部填好之后,点击绿色下一步按钮继续。

配置集群

接下来会进入集群的配置流程,整个过程大致分成三个步骤,它们分别是:

步骤1 我们需要在Ambari-Server所部署的服务器节点上生成公钥和私钥,可以通过执行如下命令实现。

ssh-keygen -t rsa
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

执行成功之后会在 /root/.ssh 目录下生成私钥和公钥文件。

步骤2 我们需要将生成的公钥添加到集群中所有目标服务器节点的authorized_keys文件中去。(例如这里我们就需要将公钥添加到server1.cluster.com和server2.cluster.com)
首先,我们进入到Ambari-Server服务器的 /root/.ssh 目录。然后,执行如下命令进行拷贝。
添加server1.cluster.com服务器

ssh-copy-id -i ./id_rsa.pub root@server1.cluster.com
root@server1.cluster.com's password: 
Now try logging into the machine, with "ssh 'root@server1.cluster.com'", and check in:

  .ssh/authorized_keys

添加server2.cluster.com服务器

ssh-copy-id -i ./id_rsa.pub root@server2.cluster.com
The authenticity of host 'server2.cluster.com (10.0.1.62)' can't be established.
RSA key fingerprint is 6b:97:71:34:6b:97:90:46:58:8f:e5:7a:8f:d0:d1:65.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server2.cluster.com,10.0.1.62' (RSA) to the list of known hosts.
root@server2.cluster.com's password: 
Now try logging into the machine, with "ssh 'root@server2.cluster.com'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

拷贝过程中会要求你输入目标服务的登录密码。

步骤3 我们需要将私钥上传到Ambari的管理控制台,使用cat命令查看私钥文件。

cd /root/.ssh
cat id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAzbFoTta2b5j3dqpWa3a5AdWzXbT+fnC87oQRyeIQF3iCkuU9
中间部分省略…
-----END RSA PRIVATE KEY-----

将上述这段字符串填写到控制台,接下来的事情就可以交给Ambari了,如图所示,上述步骤全部做完之后咱们点击绿色按钮继续下一步。

注册服务器(执行这一步的时候,没有报错,所以并没按照下面的方法修改)

在我们的协助之下,现在Ambari可以开始注册服务器了。它首先会根据上一步目标主机的FQDN进行注册,然后会在每台服务器上安装Agent代理服务并配置相应的环境。
可能出现的错误:
1

chmod: cannot access `/var/lib/ambari-agent/data': No such file or directory
解决方式是手工创建/var/lib/ambari-agent/data目录。

Ambari agent machine hostname (localhost.localdomain) does not match expected ambari server hostname

虽然我们已经设置过FQDN了,但Ambari的安装脚本只会从/etc/hosts文件中的第一行配置读取hostname信息。所以我们需要再次修改hosts文件,将第一行的localhost.localdomain替换成服务器的FQND。

例如将localhost.localdomain替换成server1.cluster.com
127.0.0.1   localhost server1.cluster.com localhost4 localhost4.localdomain4

2

Ambari Agent host cannot reach Ambari Server 'localhost:8080'. Please check the network connectivity between the Ambari Agent host and the Ambari Server
进入Ambari-Server所在服务器的/usr/lib/python2.6/site-packages/ambari_server目录,修改Python脚本setupAgent.py文件第315行,将hostname改为server1.cluster.com。
#hostname = args[2]`
 hostname = "server1.cluster.com"
在修改Python脚本的时候切记不要使用Tabs缩进,需要使用空格对齐,否则会出现IndentationError: unindent does not match any outer indentation level错误。

如图所示,等待至所有的服务器都注册完毕之后,点击绿色按钮继续下一步。

安装服务

在服务器注册完毕之后,就可以开始安装Hadoop服务了。整个过程又可以分为四个步骤。
步骤1 我们需要在服务选择页面选取需要安装的服务,如图所示。

步骤2 我们需要分配主控服务,它们是集群服务的控制枢纽。例如HDFS的Namenode、HBase的HMaster和YARN的ResourceManager等。这里可以根据之前填写好的集群服务规划设计表格的指示来分配服务器和服务,如图所示。选择完毕之后请点击绿色按钮继续。
注意,请将Knox Gateway服务 和Ambar-Server安装在同一台服务器上。

步骤3 我们需要分配子服务和客户端程序。它们是集群服务的执行者们,例如HDFS的Datanode、HBase的Regionserver和YARN的NodeManager等。我们还是依照集群服务规划设计表格中的设计,将具体的子服务和客户端分配到相应的服务器,如图所示。
分配完毕之后,咱们点击绿色按钮继续下一步。

步骤4 完成自定义配置,如图所示。

在自定义设置页面,会看到很多个警告消息提示。不要慌张,这些警告是一些组件服务的必填配置项。这些配置通常都是设置一些管理员账号或数据库账号,所以我们需要认真对待它们,例如Hive设置需要配置它的元数据数据库信息,如图所示。
Hive的自定义配置,需要配置它的元数据数据库信息

其他组件的自定义配置与Hive类似,此处不再赘述。接下来会看到安装组件的预览界面,如下图所示。

接着会开始组件的安装过程。

当全部成功之后,我们就完成集群的安装了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_bukesiyi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值