Hdp + Ambari 本地源安装

来源:互联网 发布:中华养生网源码 编辑:程序博客网 时间:2024/05/28 03:01

一、安装虚拟服务器(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(可选,可不安装)

1. 下载JCE安装包     http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html2 安装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 -ysystemctl 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/selinuxSELINUX=disabled

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

Ambari安装会将安装等信息写入数据库,建议使用自己安装的Mysql数据库,也可以不安装而使用默认数据库PostgreSQLa、安装mysql  下载mysql的repo源  wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpmb、安装mysql57-community-release-el7-8.noarch.rpm包  rpm -ivh mysql57-community-release-el7-8.noarch.rpm --nodeps --force

这里写图片描述

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

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

systemctl stop mysqld.servicevi /etc/my.cnfmysqld下面添加skip-grant-tables 保存退出启动服务。systemctl start mysqld.servicemysql -u root #不用密码直接回车use mysqlupdate 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 --permanentfirewall-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 -puse ambarisource  /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.0tar -vzxf HDP-2.5.3.0-centos7-rpm.tar.gz -C /var/www/html/ambari/HDPtar -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.0baseurl=http://192.168.22.178/ambari/HDP/centos7/gpgcheck=1gpgkey=http://192.168.22.178/ambari/HDP/centos7/RPM-GPG-KEY/RPM-GPG-KEY-Jenkinsenabled=1priority=1

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

安装Ambari

$ yum install ambari-server -y

配置Ambari

$ ambari-server setup

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

(1) 提示是否自定义设置。输入:yCustomize user account for ambari-server daemon [y/n] (n)? y(2)ambari-server 账号。输入:ambariEnter user account for ambari-server daemon (root):ambariAdjusting ambari-server permissions and ownership...(3)设置JDK。输入:3Checking 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_91WARNING: 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_91Validating JDK on Ambari Server...done.Completing setup...(5)数据库配置。选择:yConfiguring database...Enter advanced database configuration [y/n] (n)? y(6)选择数据库类型。输入:3Configuring 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.181Port (3306):Database name (ambari):Username (ambari):Enter Database Password (Ambari-123):Ambari-1238)将Ambari数据库脚本导入到数据库(这一步笔者在安装mysql数据库时已经执行了)如果使用自己定义的数据库,必须在启动Ambari服务之前导入Ambari的sql脚本用ambari用户(上面设置的用户)登录mysqlmysql -u ambari -puse ambarisource /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.hadoopurl_port=8440secured_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/hosts192.168.22.178 hdpM192.168.22.179  SY002192.168.22.180  SY003192.168.22.181  AmbariSql

现修改成如下所示:

192.168.22.178 hdpM hdpM.hadoop192.168.22.179 SY002 SY002.hadoop192.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.hadoopurl_port=8440secured_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 finishedhost=sy003.hadoop, exitcode=255Command end time 2017-06-07 23:38:14ERROR: 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、