一:关于HDP的介绍
二:系统环境介绍
三:系统环境初始化
四:安装HDP-2.6.4平台
五:启用NameNode HA 与 YARN HA
一:关于HDP的介绍
1.1:hdp是什么
HDP全称叫做Hortonworks Data Platform。
Hortonworks数据平台是一款基于Apache Hadoop的是开源数据平台,提供大数据云存储,大数据处理和分析等服务。该平台是专门用来应对多来源和多格式的数据,并使其处理起来能变成简单、更有成本效益。HDP还提供了一个开放,稳定和高度可扩展的平台,使得更容易地集成Apache Hadoop的数据流业务与现有的数据架构。该平台包括各种的Apache Hadoop项目以及Hadoop分布式文件系统(HDFS)、MapReduce、Pig、Hive、HBase、Zookeeper和其他各种组件,使Hadoop的平台更易于管理,更加具有开放性以及可扩展性。
官网地址为: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集群;
5.集群完整性检查,包括 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 [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
然后测试
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
下载地址:
http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari-2.6.1.5-centos7.tar.gz
HDP-2.6.4.0-centos7-rpm.tar.gz
下载地址:
http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.3.0/HDP-2.6.4.0-centos7-rpm.tar.gz
HDP-UTILS-1.1.0.22-centos7.tar.gz
下载地址:
http://public-repo-1.hortonworks.com/HDP-UTILS-1.1.0.21/repos/centos7/HDP-UTILS-1.1.0.22-centos7.tar.gz
关于 ambari-2.6.1的docs
https://docs.hortonworks.com/HDPDocuments/Ambari-2.6.1.5/bk_ambari-installation/content/hdp_26_repositories.html
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
---
ambari-server setup --jdbc-db=mysql --jdbc-driver=/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
http://172.17.100.21:8080
用户名: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 /usr/hdp/2.6.4.0-91/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /input/ /output
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
修改后为:
update repo_definition set base_url="http://172.16.80.10/ambari/HDP/centos7/3.1.0.0-78" where id=25 ;
update repo_definition set base_url="http://172.16.80.10/ambari/HDP-UTILS/centos7/1.1.0.22/" where id=26 ;
6.3 hbase重装数据清理
6.4kafka配置调整
6.5hdfs权限问题
或者