一、环境准备

  1. centos7 安装和系统环境处理

    1)运行初始化脚本

!/bin/bash

-------------------------------------

系统环境初始化脚本

本脚本仅支持centos, centos7.7验证成功

使用root用户运行

------------------------------------

1 依赖安装

yum clean all

yum makecache

yum update -y

yum install -y openssh-server vim gcc gcc-c++ glibc-headers bzip2-devel lzo-devel curl wget openssh-clients zlib-devel autoconf automake cmake libtool openssl-devel fuse-devel snappy-devel telnet unzip zip net-tools.x86_64 firewalld systemd svn ncurses-devel bzip2 psmisc libxslt-devel libxml2-devel libxslt.so.1 cyrus-sasl-plain yum groupinstall chinese-support mod_ssl ntp

2 关闭防火墙

echo "close firewall ----------------------------------------------------------"

firewall-cmd --state

systemctl status firewalld.service

systemctl stop firewalld.service

systemctl disable firewalld.service

systemctl status firewalld.service

3 关闭SELINUX

echo "close SELINUX ----------------------------------------------------------"

setenforce 0

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' '/etc/selinux/config'

4 修改UMASK

echo "set umask 0022 ----------------------------------------------------------"

umask 0022

echo umask 0022 >> /etc/profile

5 关闭swappiness

swap_dev=swapon -s | awk '{if (NR>1){print $1}}'

echo "swap device is ${swap_dev} ----------------------------------------------------------"

echo "close swap device ${swap_dev} ----------------------------------------------------------"

swapoff ${swap_dev}

if [ "$?" != 0 ] ; then

echo "close swap device ${swap_dev} failed ----------------------------------------------------------"

else

echo "close swap device ${swap_dev} success ----------------------------------------------------------"

fi

6 资源限制

echo "set ulimit 102400 ----------------------------------------------------------"

ulimit -Hn 102400

ulimit -Sn 102400

echo "* - nproc 102400" >> /etc/security/limits.conf

echo "* - nofile 102400" >> /etc/security/limits.conf

7 时钟同步

echo "start ntp ----------------------------------------------------------"

systemctl start ntpd

systemctl enable ntpd

systemctl status ntpd

8 禁止huge_page

echo "close huge_page ----------------------------------------------------------"

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local

echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

9 生成公钥私钥

echo "ssh-keygen ----------------------------------------------------------"

mkdir ~/.ssh

ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys

2)如果时区不合适,需要修改时区

[root@centos ~]# timedatectl

3)hostname 修改

[root@centos ~]# hostnamectl set-hostname hdp-master01

4)添加hosts

vim /etc/hosts

5)免密登陆

ambari-server root用户ssh免密登陆所有其他节点

[root@centos ~]# ssh-copy-id root@node03

2. java8

在 /etc/profile.d/目录下,增加java.sh

!/bin/bash

java.sh

JAVA_HOME=/usr/local/services/jdk1.8.0_191

JRE_HOME=/usr/local/services/jdk1.8.0_191/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

3. python2.7.5

yum -y install python-pip

pip install --upgrade pip

4. mysql

Node03:3306

root/12345678

yum install mysql-connector-java*

5. 目录规划

mkdir /hadoop

将所有磁盘挂载或者链接到此目录下

/hadoop/disk01

/hadoop/disk02

二、建设本地yum repo

有网络可以直接通过网络,无网络需要先拷贝所有需要下载的文件

依赖安装

yum install yum-utils createrepo httpd

创建目录

mkdir -p /var/www/html

mkdir -p /var/www/html/ambari

mkdir -p /var/www/html/hdp

下载repo url文件

cd /etc/yum.repos.d/

wget http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.7.4.0/ambari.repo

wget http://public-repo-1.hortonworks.com/HDP/centos7/3.x/updates/3.1.4.0/hdp.repo

查看repo

yum repolist

下载repo文件到本地

cd /var/www/html/ambari

reposync -r ambari-2.7.4.0

cd /var/www/html/hdp

reposync -r HDP-3.1.4.0

reposync -r HDP-UTILS-1.1.0.22

新建本地repo

createrepo /var/www/html/ambari/ambari-2.7.4.0

createrepo /var/www/html/hdp/HDP-3.1.4.0

createrepo /var/www/html/hdp/HDP-UTILS-1.1.0.22

启动http服务

systemctl start httpd.service

systemctl enable httpd.service

修改repo web地址

[root@node03 ~]#vim /etc/yum.repos.d/ambari.repo

[ambari-2.7.4.0]

baseurl=http://node03/ambari/ambari-2.7.4.0

...

[root@node03 ~]#vim /etc/yum.repos.d/hdp.repo

[HDP-3.1.4.0]

name=HDP Version - HDP-3.1.4.0

baseurl=http://node03/hdp/HDP-3.1.4.0

...

[HDP-UTILS-1.1.0.22]

name=HDP-UTILS Version - HDP-UTILS-1.1.0.22

baseurl=http://node03/hdp/HDP-UTILS-1.1.0.22

...

/etc/yum.repos.d/ambari.repo和hdp.repo需要拷贝到ambari-server将要部署的服务器

三、部署ambari-server

1.准备数据库

CREATE DATABASE ambari default character set utf8mb4 collate utf8mb4_unicode_ci;

GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '12345678' WITH GRANT OPTION;

1.安装ambari-server

yum install ambari-server

2.设置

[root@node01 /etc/yum.repos.d]#ambari-server setup

Customize user account for ambari-server daemon [y/n] (n)? y

Enter user account for ambari-server daemon (root):root

Checking JDK...

[1] Oracle JDK 1.8 + Java Cryptography Extension (JCE) Policy Files 8

[2] Custom JDK

Enter choice (1): 2

Path to JAVA_HOME: /usr/local/services/jdk1.8.0_191

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

Enter advanced database configuration [y/n] (n)? y

Configuring database...

Choose one of the following options:

[3] - MySQL / MariaDB

Enter choice (1): 3

Hostname (localhost): node03

Port (3306): 3306

Database name (ambari): ambari

Username (ambari): root

Enter Database Password (bigdata):

Re-enter password: 12345678

Should ambari use existing default jdbc /usr/share/java/mysql-connector-java.jar [y/n] (y)? y

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

3.建表

use ambari

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

4.启动

端口 8080

ambari-server start

ambari-server status

ambari-server stop

ambari-server restart

四、添加组件

注册 admin/admin

创建集群

选择版本设置仓库

添加节点

上传ambari-server所在服务器的私钥id_rsa

配置用户和ssh端口

使用的host不是域名,下一步

注册所有节点

添加组件

选择组件实际部署节点

设置grafana 帐号密码以及Activity 密码

设置文件目录(需要提前规划)

设置各个组件的启动用户

HDFS服务设置

部署

五、测试

测试hdfs 上传文件

hadoop fs mkdir /tmp/test/in

hadoop fs -put text.txt /tmp/test/in

测试yarn 运行任务

hadoop jar /usr/hdp/3.1.4.0-315/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /tmp/test/in /tmp/test/out

HDP集群部署的更多相关文章

  1. 基于Ambari Server部署HDP集群实战案例

    基于Ambari Server部署HDP集群实战案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.部署Ambari Server端 博主推荐阅读: https://www.c ...

  2. Quartz.net持久化与集群部署开发详解

    序言 我前边有几篇文章有介绍过quartz的基本使用语法与类库.但是他的执行计划都是被写在本地的xml文件中.无法做集群部署,我让它看起来脆弱不堪,那是我的罪过. 但是quart.net是经过许多大项 ...

  3. Openfire 集群部署和负载均衡方案

    Openfire 集群部署和负载均衡方案 一.   概述 Openfire是在即时通讯中广泛使用的XMPP协议通讯服务器,本方案采用Openfire的Hazelcast插件进行集群部署,采用Hapro ...

  4. 基于Tomcat的Solr3.5集群部署

    基于Tomcat的Solr3.5集群部署 一.准备工作 1.1 保证SOLR库文件版本相同 保证SOLR的lib文件版本,slf4j-log4j12-1.6.1.jar slf4j-jdk14-1.6 ...

  5. jstorm集群部署

    jstorm集群部署下载 Install JStorm Take jstorm-0.9.6.zip as an example unzip jstorm-0.9.6.1.zip vi ~/.bashr ...

  6. CAS 集群部署session共享配置

    背景 前段时间,项目计划搞独立的登录鉴权中心,由于单独开发一套稳定的登录.鉴权代码,工作量大,最终的方案是对开源鉴权中心CAS(Central Authentication Service)作适配修改 ...

  7. Windows下ELK环境搭建(单机多节点集群部署)

    1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...

  8. 理解 OpenStack + Ceph (1):Ceph + OpenStack 集群部署和配置

    本系列文章会深入研究 Ceph 以及 Ceph 和 OpenStack 的集成: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 ...

  9. HBase集成Zookeeper集群部署

    大数据集群为了保证故障转移,一般通过zookeeper来整体协调管理,当节点数大于等于6个时推荐使用,接下来描述一下Hbase集群部署在zookeeper上的过程: 安装Hbase之前首先系统应该做通 ...

  10. SolrCloud-5.2.1 集群部署及测试

    一. 说明 Solr5内置了Jetty服务,所以不用安装部署到Tomcat了,网上部署Tomcat的资料太泛滥了. 部署前的准备工作: 1. 将各主机IP配置为静态IP(保证各主机可以正常通信,为避免 ...

随机推荐

  1. 中电金信:云原生时代IT基础设施管理利器——基础设施即代码(IaC)

    ​在数字化转型.零售业务快速发展.信创建设驱动下,应用架构.技术架构.基础架构都已向云原生快速演进,银行业IT基础设施管理产生了非常大的变化,当前银行业,正在开展新一轮的核心应用系统重构.基础平台统一 ...

  2. SpringBoot结合Liquibase实现数据库变更管理

    https://juejin.cn/post/7171232605478584328 https://juejin.cn/post/7170857098538909732 前言 研发过程中经常涉及到数 ...

  3. PostgreSQL 的特点

    title: PostgreSQL 的特点 date: 2024/12/24 updated: 2024/12/24 author: cmdragon excerpt: PostgreSQL 是当今最 ...

  4. 解锁4K,Xilinx MPSoC ARM + FPGA高清视频采集与显示方案!

    当下,随着数字化多媒体技术以令人惊叹的速度不断演进,高清视频处理成为众多领域关注的焦点.今天为大家分享4K HDMI 高清视频方案,基于Xilinx UltraScale+ MPSoC XCZU7EV ...

  5. Qt编写安防视频监控系统25-离线地图

    一.前言 离线地图这个功能是近期才完成的,老早以前就很多人问有没有离线地图的功能,之前也大致了解过如何做离线地图,其实最核心的不是代码,而是如何搞到免费的离线地图文件,离线地图下载器网上大部分都是收费 ...

  6. 基于开源IM即时通讯框架MobileIMSDK:RainbowChat v11.7版已发布

    关于RainbowChat RainbowChat是一套基于开源IM聊天框架 MobileIMSDK 的产品级移动端IM系统.RainbowChat源于真实运营的产品,解决了大量的屏幕适配.细节优化. ...

  7. IM开发基础知识补课(十):大型IM系统有多难?万字长文,搞懂异地多活!

    本文由公众号"水滴与银弹"号主Kaito原创分享,原题"搞懂异地多活,看这篇就够了",为使文章更好理解,有修订. 1.引言 前几天技术群里有群友问我手上有没有I ...

  8. NVIDIA-SMI打印信息解析

  9. Redis实战-Redisson-分布式锁

    1. 简介 随着技术的快速发展,业务系统规模的不断扩大,分布式系统越来越普及.一个应用往往会部署到多台机器上,在一些业务场景中,为了保证数据的一致性,要求在同一时刻,同一任务只在一个节点上运行,保证同 ...

  10. 数组 | 切片 | map | Go语言

    数组 1.数组的长度需要声明 2.存储的数据类型必须一致 3.可以通过下标来访问,超出长度问报访问越界的错误 4.不支持负数索引 5.数组是值类型,传递的都是拷贝,不会对原来的对象进行修改 6.Go中 ...