Hadoop生态&组件部署大总结

本文详细介绍了ApacheHadoop生态系统中的关键组件如Hive、Flume、Sqoop、Kafka、Spark、Hbase和Zookeeper的安装链接,以及它们在环境配置中的重要性,包括JDK、Hadoop配置、HDFS、YARN等。此外,还涉及了Hive、Flume和Sqoop的环境变量配置和Hadoop高可用性(HA)的配置步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

| :-: | :-: |

| HIVE | https://mirrors.ustc.edu.cn/apache/hive/ |

| Flume | https://mirrors.ustc.edu.cn/apache/flume/ |

| Sqoop | https://github.com/apache/sqoop/releases |

| Kafka | https://mirrors.ustc.edu.cn/apache/kafka/ |

| Spark | https://mirrors.ustc.edu.cn/apache/spark/ |

| Hbase | https://mirrors.ustc.edu.cn/apache/hbase/ |

| Pig | https://mirrors.ustc.edu.cn/apache/pig/ |

| Zookeeper | https://mirrors.ustc.edu.cn/apache/Zookeeper/ |

环境变量参考


Jdk

JAVA_HOME=/usr/base/jdk1.8.0_301

JRE_HOME=${JAVA_HOME}/jre

CLASSPATH=.: J A V A H O M E / l i b : {JAVA_HOME}/lib: JAVAHOME/lib:{JRE_HOME}/lib

PATH= J A V A H O M E / b i n : {JAVA_HOME}/bin: JAVAHOME/bin:PATH

export JAVA_HOME JRE_HOME CLASSPATH PATH

Scala

export SCALA_HOME=/usr/base/scala-2.11.7

export PATH= P A T H : PATH: PATH:SCALA_HOME/bin

HADOOP

export HADOOP_HOME=/usr/base/hadoop-2.10.1

export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin

export PATH= P A T H : PATH: PATH:HADOOP_HOME/sbin

Flume

export FLUME_HOME=/usr/base/apache-flume-1.9.0-bin

export FLUME_CONF_DIR=$FLUME_HOME/conf

export FLUME_LOG_DIR=$FLUME_HOME/log

export PATH= P A T H : PATH: PATH:FLUME_HOME/bin

ZooKeeper

export ZOOKEEPER_HOME=/usr/base/apache-zookeeper-3.5.9-binn

export PATH= Z O O K E E P E R H O M E / b i n : ZOOKEEPER_HOME/bin: ZOOKEEPERHOME/bin:PATH

Sqoop

export SQOOP_HOME=/usr/base/apache-flume-1.9.0-bin

export PATH= P A T H : PATH: PATH:SQOOP_HOME/bin

Hive

export HIVE_HOME=/usr/base/apache-hive-2.3.9-bin

export PATH= H I V E H O M E / b i n : HIVE_HOME/bin: HIVEHOME/bin:HIVE_HOME/conf:$PATH

Flink

export FLINK_HOME=/usr/base/flink-1.13.2

export PATH= F L I N K H O M E / b i n : FLINK_HOME/bin: FLINKHOME/bin:PATH

Hbase

export HBASE_HOME=/usr/base/hbase-2.4.6

export PATH= P A T H : PATH: PATH:HBASE_HOME/bin

Pig

export PIG_HOME=/usr/base/pig-0.17.0

export PATH= P A T H : PATH: PATH:PIG_HOME/bin:$PIG_HOME/conf

Spark

export SPARK_HOME=/usr/base/spark-3.1.2-bin-without-hadoop

export PATH= S P A R K H O M E / b i n : SPARK_HOME/bin: SPARKHOME/bin:PATH

Hadoop

=====================================================================

  • **「$PATH」**修改为自己的路径

  • **「NAME」**修改为 NameNode Host

  • 「DataNode HOST n」 修改为 DataNode Host 序列

通用操作


/etc/hosts

「IP 1」 「HOST 1」

「IP 2」 「HOST 2」

「IP 3」 「HOST 3」

「IP n」 「HOST n」

~/.ssh/id_rsa

ssh-keygen -t rsa

authorized_keys

ssh-copy-id IP


masters

「NAME」

slaves

「DataNode HOST 1」

「DataNode HOST 2」

「DataNode HOST n」

各模式下配置文件


伪分布式

core-site.xml

hadoop.tmp.dir

「$PATH」/tmp

fs.defaultFS

hdfs://「NAME」:9000

完全分布式

core-site.xml

hadoop.tmp.dir

「$PATH」/tmp

fs.defaultFS

hdfs://「NAME」:9000

yarn-site.xml

yarn.resourcemanager.hostname

「NAME」

可选参数

dfs.namenode.name.dir

「$PATH」

dfs.datanode.data.dir

「$PATH」

HA分布式

Zoopkeeper 配置
/conf/zoo.cfg

dataDir=/zookeeper/data

server.myid1=「NAME 1」:2888:3888

server.myid2=「NAME 2」:2888:3888

server.myid3=「DataNode HOST 1」:2888:3888

server.myid4=「DataNode HOST 2」:2888:3888:observer

myid

ssh 「NAME 1」 “echo “1” > /zookeeper/data/myid”

ssh 「NAME 2」 “echo “2” > /zookeeper/data/myid”

ssh 「DataNode HOST 1」 “echo “3” > /zookeeper/data/myid”

ssh 「DataNode HOST 2」 “echo “4” > /zookeeper/data/myid”

Hadoop 配置
core-site.xml

fs.defaultFS

hdfs://jed

hadoop.tmp.dir

「$PATH」/hd

ha.zookeeper.quorum

「$HOST」:2181,「DataNode HOST n」:2181

hdfs-site.xml

dfs.nameservices

jed

dfs.ha.namenodes.jed

nn1,nn2

dfs.namenode.rpc-address.jed.nn1

「NAME 1」:9000

dfs.namenode.http-address.jed.nn1

「NAME 1」:50070

dfs.namenode.rpc-address.jed.nn2

「NAME 2」:9000

dfs.namenode.http-address.jed.nn2

「NAME 2」:50070

dfs.namenode.shared.edits.dir

qjournal://「NAME 1」:8485;「NAME 2」:8485;「DataNode HOST n」:8485/jed

dfs.journalnode.edits.dir

「$PATH」/jd

dfs.ha.automatic-failover.enabled

true

dfs.client.failover.proxy.provider.jed

org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

dfs.ha.fencing.methods

sshfence

shell(/bin/true)

dfs.ha.fencing.ssh.private-key-files

/root/.ssh/id_rsa

dfs.ha.fencing.ssh.connect-timeout

20000

mapred-site.xml

mapreduce.framework.name

yarn

yarn-site.xml

yarn.resourcemanager.ha.enabled

true

yarn.resourcemanager.cluster-id

Cyarn

yarn.resourcemanager.ha.rm-ids

rm1,rm2

yarn.resourcemanager.hostname.rm1

「HashNode HOST 1」

yarn.resourcemanager.hostname.rm2

「HashNode HOST 2」

yarn.resourcemanager.zk-address

「NAME 1」:2181,「NAME 2」:2181,「HashNode HOST n」:2181

Hive

===================================================================

设置 hive-env.sh 配置文件


进入 hive-0.12.0/conf 目录,复制 hive-env.sh.templaetehive-env.sh

cd /app/hive-0.12.0/conf

cp hive-env.sh.template hive-env.sh

sudo vi hive-env.sh

分别设置 HADOOP_HOMEHIVE_CONF_DIR 两个值:

export HADOOP_HOME=/app/hadoop-1.1.2

export HIVE_CONF_DIR=/app/hive-0.12.0/conf

设置 hive-site.xml 配置文件


复制 hive-default.xml.templaetehive-site.xml

cd /app/hive-0.12.0/conf

cp hive-default.xml.template hive-site.xml

sudo vi hive-site.xml

加入配置项

默认 metastore 在本地,添加配置改为非本地。

hive.metastore.local

false

修改配置项

hive 默认为 derby 数据库,需要把相关信息调整为 mysql 数据库。

hive.metastore.uris

thrift://hadoop:9083

javax.jdo.option.ConnectionURL

jdbc:mysql://hadoop:3306/hive?=createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

hive

javax.jdo.option.ConnectionPassword

hive

mysql驱动jar包


放置到 $HIVE_HOME/lib

mv mysql-connector-java-5.1.32-bin.jar /opt/home/apache-hive-1.2.1-bin/lib/

订正错误项


hive.metastore.schema.verification 配置项值修改为 false。

hive.metastore.schema.verification

false

/app/hive-0.12.0/conf/hive-site.xml 文件中的大概在 2000 行位置左右

把原来的 <value>auth</auth> 修改为 <value>auth</value>,如下所示:

hive.server2.thrift.sasl.qop

auth

Flume

====================================================================

设置 flume-env.sh 配置文件

$FLUME_HOME/conf 下复制改名 flume-env.sh.templateflume-env.sh,修改 conf/ flume-env.sh 配置文件

cd /app/flume-1.5.2/conf

cp flume-env.sh.template flume-env.sh

sudo vi flume-env.sh

修改配置文件内容

JAVA_HOME= /app/lib/jdk1.7.0_55

JAVA_OPTS=“-Xms100m -Xmx200m -Dcom.sun.management.jmxremote”

Sqoop

====================================================================

设置 bin/configure-sqoop 配置文件


修改 bin/configure-sqoop 配置文件。

cd /app/sqoop-1.4.5/bin

sudo vi configure-sqoop

注释掉 HBase 和 Zookeeper 等检查(除非使用 HBase 和 Zookeeper 等 HADOOP 上的组件)。

设置 conf/sqoop-env.sh 配置文件


如果不存在 sqoop-env.sh 文件,复制 sqoop-env-template.sh 文件,然后修改 sqoop-env.sh 配置文件。

cd /app/sqoop-1.4.5/conf

cp sqoop-env-template.sh sqoop-env.sh

sudo vi sqoop-env.sh

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里获取前端全套学习资料

css源码pdf

JavaScript知识点
.sh文件,复制sqoop-env-template.sh 文件,然后修改 **sqoop-env.sh`** 配置文件。

cd /app/sqoop-1.4.5/conf

cp sqoop-env-template.sh sqoop-env.sh

sudo vi sqoop-env.sh

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-RrHCOGve-1711664054625)]

[外链图片转存中…(img-fsTOiVt0-1711664054626)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

[外链图片转存中…(img-s1m0VsFR-1711664054626)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

javascript是前端必要掌握的真正算得上是编程语言的语言,学会灵活运用javascript,将对以后学习工作有非常大的帮助。掌握它最重要的首先是学习好基础知识,而后通过不断的实战来提升我们的编程技巧和逻辑思维。这一块学习是持续的,直到我们真正掌握它并且能够灵活运用它。如果最开始学习一两遍之后,发现暂时没有提升的空间,我们可以暂时放一放。继续下面的学习,javascript贯穿我们前端工作中,在之后的学习实现里也会遇到和锻炼到。真正学习起来并不难理解,关键是灵活运用。

资料领取方式:点击这里获取前端全套学习资料

[外链图片转存中…(img-rAxxY0VR-1711664054626)]

[外链图片转存中…(img-5vlIn7hc-1711664054627)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值