Hdoop学习笔记(HDP)-Part.04 基础环境配置

2023-12-04 21:01

本文主要是介绍Hdoop学习笔记(HDP)-Part.04 基础环境配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录
Part.01 关于HDP
Part.02 核心组件原理
Part.03 资源规划
Part.04 基础环境配置
Part.05 Yum源配置
Part.06 安装OracleJDK
Part.07 安装MySQL
Part.08 部署Ambari集群
Part.09 安装OpenLDAP
Part.10 创建集群
Part.11 安装Kerberos
Part.12 安装HDFS
Part.13 安装Ranger
Part.14 安装YARN+MR
Part.15 安装HIVE
Part.16 安装HBase
Part.17 安装Spark2
Part.18 安装Flink
Part.19 安装Kafka
Part.20 安装Flume

四、基础环境配置

1.SSH免密登录

在hdp01、hdp02上生成公钥,配置免密登录到其他节点

ssh-keygen -t rsa -f ~/.ssh/id_rsa -C username_root
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.111.201
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.111.202
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.111.203
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.111.204
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@192.168.111.205

2.ansible安装

配置ansible和rhel-system-roles,创建配置文件

mkdir /root/ansible
cd /root/ansible
cp /etc/ansible/ansible.cfg /root/ansible/

修改配置文件,/root/ansible/ansible.cfg

[defaults]
inventory      = /root/ansible/inventory
ask_pass      = false
remote_user = root

配置inventory文件,/root/ansible/inventory

[hdp:children]
nn
dn
[nn]
192.168.111.201 hostname=hdp01
192.168.111.202 hostname=hdp02
[dn]
192.168.111.203 hostname=hdp03
192.168.111.204 hostname=hdp04
192.168.111.205 hostname=hdp05

3.修改hostname

创建playbook,/root/ansible/hostname.yml

---
- name: modify hostnamehosts: alltasks:- name: modify hostname permanentlyraw: "echo {{ hostname | quote }} > /etc/hostname"- name: modify hostname temporarilyshell: hostname {{ hostname | quote }}

执行并确认

ansible-playbook /root/ansible/hostname.yml
ansible all -m shell -a 'hostname'

4.修改hosts列表

在nn01上修改主机列表,/etc/hosts

192.168.111.201 hdp01.hdp.com   hdp01
192.168.111.202 hdp02.hdp.com   hdp02
192.168.111.203 hdp03.hdp.com   hdp03
192.168.111.204 hdp04.hdp.com   hdp04
192.168.111.205 hdp05.hdp.com   hdp05

分发至其他节点

ansible all -m template -a 'src=/etc/hosts dest=/etc/hosts'

5.安装基础软件

安装vim等基础软件,/root/ansible/packages.yml

---
- hosts: alltasks:- name: install packagesyum:name:- pciutils- bash-completion- vim- chronystate: present

6.关闭firewall和SELinux

关闭firewall

ansible all -m service -a 'name=firewalld state=stopped enabled=no'
ansible all -m shell -a 'systemctl status firewalld | grep Active'

关闭SELinux

ansible all -m selinux -a 'policy=targeted state=disabled'
ansible all -m shell -a 'getenforce'

7.NTP时钟

以hdp01为时钟源,其余节点从nn01进行时钟同步
服务端(hdp01)
修改配置文件/etc/chrony.conf

# 不指定外部NTP源
# 允许本网段其节点作为客户端访问
allow 192.168.111.0/24
# 如果时间服务可不用,则使用本地时间作为标准时间授权,层数为10
local stratum 10

重启服务

systemctl restart chronyd

客户端(hdp02-hdp05)
安装ntp时钟,/root/ansible/timesync.yml

---
- hosts: 192.168.111.202,dnvars:timesync_ntp_servers:- hostname: 192.168.111.201iburst: yesroles:- rhel-system-roles.timesync

执行

ansible-playbook /root/ansible/timesync.yml

确认时钟同步情况

ansible 192.168.111.202,dn -m shell -a 'chronyc sources -v'

8.磁盘分区、文件系统及挂载目录

创建分区parted.yml文件

---
- hosts: alltasks:- name: parted devicesparted:device: "{{ item }}"number: 1label: gptstate: presentloop:- /dev/sdb- /dev/sdc- /dev/sddignore_errors: yes

确认结果

ansible all -m shell -a 'lsblk -f'

创建文件系统mkfs.yml文件

---
- hosts: alltasks:- name: mkdir of nnfile:path: /data01state: directorywhen: inventory_hostname in groups['nn']- name: mkdir of dnfile:path: "{{ item }}"state: directoryloop:- /data01- /data02- /data03when: inventory_hostname in groups['dn']- name: mkfsfilesystem:fstype: xfsdev: "{{ item }}"loop:- /dev/sdb1- /dev/sdc1- /dev/sdd1ignore_errors: yes- name: mount of nnmount:path: /data01src: /dev/sdb1fstype: xfsstate: mountedwhen: inventory_hostname in groups['nn']- name: mount of dnmount:path: "{{ item.p_dir }}"src: "{{ item.s_dir }}"fstype: xfsstate: mountedloop:- { p_dir: /data01, s_dir: /dev/sdb1 }- { p_dir: /data02, s_dir: /dev/sdc1 }- { p_dir: /data03, s_dir: /dev/sdd1 }when: inventory_hostname in groups['dn']

这篇关于Hdoop学习笔记(HDP)-Part.04 基础环境配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/454897

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp