Hdp + Ambari 本地源安装

一、安装虚拟服务器(VM12中安装centos7)

  Hdpm (先安装一台服务器,后面再通过克隆的方式进行服务器的复制)

二、安装jdk

    1. 下载jdk1.8安装包

    2. 将文件传到指定目录
        jdk-8u121-linux-x64.tar.gz

    3. 解压文件
        tar -zxvf jdk-8u121-linux-x64.tar.gz

    4. 配置环境变量
    vim /etc/profile
    在文件末尾添加:
    export JAVA_HOME=/usr/local/java/jdk1.8.0_91
    export PATH=$PATH:$JAVA_HOME/bin

如果原先服务有自带的jdk可用如下方式进行卸载

centos7中自带了openjdk
卸载openjdk version "1.8.0_65"
检查卸载已经安装的默认jdk
[root@localhost ~]# rpm -qa | grep jdk  
java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.i68
[root@localhost ~]# yum -y remove java*openjdk*

三、安装JCE(可选,因为该版本会用到Kerberos进行Hadoop集群的安全保障,所以将会在此阶段配置JCE)

1. 下载JCE安装包
     http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
2 安装JDK与JCE
  将安装包解压到指定路径($JAVA_HOME/jre/lib/security/)
unzip -o -j -q jce_policy-8.zip -d $JAVA_HOME/jre/lib/security

四、安装基础环境 (在主机hdpM,SY002,SY003部署)

(1)安装基本包

yum install openssh wget vim openssh-clients openssl gcc openssh-server mysql-connector-odbc -y

systemctl enable sshd && systemctl start sshd

(2)安装mysql jdbc 驱动

    yum install mysql-connector-java -y

(3)开启NTP服务

$ yum -y install ntp
$ systemctl is-enabled ntpd
$ systemctl enable ntpd
$ systemctl start ntpd

(4)克隆虚拟机(通过hdpm克隆出SY002,SY003,AmbariSql)
修改主机名:

  a、vi /etc/hosts 
    192.168.22.178 hdpM hdpM.hadoop
    192.168.22.179 SY002 SY002.hadoop
    192.168.22.180 SY003 SY003.hadoop
    192.168.22.181 AmbariSql AmbariSql.hadoop


  b、vi /etc/hostname (每台主机单独修改本机的)
        hdpM

  c、vi /etc/sysconfig/network (每台主机单独修改本机的)
       # Created by anaconda
         NETWORKING=yes
         HOSTNAME=hdpM.hadoop

(5)配置SSH免密码登录
使用ssh命令完成无密码登录操作
本机登录

$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

远程登录(将公钥发送到需要无密码登录的目标节点)

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.22.178

*注:集群的每一台机器都需要执行以上操作以保证能够互相免密登录

(6)关闭防火墙和SELinux
查看防火墙状态并关闭

$ systemctl status firewalld
$ systemctl disable firewalld
$ systemctl stop firewalld

临时关闭,不用重启机器:

$ setenforce 0

修改配置文件让机器重启也生效:

$ cat /etc/sysconfig/selinux
SELINUX=disabled

五、搭建数据库(在主机Ambari-mysql上部署)

Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQL

a、安装mysql
  下载mysql的repo源
  wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

b、安装mysql57-community-release-el7-8.noarch.rpm包
  rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force

这里写图片描述

c、安装mysql
     yum install mysql-server

d、查看MySQL服务是否已启动:
     service mysqld status
     启动服务:
     systemctl start mysqld

e、修改root 密码:
     MySQL5.7会在安装后为root用户生成一个随机密码,而不是像以往版本的空密码。 可以安全模式修改root登录密码或者用随机密码登录修改密码。下面用随机密码方式
MySQL为root用户生成的随机密码通过mysqld.log文件可以查找到:
输入:grep 'temporary password' /var/log/mysqld.log
显示:A temporary password is generated for root@localhost: /;Xu73Lpb356
mysql -u root -p
mysql> Enter password: /;Xu73Lpb356 (输入刚才查询到的随机密码)
mysql> SET PASSWORD FOR 'root'@'localhost'= "Ambari-123";
Query OK, 0 rows affected (0.00 sec)

如果上面的方式不能修改可以使用下面安全模式修改root:
关闭服务:

systemctl stop mysqld.service
vi /etc/my.cnf
mysqld下面添加skip-grant-tables 保存退出启动服务。
systemctl start mysqld.service
mysql -u root #不用密码直接回车
use mysql
update user set authentication_string=password('Zgw-123') where User='root' and Host='localhost';
flush privileges;
exit;
vi /etc/my.cnf #把 skip-grant-tables 一句删除保存退出重启mysql服务
systemctl restart mysqld.service
再次登录即可:
mysql -uroot -pZgw123
如果进行操作出现下面的提示:
You must reset your password using ALTER USER statement before executing this statement.
就再设置一遍密码:
set password = password('Zgw-123');

f、开放3306端口
   允许使用用户名root密码Ambari-123从任何主机连接到mysql服务器。
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Ambari-123' WITH GRANT OPTION;
mysql>FLUSH PRIVILEGES;
mysql>exit;

开启防火墙mysql 3306端口的外部访问:

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

g、安装完成后创建ambari数据库及用户,登录root用户执行下面语句:
create database ambari character set utf8 ; 
CREATE USER 'ambari'@'%'IDENTIFIED BY 'Ambari-123';
GRANT ALL PRIVILEGES ON *.* TO 'ambari'@'%';
FLUSH PRIVILEGES;

如果要安装Hive,再创建Hive数据库和用户 再执行下面的语句:

create database hive character set utf8 ; 
CREATE USER 'hive'@'%'IDENTIFIED BY 'Hive-123';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%';
FLUSH PRIVILEGES;

如果要安装Oozie,再创建Oozie数据库和用户 再执行下面的语句:
create database oozie character set utf8 ;
CREATE USER ‘oozie’@’%’IDENTIFIED BY ‘Oozie-123’;
GRANT ALL PRIVILEGES ON . TO ‘oozie’@’%’;
FLUSH PRIVILEGES;

h、安装mysql jdbc 驱动:
yum install mysql-connector-java

g、将Ambari运行的数据库脚本添加到mysql服务器中,该脚本在安装Ambari主机该目录下:

/var/lib/ambari-server/resources

在安装mysql那台服务器操作:

mysql -u ambari -p
use ambari
source  /home/hdpm/source/Ambari-DDL-MySQL-CREATE.sql;

六、制作本地源 (在hdpM上部署便可)

1、下载 Ambari 、HDP 、HDP-UTILS 源包(文件很大,需要很长下载时间,请耐心等待。。。)

$ wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari-2.4.2.0-centos7.tar.gz

$ wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/HDP-2.5.3.0-centos7-rpm.tar.gz

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

2、创建ambari目录

     cd /var/www/html/ && mkdir ambari

3、将源包解压到ambari目录下

cd /home/centosm/hdp/source    
tar -vzxf ambari-2.4.2.0-centos7.tar.gz -C /var/www/html/ambari/AMBARI-2.4.2.0
tar -vzxf HDP-2.5.3.0-centos7-rpm.tar.gz -C /var/www/html/ambari/HDP
tar -vzxf  HDP-UTILS-1.1.0.21-centos7.tar.gz -C /var/www/html/ambari/hdp-util

注:解压出来的目录可能与官网的不一致,但这并不影响后面的正常安装。

4、下载repo

 wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
   wget http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/hdp.repo

验证本地源网站是否可用,可以使用浏览器直接访问下面的地址,如果可以看到解压文件则为可用:
访问地址:192.168.22.178/ambari

5、配置ambari、HDP、HDP-UTILS的本地源,首先下载上面资源列表中的相应repo文件,修改其中的URL为本地的地址,相关配置如下

  cd /etc/yum.repos.d/
  wget  http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
  wget  http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.5.3.0/hdp.repo
 vi ambari.repo 

修改前:
这里写图片描述

修改后:
这里写图片描述

填入修改的地址前可以在浏览器上先确证,如下所示

这里写图片描述

 vi hdp.repo
[root@hdpM yum.repos.d]# more hdp.repo 
#VERSION_NUMBER=2.5.3.0-37
[HDP-2.5.3.0]
name=HDP Version - HDP-2.5.3.0
baseurl=http://192.168.22.178/ambari/HDP/centos7/
gpgcheck=1
gpgkey=http://192.168.22.178/ambari/HDP/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1

七、安装Ambari (在hdpM上部署)

安装Ambari

$ yum install ambari-server -y

配置Ambari

$ ambari-server setup

下面是配置执行流程,按照提示操作

(1) 提示是否自定义设置。输入:y
Customize user account for ambari-server daemon [y/n] (n)? y

(2)ambari-server 账号。输入:ambari
Enter user account for ambari-server daemon (root):ambari
Adjusting ambari-server permissions and ownership...

(3)设置JDK。输入:3
Checking JDK...
Do you want to change Oracle JDK [y/n] (n)? y
[] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8
[] Oracle JDK 1.7 + Java Cryptography Extension (JCE) Policy Files 7
[] Custom JDK
==============================================================================
Enter choice (1): 34)如果上面选择3自定义JDK,则需要设置JAVA_HOME。输入:/usr/local/java/jdk1.8.0_91
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/local/java/jdk1.8.0_91
Validating JDK on Ambari Server...done.
Completing setup...

(5)数据库配置。选择:y
Configuring database...
Enter advanced database configuration [y/n] (n)? y

(6)选择数据库类型。输入:3
Configuring database...
==============================================================================
Choose one of the following options:
[1] - PostgreSQL (Embedded)
[2] - Oracle
[3] - MySQL
[4] - PostgreSQL
[5] - Microsoft SQL Server (Tech Preview)
[6] - SQL Anywhere
==============================================================================
Enter choice (3): 37)设置数据库的具体配置信息,根据实际情况输入,如果和括号内相同,则可以直接回车。
Hostname (localhost):192.168.22.181
Port (3306):
Database name (ambari):
Username (ambari):
Enter Database Password (Ambari-123):Ambari-1238)将Ambari数据库脚本导入到数据库(这一步笔者在安装mysql数据库时已经执行了)
如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本

用ambari用户(上面设置的用户)登录mysql
mysql -u ambari -p
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql
注意:Ambari-DDL-MySQL-CREATE.sql 这个文件在hdpM主机上,目录为 
          /var/lib/ambari-server/resources

(9)启动Amabri
$ ambari-server start
注意:在启动之前需要将mysql启动包放到指定路径下

这里写图片描述

(10)成功启动后在浏览器输入Ambari地址:

这里写图片描述

11)提前手动安装ambari-agent:(每一节点都安装)
     #在第一个节点上下载
     cd /etc/yum.repos.d/
 wget  http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.4.2.0/ambari.repo
     并将其baseUrl修改为hdp源路径

     安装ambari-agent
     #yum install ambari-agent 

     修改ambari-agent.ini中要连接的主机名,这里每一个节点都是为了与安装ambari的主机进行连接,因此每个节点都应将hostname配置成ambari所对应的主机机名
如下所示:    
#vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=hdpm.hadoop
url_port=8440
secured_url_port=8441
#ambari-agent start
在三台机器执行上述代码,其中 < your.ambari.server.hostname> ,根据ambari主机名来填即可。 
点击下一步。

八、使用Ambari界面安装Hadoop、Hbase、Log Search服务

1、出现登录界面,默认管理员账户登录, 账户:admin 密码:admin

这里写图片描述

2、登录成功后出现下面的界面,至此Ambari的安装成功

这里写图片描述

3、安装安装HDP 2.5.3 配置集群(点击上面登录成功页面的Launch Install Wizard 按钮进行集群配置)

设置集群名称
这里写图片描述

4、置HDP安装源(选择HDP2.5 ,并且设置Advanced Repository Options 的信息,本次使用本地源,所以修改对用系统的安装源为本地源地址)

这里写图片描述

5、Install options
因为在前面已安装好了ambari-agent因而这一步选择第二种方式安装而非上传私钥的方式。

6、Host确认(确认前面配置集群中hosts列表 中的机器是否都可用,也可以移除相关机器,集群中机器Success后进行下一步操作)

这里写图片描述

7、选择要安装的服务

这里写图片描述

8、各个服务Master配置
9、服务的Slaves 和 Clients节配置
10、服务的客制化配置
11、显示配置信息
12、开始安装(安装各个服务,并且完成安装后会启动相关服务,安装过程比较长,如果中途出现错误,请根据具体提示或者log进行操作)
。。。

安装完成后如下:
这里写图片描述

==========
安装过程中遇到的问题:
1、提示FQDNs错误
这里写图片描述

解决方式如下:

原先/etc/hosts 如下所示:

[root@SY003 hdpm]# vi /etc/hosts
192.168.22.178 hdpM
192.168.22.179  SY002
192.168.22.180  SY003
192.168.22.181  AmbariSql

现修改成如下所示:

192.168.22.178 hdpM hdpM.hadoop
192.168.22.179 SY002 SY002.hadoop
192.168.22.180 SY003 SY003.hadoop

这里写图片描述

2、执行到这一步卡了两个小时还没任何变化

这里写图片描述

解决方式:手动在第一个节点上安装ambari-agent

3、手动在第一个节点上安装ambari-agent 后,确认主机时发现只有hdpm上确认是正确的,其他节点都是失败的

这里写图片描述

原因,其他主机在配置ambari-agent.ini 中配置hostname 配置错了,这个应该是配置成ambari主机对应的主机名才对,如下所示:

#vi /etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=hdpm.hadoop
url_port=8440
secured_url_port=8441
#ambari-agent start

4、 Cannot create /var/run/ambari-server/stack-recommendations
这里写图片描述

sudo chown -R ambari /var/run/ambari-server

5、重新安装时清理之前安装的
yum -y erase hdp-select

6、运用python手动清理之前存在的一些hadoop相关的包
python /usr/lib/python2.6/site-packages/ambari_agent/HostCleanup.py –silent –skip=users

7、

Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
SSH command execution finished
host=sy003.hadoop, exitcode=255
Command end time 2017-06-07 23:38:14

ERROR: Bootstrap of host sy003.hadoop fails because previous action finished with non-zero exit code (255)
ERROR MESSAGE: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

STDOUT: 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).

解决方式:

 1. yum clean all
  2. yum makecache

8、

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值