从头开始系列—HDP篇之Centos 7离线安装HDP2.6.X
标签(空格分隔): 大数据 从头开始系列
[TOC]
题外话
公司最近要搭建自己得大数据平台,因为是培训公司,就着实验环境来。所以,从头开始搭建大部分环境。总上考虑,我打算使用HDP来搭建公司的大数据平台。
HDP能满足大部分需求。
环境准备
本次安装为离线安装。安装系统为:Centos 7
三台服务器:双路24线程CPU、64G内存、1T硬盘
节点规划如下:表一
本次安装得是HDP2.6.X系列。因为是离线安装,所以需要其相应得离线文件,他们有:
- Centos 7 everything的iso
- jdk 1.8+
- MySql安装包或者使用MaraiDB
- HDP对应得文件^footnote
-ambari-2.5.0.3-centos7.tar.gz
-HDP-2.6.1.0-centos7-rpm.tar.gz
-HDP-UTILS-1.1.0.21-centos7.tar.gz
-ambari.repo
-hdp.repo
开始
1、服务器端设置
1.1确认环境
- 三台服务器的HostName,以及/etc/hosts是否符合
表一
描述。 - 安装ambari时,需要关闭Linux的Selinux,故需要修改
/etc/selinux/config
修改为selinux=disabled - 因为我们是集群环境,故需要明确确定时间问题导致的服务启动失败,解决办法有:
1、安装ntp服务(如果大家集群环境可以联网,可以试着配置一下
)
2、使用xshell功能,设置一个相同的时间(我采用该方式
) - 需要生成
ssh密钥
,并且主节点需要和从节点免密登陆
三次回车后,会出现:ssh-keygen -t rsa
然后,使用
ssh-copy-id root@hdp02
ssh-copy-id root@hdp03
OK
- 需要关闭防火墙
以上必要的环境我们已经搭建完成。
1.2安装必要软件包
准备好了所有安装包
- 安装JDK
tar zxvf jdk-8u161-linux-x64.tar.gz mv jdk1.8.0_161/ /opt/jdk ##修改环境变量 vim /etc/profile
source /etc/profile java javac
如果java,javac有指令返回,说明环境变量配置成功
至此,jdk安装完成scp -r /opt/jdk/ root@hdp02:/opt/ scp -r /opt/jdk/ root@hdp03:/opt/ scp -r /etc/profile root@hdp02:/etc/ scp -r /etc/profile root@hdp03:/etc/
- 安装MySql或者MaraiDB
[需要在主节点安装,本次安装使用MaraiDB]
^mysql - 安装web环境
为什么需要安装web环境,因为我们需要通过repo的方式获取安装文件,而我们下载了离线安装包,所以需要配置相关的repo文件。有很多种方式,但是我们这里直接使用Python自带的一个简单工具来开启##因为我们是在/root/目录下,所以我们需要在/root/HDP目录下启动该命令 python -m SimpleHTTPServer
- 解压所有相关文件到指定文件夹下
##因为我们是在/root/HDP目录下启动的web服务,所以我们需要将相关文件解压到/root目录下 tar zxvf ambari-2.5.0.3-centos7.tar.gz tar zxvf HDP-2.6.1.0-centos7-rpm.tar.gz mkdir HDP-UTILS cd HDP-UTILS tar zxvf ../HDP-UTILS-1.1.0.21-centos7.tar.gz
最终的目录应该如上所示。
我们访问http://192.168.0.201:8000会发现如下界面:
这和上面的目录是一一对应的。
1.3配置本地源
配置Centos 7官方镜像源
因为我们是离线安装,没有任何联网手段
,故需要配置Centos 7官方镜像源。
cd /etc/yum.repos.d/
##将所有的repo文件移动到任意一个非现在位置的地方。然后创建a.repo
vim a.repo
##之后输入:
[base]
name=LocalRepo
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=file:///media
gpgcheck=0
enabled=1
#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
上面代码我们看到,我们指定的url在file:///media
,所以我们需要将Centos 7的everything的iso包挂载到/media
下。
mount CentOS-7-x86_64-Everything-1708.iso /media/
lsblk
这样表明已经挂着成功
yum makecache
配置HDP相关本地源
上面我们已经看到网页`http://192.168.0.201:8000下有很多目录。OK,我们开始配置ambari.repo
vim /etc/yum.repos.d/ambari.repo
##输入一下内容
#VERSION_NUMBER=2.4.2.0-136
[Updates-ambari-2.4.2.0]
name=ambari-2.4.2.0 - Updates
baseurl=http://192.168.0.201:8000/ambari/centos7/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/ambari/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
##注意以上的baseurl是网页上能访问到的那么目录,如下图:
##同样的道理
vim /etc/yum.repos.d/hdp.repo
##输入一下内容
#VERSION_NUMBER=2.6.0.0-1245
[HDP-2.6.0.0]
name=HDP Version - HDP-2.6.0.0
baseurl=http://192.168.0.201:8000/HDP/centos7/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.21]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.21
baseurl=http://192.168.0.201:8000/HDP-UTILS/
gpgcheck=0
#gpgkey=http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.0.0/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
##然后
yum makecache
如果没有报错,那么恭喜你,所有本地源配置完成!
为了部落,也为了一次成功还需要配置的有
: *需要关闭python的sll认证vim /etc/python/cert-verification.cfg
注意
该操作需要在所有节点执行
: *需要在mysql中创建ambari数据库。
2、开始安装
1、安装ambari
以上配置全部配置完成之后,重启所有节点。重启之后不要忘记开启web服务。
yum -y install ambari-server
ambari-server setup
Customize user account for ambari-server daemon [y/n] (n)? [y]
Enter user account for ambari-server daemon (root):[直接回车]
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]
Path to JAVA_HOME: [/opt/jdk]
Configuring database...
Enter advanced database configuration [y/n] (n)? [y]
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL / MariaDB
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
[7] - BDB
==============================================================================
Enter choice (1): [3]
Hostname (localhost):[直接回车]
Port (3306): [直接回车]
Database name (ambari): [直接回车]
Username (ambari):[root]
Enter Database Password (bigdata):[root]
WARNING: Before starting Ambari Server, you must copy the MySQL JDBC driver JAR file to /usr/share/java and set property "server.jdbc.driver.path=[path/to/custom_jdbc_driver]" in ambari.properties.
Press <enter> to continue.
注意:
做到此步骤时,需要将mysql的jdbc jar包复制到/usr/share/java
,并且在/etc/ambari-server/conf/ambari.properties
中添加,如下:
server.jdbc.driver.path=/usr/share/java/mysql-connector-java-5.1.23.jar
然后继续
WARNING: Before starting Ambari Server, you must run the following DDL against the database to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)?
##/var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
##这说明我们需要去mysql中使用该文件创建表。
mysql -uroot -p
mysql> use ambari;
Database changed
mysql> source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
##导入完成之后,返回继续安装
##输入[y]
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
##出现以上,表示设置成功。
##启动ambari
ambari-server start
Ambari Server 'start' completed successfully.[出现后表示成功启动]
OK,我们返回浏览器,访问:
http://192.168.0.201:8080
分别输入用户:admin 密码:admin
2、开始安装集群
上面我们已经安装好的ambari,所以我们现在开始安装HDP
点击Launch Install Wizard
按钮。进入如下界面:
在Name your cluster
中输入你想要的集群名称,然后点击Next
进入下一步;
这里必须选择Use Local Repository
使用本地源,而我们选择使用HDP2.6来安装集群。
而,我们到了这一步,需要特别注意,要正确书写源地址,如果没有正确书写会发生错误。如果一切都书写完毕,点击Next
按钮进入下一步:
在该步骤中,我们需要明确书写要安装的节点HostName
也就是我在图中花框的地方hdp[01-03]
,还有一个框,id_rsa
来源自节点hdp01生成的ssh密钥。所有都书写完毕后,点击Register and Confirm
进入下一步。
很顺利的所有节点安装成功,点击Next
进入下一步:
该步主要是选择需要安装的服务。我这里安装了:HDFS
YARN + MapReduce2
Tez
Hive
HBase
Pig
…太多了,不写了。选择完成之后,点击Next
按钮进入下一步。
下一步和下下一步的操作就不多介绍了,直接进入配置篇:
在配置这步骤中,会有很多需要我们手动配置的地方。这里着重说一下Hive那里,Hive我们都知道是需要配置元数据库的,所以我们这里这样选择:
选择Existing MySQL / MariaDB Database
表示使用已经存在的Mysql或者MariaDB。之后输入hive数据库名,这里我们需要创建hive数据库
,书写用户名
密码
。在shell中这样操作:
##登陆数据库
mysql> create database hive;
##退出数据库
ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java-5.1.23.jar
然后修改Database URL
链接为hdp01,点击Test Connection
按钮,看是否能链接成功。
链接成功后,将其他需要设置的点都设置完成,点击Next
按钮,开始安装服务。
等待安装完成!(这是一个漫长的等待过程~~~~)
我们看到,开启服务失败,不要担心,只是服务没有启动而已。我们点击Complete
按钮,完成安装。
我们发现了好多警告,没关系,点击Actions
->Start All
按钮,开启所有服务,稍等片刻,即可看到服务启动成功。
OK!平台安装完毕~