Hadoop + Hive + DolphinScheduler高可用集群部署

一、参考文档

Zookeeper-3.5.7集群安装:https://blog.youkuaiyun.com/weixin_42631782/article/details/115691252
Hadoop-3.1.3高可用集群部署
https://blog.51cto.com/simplelife/5095289
Hive-3.1.2部署文档
https://blog.51cto.com/simplelife/5100277
一文讲懂Hive高可用/HiveServer2 高可用及Metastore高可用
https://juejin.cn/post/6981353941581692936
DolphinScheudler-2.0.集群部署文档
https://blog.51cto.com/simplelife/5049665

二、 软件安装包

jdk-8u331-linux-x64.rpm JDK8安装包
mysql-connector-java-5.1.49.jar MySQL5连接器
apache-zookeeper-3.5.7-bin.tar.gz ZooKeeper安装包
hadoop-3.1.3.tar.gz Hadoop安装包
apache-hive-3.1.2-bin.tar.gz Hive安装包
apache-tez-0.10.1-bin.tar.gz Tez安装包
apache-dolphinscheduler-2.0.6-bin.tar.gz DolphinScheduler安装包
注意:除JDK8的子版本外,请严格按照给定的版本号安装。
Hive下载地址:https://archive.apache.org/dist/hive/hive-3.1.2/
Hadoop下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
Tez下载地址:https://archive.apache.org/dist/tez/0.10.1/
Zookeeper下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/
Dolphinscheduler下载地址:https://www.apache.org/dyn/closer.lua/dolphinscheduler/2.0.6/apache-dolphinscheduler-2.0.6-bin.tar.gz

三、集群规划

在这里插入图片描述

四、准备工作

操作系统为CentOS7。

集群中所有三台服务器执行以下操作:

配置hosts


sudo vim /etc/hosts
192.168.62.161 hadoop1
192.168.62.162 hadoop2
192.168.62.163 hadoop3

安装JDK1.8
#安装jdk
#解压jdk到指定目录
tar -zxvf /tmp/jdk-8u181-linux-x64.tar.gz -C /usr/share/
对应路径如下(配置环境变量要用到该路径)
/usr/share/jdk1.8.0_181
#然后配置jdk环境变量(见子节点)
#然后把jdk目录复制到其他节点
sh /home/scp.sh /usr/share/jdk1.8.0_181
sh /home/scp.sh /etc/profile
安装hadoop及其配置
配置防火墙和SELINUX:
#关闭防火墙并查看状态(集群服务器)

systemctl stop firewalld
systemctl status firewalld

配置时间同步

yum -y install ntp ntpdate
ntpdate 	ntp.aliyun.com
hwclock –systohc

检查时间同步

watch -t -n 1 date +%T

新增hadoop用户

useradd hadoop
passwd Hadoop

授权root权限

vim /etc/sudoers 
hadoop  ALL=(ALL)       ALL

切换用户
su – hadoop
注意:之后的操作尽量都在hadoop用户下完成,以避免各种权限问题。如操作需要root权限则用sudo命令。

配置免密登录

ssh-keygen -t rsa
ssh-copy-id hadoop1
ssh-copy-id hadoop2
ssh-copy-id hadoop3

创建目录:

mkdir -p /home/hadoop/data/zookeeper
mkdir -p /home/hadoop/data/journalnode
mkdir -p /home/hadoop/data/tmp
mkdir -p /home/hadoop/data/hive
mkdir -p /home/hadoop/data/dolphinscheduler
mkdir -p /home/hadoop/data/dolphinscheduler-install

#主节点上传文件分发脚本
资源如下
https://download.youkuaiyun.com/download/csdn_gyb/31849299
#主节点执行同步

五、安装ZooKeeper集群

解压安装包后修改配置文件:

cd conf
mv zoo_sample.cfg zoo.cfg
dataDir=/home/hadoop/data/zookeeper
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888

cd data
vim myid
1/2/3(每台服务器不相同)

bin/zkServer.sh
export JAVA_HOME=Java安装目录

集群分发:

scp -r hadoop-3.1.3 hadoop2:/home/hadoop/
scp -r hadoop-3.1.3 hadoop3:/home/hadoop/

使用zk.sh status/start/stop来启动和管理zk集群。

六、Hadoop高可用集群部署

解压hadoop-3.1.3

sudo vim /etc/profile
配置环境变量HADOOP_HOME、PATH
#配置hadoop的环境变量
vi /etc/profile
文件末尾添加

export HADOOP_HOME=/home/hadoop-3.1.3
export PATH=P A T H : PATH:PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

Hadoop配置文件
cd etc/hadoop

hadoop-env.sh
#指定JAVA_HOME
export JAVA_HOME= Java安装目录
#指定hadoop用户,hadoop3.x之后必须配置(我的用户名就叫hadoop)

export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_ZKFC_USER=hadoop
export HDFS_JOURNALNODE_USER=hadoop
export YARN_RESOURCEMANAGER_USER=hadoop
export YARN_NODEMANAGER_USER=hadoop

core-site.xml

<!--集群名称-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://ns1</value> </property>
<!--临时目录:提前创建好-->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/data/tmp</value>
</property>
<!--webUI展示时的用户-->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>hadoop</value>
</property>
<!--高可用依赖的zookeeper的通讯地址-->
<property>
    <name>ha.zookeeper.quorum</name>
    <value>hadoop1:2181,hadoop2:2181,hadoop3:2181</value>
</property>
<!--用于连接hive server2(可选项)-->
<property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
</property>

hdfs-site.xml

<property>
    <name>dfs.nameservices</name>
    <value>ns1</value>
</property>
<!--定义hdfs集群中的namenode的ID号-->
<property>
    <name>dfs.ha.namenodes.ns1</name>
    <value>nn1,nn2</value>
</property>
<!--定义namenode的主机名和rpc协议的端口-->
<property>
    <name>dfs.namenode.rpc-address.ns1.nn1</name>
    <value>hadoop1:8020</value>
</property>
<property>
    <name>dfs.namenode.rpc-address.ns1.nn2</name>
    <value>hadoop2:802
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值