大数据平台HDP-2.6.4 安装与配置
一:关于HDP的介绍
二:系统环境介绍
三:系统环境初始化
四:安装HDP-2.6.4平台
五:启用NameNode HA 与 YARN HA
一:关于HDP的介绍
1.1:hdp是什么
HDP全称叫做Hortonworks Data Platform。
Hortonworks数据平台是一款利用Apache Hadoop开发的开源大数据平台,在提供大数据云存储、大数据处理与分析服务的同时,默认情况下也具备高效管理多源异构数据的能力,并通过其独特的架构设计实现了简便的数据整合与成本效益优化。该软件不仅支持现有的商业智能架构与技术栈,并且为集成现有数据架构提供了开放、稳定且高度可扩展的解决方案。通过整合包括MapReduce在内的多种 Apache Hadoop组件以及分布式文件系统(HDFS)、Pig、Hive、HBase与Zookeeper等技术模块,HDP显著提升了管理上的便捷性,同时增强了系统的开放性和扩展能力
官网地址为:http://zh.hortonworks.com/
1.2 hdp的封装的大数据平台组件

二:系统环境介绍
vim /etc/hostname
2.1:配置系统主机名
vim /etc/hosts
172.17.100.11 ZY-001.flyfish
172.17.100.12 ZY-002.flyfish
172.17.100.13 ZY-003.flyfish
2.2: 安装整体步骤
1.集群服务器配置,包括安装操作系统、关闭防火墙、同步服务器时钟等;
2.外部数据库安装
3.安装Ambari管理器;
4.安装HDP集群;
集群完整性的验证过程将涵盖 HDFS 文件系统、MapReduce 以及 Hive 等其他相关组件的状态检测
三:系统环境初始化
3.1:无密钥登录配置
做root用户无密钥认证
ssh-keygen ---一直敲回车到最后
cat ~/.ssh/id_rsa.pub >>authorized_keys
通过将所有公钥移动至authorized_keys文件中并部署到所有设备(包括本地设备)的.ssh/目录下,并执行以下命令:ssh-copy-id -i ~/.ssh/id_rsa.pub root@ZY-001.flyfish
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ZY-002.flyfish
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ZY-003.flyfish
然后测试
3.2: 关闭firewalld,iptables与selinux
yum install -y firewall* iptable*
(1) 关闭firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
(2) 关闭iptables
iptables -F
systemctl stop iptables.service
serviceiptables save
systemctl disable iptables.service
(3) 禁用selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
setenforce 0
getenforce 0
sestatus
重启机器
reboot

3.3 所有机器更改centos7.5x64的文件句柄数
vim /etc/security/limits.conf
---
-
soft nofile 65536
-
hard nofile 65536
-
soft nproc 131072
-
hard nproc 131072
---


关闭当前shell窗口,重新打开输入ulimit -a查看是否设置成功

3.4 生产环境配置chrony时间同步服务器
所有机器 yum install chrony*
1. ZY-001.flyfish:
vim /etc/chrony.conf增加
----
注释掉相关默认的server
server ntp1.aliyun.com iburst
allow 172.17.100.0/16
Service chronyd start
Chkconfig chronyd on
2. ZY-002.flyfish---ZY-003.flyfish 同步node-01.flyfish
vim /etc/chrony.conf
----
注释掉默认的server
server 172.17.100.21 iburst
----
service chronyd stop
service chronyd start
chkconfig chronyd on





本地时间源地址如上图所示
3.5: hdp所需软件下载
ambari-2.6.1.5-centos7.tar.gz
下载地址:
Hortonworks public repository version 1 provides the HortonWorks AMR (Ambari) Cluster Manager for CentOS 7, featuring the release series version 2 Series 6 Build 1 Build ID 5 with enhanced features and improvements to the existing functionalities
Hortonworks public repository version 1 provides the HortonWorks AMR (Ambari) Cluster Manager for CentOS 7, featuring the release series version 2 Series 6 Build 1 Build ID 5 with enhanced features and improvements to the existing functionalities
HDP-2.6.4.0-centos7-rpm.tar.gz
下载地址:
Access URL to Hortonworks Public Repository for Hadoop Project: https://public-repo-1.hortonworks.com/HDP/centos7/2.x/uploads/2.6.3/hdp-2.6-4-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
下载地址:
http://public repo/hortonwork's.com/hdp-utils ver 1.x/repo.centos7/hdp-utils ver 2.x.tar.gz
关于 ambari-2.6.1的docs
3.6 安装jdk1.8.162
1**、检查是否存在jdk,存在就删除****openjdk**

2**、安装****jdk**
tar -zxvf jdk-8u162-linux-x64.tar.gz
mv jdk1.8.0_162 /usr/java/
vim /etc/profile
---
export JAVA_HOME=/usr/java/jdk1.8.0_162
export JRE_HOME=/usr/java/jdk1.8.0_162/jre
export PATH=JAVA_HOME/bin:JRE_HOME/bin:$PATH
---
source /etc/profile
java -version

3.7修改主机语言为英文
vim /etc/locale.conf
LANG="en_US.UTF-8"
3.8umask值(所有机器)
sudo sh -c "echo umask 0022 >> /etc/profile"
使环境变量生效
source /etc/profile

四:安装 hdp3.1
4.1 : 配置ambari所需安装源
安装httpd
yum install -y httpd
service httpd start
chkconfig httpd on
cd /var/www/html/
mkdirambari
1. ambari的 yum源
cd /root/hdp
tar -zxvfambari-2.7.3.0-centos7.tar.gz
mv /root/hdp/ambari /var/www/html/ambari


cd /var/www/html/ambari/ambari/centos7/2.7.3.0-139
cp -p ambari.repo /etc/yum.repos.d/
cd /etc/yum.repos.d
vimambari.repo
----
#VERSION_NUMBER=2.7.3.0-139
[ambari-2.7.3.0]
#json.url = http://public-repo-1.hortonworks.com/HDP/hdp_urlinfo.json
name=ambari Version - ambari-2.7.3.0
baseurl=http://192.168.80.248/ambari/ambari/centos7/2.7.3.0-139/
gpgcheck=1
gpgkey=http://192.168.80.248/ambari/ambari/centos7/2.7.3.0-139/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
----

4.2 配置hdp和hdp-utils的源
cd /root/hdp
tar -zxvfHDP-3.1.0.0-centos7-rpm.tar.gz
mv HDP /var/www/html/ambari
cd /var/www/html/ambari/HDP/centos7/3.1.0.0-78/
cp -p hdp.repo /etc/yum.repos.d/
cd /root/hdp
mkdir HDP-UTILS
tar -zxvfHDP-UTILS-1.1.0.22-centos7.tar.gz -C HDP-UTILS
mv HDP-UTILS /var/www/html/ambari/
cd /etc/yum.repos.d/
vimhdp.repo
---
#VERSION_NUMBER=3.1.0.0-78
[HDP-3.1]
name=HDP Version - HDP-3.1.0.0
baseurl=http://192.168.80.248/ambari/HDP/centos7/3.1.0.0-78/
gpgcheck=1
gpgkey=http://192.168.80.248/ambari/HDP/centos7/3.1.0.0-78/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
[HDP-UTILS-1.1.0.22]
name=HDP-UTILS Version - HDP-UTILS-1.1.0.22
baseurl=http://192.168.80.248/ambari/HDP-UTILS/centos7/1.1.0.22/
gpgcheck=1
gpgkey=http://192.168.80.248/ambari/HDP-UTILS/centos7/1.1.0.22/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
---

tar -zxvfHDP-GPL-3.1.0.0-centos7-gpl.tar.gz
mv HDP-GPL /var/www/html/ambari
cd /var/www/html/ambari/HDP-GPL/
mvhdp-gpl.repo /etc/yum.repos.d/
cd /etc/yum.repos.d/
vimhdp-gpl.repo
---
#VERSION_NUMBER=3.1.0.0-78
[HDP-GPL-3.1.0.0]
name=HDP-GPL Version - HDP-GPL-3.1.0.0
baseurl=http://192.168.80.248/ambari/HDP-GPL/centos7/3.1.0.0-78/
gpgcheck=1
gpgkey=http://192.168.80.248/ambari/HDP-GPL/centos7/3.1.0.0-78/RPM-GPG-KEY/RPM-GPG-KEY-Jenkins
enabled=1
priority=1
cd /etc/yum.repos.d/
scpambari.repohdp.repohdp-gpl.repo zy-002.flyfish:/etc/yum.repos.d/
scpambari.repohdp.repohdp-gpl.repo zy-003.flyfish:/etc/yum.repos.d/
yum clean all
yum make cache
yum repolist
4.3 安装mariadb-server 数据
yum install -y mariadb-server
systemctl start mariadb
systemctl enable mariadb
mysql_secure_installation






mysql -uroot -p123456
ambari数据库:
create database ambari character set utf8 ;
CREATE USER 'ambari'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON . TO 'ambari'@'%';
FLUSH PRIVILEGES;
hive 数据库:
create database hive character set utf8 ;
CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON . TO 'hive'@'%';
FLUSH PRIVILEGES;
oozie数据库:
create database oozie character set utf8;
CREATE USER 'oozie'@'%'IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON . TO 'oozie'@'%';
FLUSH PRIVILEGES;



mysql查看所有用户: select user,host from mysql.user;
mysql删除用户:drop user zhangsan@'%';
4.3 安装jdbc
拷贝jdbc到 java的目录
tar -zxvf mysql-connector-java-5.1.44.tar.gz
cd mysql-connector-java-5.1.44
cp mysql-connector-java-5.1.44-bin.jar /usr/share/java/
cd /usr/share/java/
mv mysql-connector-java-5.1.44-bin.jar mysql-connector-java.jar
chmod 777 mysql-connector-java.jar


4.4 安装ambari-server
yum install -y ambari-server

vim /etc/ambari-server/conf/ambari.properties
----
增加:
server.jdbc.driver.path=/usr/share/java/mysql-connector-java.jar
---
配置Hadoop组件Ambari服务器,并指定 JDBC 数据库为 MySQL 以及 JDBC 驱动程序路径为 /usr/share/java/mysql-connector-java.jar


ambari-server setup


可能报错:

cd /etc/yum.repos.d
ll 查看权限

修改拥有人为root
同时修改 /var/www/html/ambari下的文件夹及其文件的拥有人为root
chown -R root ambari
chown -R root HDP
chown -R root HDP-GPL
chown -R root HDP-UTILS

mysql -uroot -p123456
use ambari
source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql

4.5 启动ambari
ambari-server start


4.5所有节点安装ambari-client
1、yum -y install ambari-agent
2、修改配置文件/etc/ambari-agent/conf/ambari-agent.ini
[server]
hostname=XXXXXX(ambari服务器地址)
启动:ambari-agent start
4.6 打开ambari的web
用户名:admin
密码: admin







在注册过程中需要注意的是,在主机系统成功注册后将进行必要的检查步骤;当遇到提示信息时需要仔细核对相关信息,并按照相关指导完成相应设置。
4.7 安装相关组件









上传文件到所有节点:
libtirpc-0.2.4-0.16.el7.x86_64.rpm
libtirpc-devel-0.2.4-0.16.el7.x86_64.rpm
rpm -ivh libtirpc-*
报错:
请求libtirpc-lib

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libtirpc-0.2.4-0.10.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/libtirpc-devel-0.2.4-0.10.el7.x86_64.rpm
rpm -ivh libtirpc-*

Retry



建议依照先前的步骤增添其他组件,包括hive, oozie, pig, sqoop, hbase, spark和zeppelin

4.8 执行一个wordcount
su - hdfs
hdfsdfs -mkdir /input
vimwc.input
----
zhangyyhadoop
hadoop spark
yarn spark
----
hdfs dfs -put wc.input /input
HADOOP JAR hadoop.mapred.dist.packaging.HDP.INSTALL_DIR hadoop.mapred.util.WordCount hadoop.mapred.util.INDEXED.DIRECTORY hadoop.mapred.util.RESULT.DIRECTORY
hdfsdfs -get /output





五:启用NameNode HA 与 YARN HA
5.1 开启HDFS 的 HA 策略


先停掉hbase






sudo su hdfs -l -c 'hdfs dfsadmin -safemode enter'
sudo su hdfs -l -c 'hdfs dfsadmin -saveNamespace'



sudo su hdfs -l -c 'hdfsnamenode -initializeSharedEdits'




ZY-001.flyfish:
sudosuhdfs -l -c 'hdfszkfc -formatZK'
ZY-002.flyfish
sudosuhdfs -l -c 'hdfsnamenode -bootstrapStandby'






5.2 启用 YARN 的HA









六:常见问题解决办法
6.1 yarn资源足够,但是任务提交不上去
常规情况下,Yarn作业队列所占比例为0.2;在资源不足的情况下,则可以通过适当调整来提升资源利用率。

6.2 安装开始报错Cannot find a valid baseurl for repo: HDP-3.1-repo-1
1、修ambari脚本
/usr/lib/ambari-server/web/javascripts/app.js

修改为以下:

2、停止ambari-server
ambari-server stop
3、修改数据库表
A、mysql -uroot -p123456
B、use ambari
C、修改前:

修改后为:
update repo_definition set base_url="http://172.16.80.10/ambari/HDP/centos7/3.1.0.0-78" where id=25 ;
修改存储位置,在特定条件下设置base_url字段值为指定URL

6.3 hbase重装数据清理
- Delete Recursive on /apps/hbase
6.4kafka配置调整
- 关闭自动创建topic,及时间设置

6.5hdfs权限问题
- 当yarn任务以root账号提交,但是打印无hdfs目录权限问题的时候

- 尝试增加如下

或者

