当前位置:   article > 正文

HDP3.1.5+Ambari2.7.5安装_部署ambari 2.7.5 + hdp3.1.5

部署ambari 2.7.5 + hdp3.1.5

当集群安装好后,即使你不常用,每个礼拜最少启动一次,长时间不启动后它启动自检过不去会报废,很麻烦的。

正式安装前先说一句题外话,一定要分清楚ambari和hdp是什么关系?hdp全称Hortonworks Data Platform,是基于apche hadoop生态圈原始版本之上开发出的发行版,是Hortonworks公司推出的一个免费开源的大数据集群解决方案,ambari是hdp的安装工具以及管理界面。

应当要分清的是,我们使用的ambari,是Hortonworks将apche ambari二次封装进hdp集群以后的一个产物,和cdh不一样,cdh不是开源免费的,cdh是一个定制化比较高的集群解决方案,所以有着配套的管理页面和安装工具。可以理解为hdp是低定制保留了大部分原生特色的集群解决方案,而cdh恰恰相反,甚至在使用组件时都需要使用特定的cdh版本。

第一步:搭建环境准备

HDP安装包,通过网盘获取,这里注意网盘中没有Mysql包,自己准备就行,或者去我的CDH共享中获取
链接:https://pan.baidu.com/s/1XmSqP08IvbA2BTUniMw8ZQ
提取码:jaco

系统使用CentOS 7 64
  • 1
服务器节点三台、修改静态IP、主机名:
192.168.88.166 node1
192.168.88.167 node2
192.168.88.168 node3

配置:单台8核10G
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

第二步:关闭防火墙与selinux

关闭防火墙与selinux
vi /etc/sysconfig/selinux
SELINUX=disabled

systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第三步:ssh互信与同步时间

节点ssh互信,见博客批量方式SSH互信
同步时间,见博客Linux同步时间方式


第四步:所有节点关闭透明大页与swap

a) 执行sysctl vm.swappiness=10,改变运行时的参数
打开/etc/sysctl.conf文件,添加vm.swappiness=10条目,然后sysctl -p生效修改

b) 执行下面两句话,改变运行时参数
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并将这两句话添加到/etc/rc.local文件中,以便重启后生效
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第五步:安装JAVA-JDK

a) 将大家自己准备好的JDK的包,上传到各节点并解压缩到/usr/java/目录下,注意必须是/usr/java这个目录

b) 配置java环境变量,在/etc/profile中添加如下内容,注意使用自己的版本

export JAVA_HOME=/usr/java/jdk1.8.0_333
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
  • 1
  • 2
  • 3
  • 4

c) source /etc/profile

d) 将jdk推送给其它节点

scp -r jdk1.8.0_162/ node2:/usr/java/jdk1.8.0_333
scp -r jdk1.8.0_162/ node3:/usr/java/jdk1.8.0_333
  • 1
  • 2

e) 在各节点执行source /etc/profile,并通过java -version测试java


第六步:在node1上搭建本地yum源

如果看过我CDH安装手册的网友,不要直接就去搭建Python的服务,HDP我们使用httpd服务,因为Python的http服务性能不够,HDP的包太多了,同时也给看过我CDH安装手册的朋友展示一下http做yum源怎么配置

首先安装httpd服务,并启动它

yum -y install httpd
systemctl start httpd
systemctl enable httpd.service

systemctl stop httpd
  • 1
  • 2
  • 3
  • 4
  • 5

安装后访问http://IP出现服务测试页就好

在这里插入图片描述

随后进入 /etc/yum.repos.d/ 目录下,并和CDH一样上传系统镜像包,并挂载到某一目录下,这里任然挂载到/mnt,然后使用cp命令把镜像包里的内容移动到http服务目录去,这样就不用其他节点也挂载本地镜像了,并且将Mysql也上传到特定目录下,但和CDH不一样的是不需要屏蔽系统原有的yum源,这一点后面解释。

mount 系统iso文件 /mnt
mkdir /var/www/html/iso
cp -r /mnt/* /var/www/html/iso

mysql上传到/var/www/html/mysql下
  • 1
  • 2
  • 3
  • 4
  • 5

上传mysql后,你需要上传createrepo-0.9.9-28.el7.noarch.rpm,并运行yum -y localinstall 包路径安装此包,以及运行在/var/www/html目录下运行createrepo -d /var/www/html/mysql创建资源文件,不然yum检查不到yum源的。

随后创建/etc/yum.repos.d/base.repo文件,增加如下内容源到repo文件中

[ISO]
name=ISO
baseurl=http://node1/iso
gpgcheck=0
enabled=1

[Mysql-5.7.16]
name=Mysql-5.7.16
baseurl=http://node1/mysql
gpgcheck=0
enabled=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

不过要着重说明一点,像我一样把iso文件里面的东西放在一个网络资源上,而不是本地路径,那么就不需要用安装的reaterepo工具去生成资源索引文件,人家iso里面本身就有,你只需要从挂载的目录里面把所有的文件拷贝到你用的网络资源服务目录里面就行,不要和个愣头青一样,上来生成一个资源索引导致不能用了,来私信我怎么搞,喷我发的东西不对!!!!!!

将HDP用到的tar包解压到/var/www/html/路径下

tar -zxvf  ambari-2.7.5.0-centos7.tar.gz -C /var/www/html/
tar -zxvf  HDP-3.1.5.0-centos7-rpm.tar.gz -C /var/www/html/
tar -zxvf  HDP-GPL-3.1.5.0-centos7-gpl.tar.gz -C /var/www/html/
tar -zxvf  HDP-UTILS-1.1.0.22-centos7.tar.gz -C /var/www/html/
  • 1
  • 2
  • 3
  • 4

创建/etc/yum.repos.d/ambari.repo文件,增加如下内容源到repo文件中

[Ambari-2.7.5.0]
name=Ambari-2.7.5.0
baseurl=http://node1/ambari/centos7/2.7.5.0-72/
gpgcheck=0
enabled=1
priority=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

创建/etc/yum.repos.d/HDP.repo,增加如下内容源到repo文件中

[HDP-3.1.5.0]
name=HDP Version - HDP-3.1.5.0
baseurl=http://node1/HDP/centos7/3.1.5.0-152/
gpgcheck=0
enabled=1
priority=1

[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://node1/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=0
enabled=1
priority=1

[HDP-GPL-3.1.5.0]
name=HDP-GPL Version - HDP-GPL-3.1.5.0
baseurl=http://node1/HDP-GPL/centos7/3.1.5.0-152
gpgcheck=0
enabled=1
priority=1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

最后更新yum源

yum clean all
yum repolist
  • 1
  • 2

这里有个坑点,HDP+Ambari安装时,不需要把系统原来的repo文件屏蔽,它和CDH不一样,HDP的各个服务反而需要系统原本的yum源去更新依赖,任然挂载ISO文件我理解是为了提高安装效率

这里要对httpd服务的站点主目录做一个解释,防止有脑洞比较大的朋友想不清楚,httpd站点目录默认是/var/www/http,它可以改,但是需要其他的插件,修改的性价比不高,所以直接用默认路径就行


第七步:node1节点安装Mysql

mysql安装时,注意有一个坑点,mysql服务最好与Ambari主服务安装在同一节点,并且在后期运行 setup命令 配置ambari的数据库时连接路径中的IP直接使用localhost,不然后期启动会如下错误:REASON: Server not yet listening on http port 8080 after 90 seconds 这个问题网上也没有明确的说法,只能说厂商服务确实是个好东西

a) 检查并卸载cm节点原有的mysql相关文件

rpm -qa | grep -i mysql
rpm -ev --nodeps 上面命令的执行结果列表
find / -name mysql,手工删除查找结果。查找结果举例:/var/lib/mysql、/usr/lib/mysql、/usr/lib64/mysql、/usr/include/mysql、/etc/my.cnf
  • 1
  • 2
  • 3

b)使用yum从本地源中安装Mysql,正常情况下需要把所有的mysql包都安装,不过这里演示作用,就没有安装其他的,大家安装的时候要全安

yum -y install mysql-community-server mysql-community-client
  • 1

在这里插入图片描述
c) 根据实际需要考虑是否修改/etc/my.cnf配置文件,一般不用特意更改

d) 设置MySQL开机启动并启动MySQL

systemctl enable mysqld.service
systemctl start mysqld.service
systemctl status mysqld.service
  • 1
  • 2
  • 3

e) 执行grep password /var/log/mysqld.log获得初始密码,例如下图中末尾的那一串密码
在这里插入图片描述
f) 执行mysql_secure_installation命令,对MySQL做基础配置

Securing the MySQL server deployment.

Enter password for user root: 输入初始密码

The existing password for the user account root has expired. Please set a new password.

New password: 输入新密码,例如Root123!

Re-enter new password: Root123!
The 'validate_password' plugin is installed on the server.
The subsequent steps will run with the existing configuration
of the plugin.
Using existing password for root.

Estimated strength of the password: 100 
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

g) 进入mysql,使用命令show variables like “%char%”; 检查字符集是否为utf8,如果不是改过来
在这里插入图片描述

h) JDBC链接
所有节点,创建/usr/share/java目录,将mysql-connector-java-5.1.47.jar文件上传至该目录,并重命名为mysql-connector-java.jar

i)创建用户,这里先准备两个,其他的大家用到了套用语句创建就可。

准备数据库用户的时候,有一个坑点密码使用字母、数字和下划线组合,不要有其他字符,不然Ambari不允许通过校验

CREATE DATABASE ambari DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;  
GRANT ALL ON ambari.* TO 'ambari'@'%' IDENTIFIED BY 'Wangyang_123';

CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'Wangyang_123'; 

flush privileges;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第八步:安装Ambari

安装服务

yum -y install ambari-server
  • 1

拷贝mysql驱动到特定目录下

cp /usr/share/java/mysql-connector-java.jar /var/lib/ambari-server/resources/
  • 1

修改配置文件,末尾追加数据库驱动配置

vi /etc/ambari-server/conf/ambari.properties
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
  • 1
  • 2

运行命令设置驱动

ambari-server setup --jdbc-db=mysql --jdbc-driver=/usr/share/java/mysql-connector-java.jar
  • 1

进入mysql中的ambari库,运行ambari的sql文件

source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;
  • 1

运行命令,开始初始化ambari服务

ambari-server setup
  • 1
Using python  /usr/bin/python
Setup ambari-server
Checking SELinux...
SELinux status is 'disabled'
Customize user account for ambari-server daemon [y/n] (n)? y
Enter user account for ambari-server daemon (root):
Adjusting ambari-server permissions and ownership...
Checking firewall status...
Checking JDK...
[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[2] Custom JDK
==============================================================================
Enter choice (1): 2
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.
Path to JAVA_HOME: /usr/java/jdk1.8.0_333
Validating JDK on Ambari Server...done.
Check JDK version for Ambari Server...
JDK version found: 8
Minimum JDK version is 8 for Ambari. Skipping to setup different JDK for Ambari Server.
Checking GPL software agreement...
GPL License for LZO: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
Enable Ambari Server to download and install GPL Licensed LZO packages [y/n] (n)? y
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)? y
Configuring database...
==============================================================================
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): 
Enter Database Password (bigdata): 
Re-enter password: 
Configuring ambari database...
Configuring remote database connection properties...
WARNING: Before starting Ambari Server, you must run the following DDL directly from the database shell to create the schema: /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
Proceed with configuring remote database connection properties [y/n] (y)? y
Extracting system views...
ambari-admin-2.7.5.0.72.jar
....
Ambari repo file doesn't contain latest json url, skipping repoinfos modification
Adjusting ambari-server permissions and ownership...
Ambari Server 'setup' completed successfully.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54

启动服务

ambari-server start
  • 1

在这里插入图片描述


第九步:搭建集群

登录http://HDP管理节点IP:8080,账户/密码:admin/admin
在这里插入图片描述
点击开始创建cluster
在这里插入图片描述
起一个名字点击下一步
在这里插入图片描述
HDP版本号不变,我在网盘中共享的就是3.1的
在这里插入图片描述
在版本界面向下拉,选择使用自定义配置,并将下面的配置框只保留一个redhat7,其他的点击右侧remove删除
在这里插入图片描述
根据前面的配置名称,将对应的yum路径添加上去,随着你的填写HDP会自检,并在填写错误时给出提示
在这里插入图片描述
在你的服务器上将id_rsa文件拷贝下来,一般在你用来SSH的用户主目录下的.ssh文件夹下,并在下一步填写集群节点,以及上传该文件
在这里插入图片描述
点击下一步,后再弹出的模态框中点击提交
在这里插入图片描述
进入安装界面,等待即可
在这里插入图片描述
在此界面等待安装时有一个坑,当所有节点安装成功后,会自检,如下图
在这里插入图片描述
此时如果你的系统安装时选择了中文,那么在此界面各节点自检时就会进程卡死

自检成功后点击下一步,在弹出的模态框中点击OK
在这里插入图片描述
进入自选服务界面,我们不要一次性全部安装,先安装必要的服务,防止安装太多而失败。
在这里插入图片描述
选好后点击下一步,并在弹出的模态框中选择OK
在这里插入图片描述
之后会弹出警告,忽略即可
在这里插入图片描述
随后根据不同节点的性能,装载不同的主服务
在这里插入图片描述
点击下一步后,开始装载每个主服务对应的其他服务
在这里插入图片描述
随后验证密码,Grafana AdminActivity Explorer's Admin密码输入admin就行,其他的填写准备好的数据库密码
在这里插入图片描述
修改数据库的详情配置注意,选已有的数据库,并连接路径对不对,配置后测试连接
在这里插入图片描述

配置HDFS,一般默认就可
在这里插入图片描述
配置资源
在这里插入图片描述
最后确定配置,点击无论如何
在这里插入图片描述
随后进入确定界面,如无误,则点击开始安装
在这里插入图片描述
在这里插入图片描述
所有节点服务安装成功后点击下一步
在这里插入图片描述
启动集群
在这里插入图片描述
在这里插入图片描述
最后看过我其他搭建文档的朋友应该都知道,我启动集群都是用脚本从来不是每次一个一个找节点去启动,虽然HDP搭建好后就一个启动命令,但是每次重复输入我也嫌弃麻烦

#!/bin/bash
#该脚本用来启动所有服务,通过参数决定

case $1 in 
"hdp_start"){
    echo "----------HDP启动环境---------"
	echo `date` > /opt/start_hdp_log/hdp_start.log
    
    echo "---------启动HDP集群----------"
    ambari-server start >> /opt/start_hdp_log/hdp_start.log
};;
"hdp_stop"){
    echo "----------HDP关闭环境---------"
	echo `date` > /opt/start_hdp_log/hdp_stop.log

    echo "---------关闭CDH集群----------"
    ambari-server stop >> /opt/start_hdp_log/hdp_stop.log
};;
esac
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/712064
推荐阅读
相关标签
  

闽ICP备14008679号