大数据(1c)集群环境变量,持续更

本文介绍了如何配置大数据集群的环境变量,包括Hadoop、Hive、Spark等组件,并提供了自动化脚本来分发和生效配置文件。同时,强调了集群hosts配置的重要性,以及提供了针对root用户的Python脚本和非root用户的bash脚本实现跨主机同步。

阅读本文前,请先配置好集群免密登录

1、环境变量文件

vim /etc/profile.d/custom.sh
# Big Data:大数据根目录
export B_HOME=/opt
# Java
export JAVA_HOME=$B_HOME/jdk
export PATH=$PATH:$JAVA_HOME/bin
# Zookeeper
export ZOOKEEPER_HOME=$B_HOME/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# Hadoop
export HADOOP_HOME=$B_HOME/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# HIVE
export HIVE_HOME=$B_HOME/hive
export PATH=$PATH:$HIVE_HOME/bin
# Spark
export SPARK_HOME=$B_HOME/spark
export PATH=$PATH:$SPARK_HOME/bin
# Kafka
export KAFKA_HOME=$B_HOME/kafka
export PATH=$PATH:$KAFKA_HOME/bin
# Flume
export FLUME_HOME=$B_HOME/flume
export PATH=$PATH:$FLUME_HOME/bin
# Sqoop
export SQOOP_HOME=$B_HOME/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
# HBase
export HBASE_HOME=$B_HOME/hbase
export PATH=$PATH:$HBASE_HOME/bin
# Scala
export SCALA_HOME=$B_HOME/scala
export PATH=$PATH:$SCALA_HOME/bin
# Flink
export FLINK_HOME=$B_HOME/flink
# Phoenix
export PHOENIX_HOME=$B_HOME/phoenix
export PHOENIX_CLASSPATH=$PHOENIX_HOME
export PATH=$PATH:$PHOENIX_HOME/bin
# ElasticSearch
export ES_HOME=$B_HOME/elasticsearch
# Maven
export MAVEN_HOME=$B_HOME/maven
export PATH=$PATH:$MAVEN_HOME/bin
# Atlas
export ATLAS_HOME=$B_HOME/atlas
# DolphinScheduler
#export DOLPHINSCHEDULER_HOME=$B_HOME/dolphinscheduler

用户为root时需要添加下面变量

# Hadoop user
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
# SecondaryNameNode
export HDFS_SECONDARYNAMENODE_USER=root
# Hadoop high availability
export HDFS_JOURNALNODE_USER=root
export HDFS_ZKFC_USER=root

2、集群hosts配置

https://yellow520.blog.youkuaiyun.com/article/details/113073636

3、集群环境变量source脚本

脚本的功能:一键 分发环境配置文件 并 使其生效(有点小bug)

3.1、Python版(root用户可用)

touch /usr/bin/source.py
chmod 777 /usr/bin/source.py
vim /usr/bin/source.py
#!/usr/bin/python2
import os, re, socket

# file name
f = 'custom.sh'
# command
source = 'source /etc/profile.d/' + f

hostname = socket.gethostname()
with open('/etc/hosts') as fr:
    for h in re.findall('hadoop[0-9]+', fr.read()):
        if h == hostname:
            os.system(source)
        else:
            os.system('rsync -a /etc/profile.d/{} {}:/etc/profile.d/'.format(f, h))
            os.system('ssh {} "{}"'.format(h, source))

3.2、bash版(非root用户可用)

cd ~
touch source.sh
vim source.sh
#!/usr/bin/bash

for h in $(cat /etc/hosts | grep -oE 'hadoop[0-9]+')
do
    sudo rsync -a /etc/profile.d/custom.sh $h:/etc/profile.d/
done

source /etc/profile.d/custom.sh

使用方法

source ~/source.sh

4、补充

CentOS7系统目录结构基础知识

常用目录全称说明备注
usrUnix Shared ResourcesUnix共享资源binsbin都在这里面
自写脚本放到此处,可在任意目录调用
binbinaries二进制文件存放常用指令,如:lspwdpython2
sbinSuper User Binaries超级用户的二进制文件存放系统管理员使用的程序和指令
如:initreboot
etcetcetera存放系统管理所需的配置文件如:profile、sudoers
root系统管理员的用户主目录
home普通用户的主目录
optoptional额外软件所摆放的目录
默认是空的
比如可以把Hadoop装到这个目录下
tmptemporary存放临时文件
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值