什么?你还不会搭建大数据集群吗

本篇文章所有组件安装包均在/opt/software目录下

安装目录在/opt/module

一、组件版本

NameVersion
Centos7.9
Hadoop2.7.7
Spark2.1.1
Flink1.10.2
Flume1.7.0
Hive2.3.4
Zookeeper3.4.10
Sqoop1.4.7

二、JDK

1、解压
[root@master software]# tar -zxvf jdk-8u161-linux-x64.tar.gz -C /opt/module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv jdk1.8.0_161/ jdk
2、配置环境变量/etc/profile
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

激活环境变量

[root@master module]# source /etc/profile
3、分发到另外两个节点
[root@master module]# scp -r jdk/ slave1:/opt/module/
[root@master module]# scp -r jdk/ slave2:/opt/module/
# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile

三、Hadoop完全分布式部署

1、解压
[root@master software]# tar -zxvf hadoop-2.7.7.tar.gz -C /opt/module/


# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv hadoop-2.7.7/ hadoop

2、配置环境变量/etc/profile
# HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master module]# cd hadoop/etc/hadoop
[root@master hadoop]# ls
# 我们需要配置下面几个文件
hadoop-env.sh
slaves
hdfs-site.xml
core-site.xml
mapred-site.xml
yarn-site.xml

hadoop-env.sh

修改为自己的jdk安装路径

# The java implementation to use.
export JAVA_HOME=/opt/module/jdk

slaves

# 要作为Datanode的节点
master
slave1
slave2

hdfs-site.xml

<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<!-- 配置secondarynamenode节点web地址  -->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>slave1:50090</value>
</property>

core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop/tmp</value>
</property>

[root@master hadoop]# cp mapred-site.xml.template mapred-site.xml

mapred-site.xml

<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>

yarn-site.xml

<property>
	<name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.hostname</name>
    <value>master</value>
</property>
4、分发到另外两个节点
[root@master module]# scp -r hadoop/ slave1:/opt/module/
[root@master module]# scp -r hadoop/ slave2:/opt/module/
# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile
5、启动hadoop集群

格式化namenode

[root@master module]# hdfs namenode -format

看到successfully formatted字样说明格式化

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SpQu3AHQ-1634900922729)(/home/xiaojia/snap/typora/42/.config/Typora/typora-user-images/image-20211022160526823.png)]

启动hdfs和yarn

[root@master module]# start-dfs.sh 
[root@master module]# start-yarn.sh 

分别在三个节点执行jps,查看进程

[root@master hadoop]# jps
5618 NameNode
5715 DataNode
6389 Jps
6221 NodeManager
5998 ResourceManager

[root@slave1 hadoop]# jps
2727 Jps
2457 DataNode
2540 SecondaryNameNode
2623 NodeManager

[root@slave2 hadoop]# jps
2241 DataNode
2449 Jps
2345 NodeManager

四、Hive

1、解压
[root@master software]# tar -zxvf apache-hive-2.3.4-bin.tar.gz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv apache-hive-2.3.4-bin/ hive

2、配置环境变量/etc/profile
# HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master hive]# cd conf/
# 新建一个hive-site.xml
[root@master conf]# vi hive-site.xml

hive-site.xml

添加以下内容

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<property>
    	<name>javax.jdo.option.ConnectionDriver</name>
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
    </property>
    <property>
    	<name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
    </property>
    
    
    <property>
    	<name>hive.cli.print.header</name>
        <value>true</value>
    </property>
    <property>
    	<name>hive.cli.print.current.db</name>
        <value>true</value>
    </property>
</configuration>
[root@master conf]# cp hive-env.sh.template hive-env.sh

hive-env.sh

修改以下内容

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/module/hadoop

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/module/hive/conf


hive-log4j2.properties

[root@master conf]# cp hive-log4j2.properties.template hive-log4j2.properties

# list of properties
property.hive.log.level = INFO
property.hive.root.logger = DRFA
property.hive.log.dir = /opt/module/hive/logs
property.hive.log.file = hive.log
property.hive.perflogger.log.level = INFO
4、将mysql驱动复制到hive/lib下
[root@master software]# mv mysql-connector-java-5.1.46-bin.jar /opt/module/hive/lib/
5、初始化元数据库
[root@master hive]# schematool -dbType mysql -initSchema

6、启动Hive
[root@master hive]# hive


# 命令执行成功就说明安装成功了
hive (default)> show databases;
OK
database_name
default
Time taken: 3.57 seconds, Fetched: 1 row(s)
hive (default)> 

五、Zookeeper

1、解压
[root@master software]# tar -zxvf zookeeper-3.4.10.tar.gz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv zookeeper-3.4.10/ zookeeper
2、配置环境变量/etc/profile
# ZK_HOME
export ZK_HOME=/opt/module/zookeeper
export PATH=$PATH:$ZK_HOME/bin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master conf]# cp zoo_sample.cfg zoo.cfg

zoo.cfg

dataDir=/opt/module/zookeeper/zkData
# 在最后添加这三行
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

# 新建zkData
[root@master zookeeper]# mkdir zkData
# 将对应id写入myid
[root@master zkData]# echo 1 >> myid

4、分发到另外两个节点
[root@master module]# scp -r zookeeper/ slave1:/opt/module/
[root@master module]# scp -r zookeeper/ slave2:/opt/module/
# 在myid文件中写入对应id
# 例如slave1为2
# slave2为3

# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile
5、启动zk
[root@master module]# zkServer.sh start
[root@slave1 module]# zkServer.sh start
[root@slave2 module]# zkServer.sh start
# 分别查看状态
[root@master module]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/../conf/zoo.cfg
Mode: follower

[root@slave1 module]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/../conf/zoo.cfg
Mode: leader

[root@slave2 module]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/module/zookeeper/bin/../conf/zoo.cfg
Mode: follower

六、Kafka

1、解压
[root@master software]# tar -zxvf kafka_2.11-2.0.0.tgz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv kafka_2.11-2.0.0/ kafka
2、配置环境变量/etc/profile
# KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件

server.properties

delete.topic.enable=true

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=0  # 这个值必须是唯一的

zookeeper.connect=master:2181,slave1:2181,slave2:2181

# A comma separated list of directories under which to store log files
log.dirs=/opt/module/kafka/logs


4、分发到另外两个节点
[root@master module]# scp -r kafka/ slave1:/opt/module/
[root@master module]# scp -r kafka/ slave2:/opt/module/
# 修改配置文件中broker.id值

# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile
5、启动kafka
# 启动kafka前请先启动zookeeper
# 分别在三个节点启动kafka
[root@master kafka]# kafka-server-start.sh config/server.properties 
[root@slave1 kafka]# kafka-server-start.sh config/server.properties 
[root@slave2 kafka]# kafka-server-start.sh config/server.properties 

# 创建一个Topic试试
[root@master ~]# kafka-topics.sh --create --zookeeper master:2181,slave1:2181,slave2:2181 --replication-factor 3 --partitions 1 --topic xiaojia
Created topic "xiaojia".

七、Flume

1、解压
[root@master software]# tar -zxvf apache-flume-1.7.0-bin.tar.gz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv apache-flume-1.7.0-bin/ flume
2、配置环境变量/etc/profile
# FLUME_HOME
export FLUME_HOME=/opt/module/flume
export PATH=$PATH:$FLUME_HOME/bin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件

flume-env.sh

# Enviroment variables can be set here.

export JAVA_HOME=/opt/module/jdk

4、写个flume脚本试试看
[root@master conf]# vi netcat_logger.conf


a1.sources=r1
a1.channels=c1
a1.sinks=k1

a1.sources.r1.type=netcat
a1.sources.r1.bind=localhost
a1.sources.r1.port=44444

a1.channels.c1.type=memory
a1.channels.c1.capacity=1000
a1.channels.c1.transactionCapacity=100

a1.sinks.k1.type=logger

a1.sources.r1.channels=c1
a1.sinks.k1.channel=c1

[root@master flume]# flume-ng agent -n a1 -f conf/socket_logger.conf -c conf/ -Dflume.root.logger=INFO,console

# 监听44444端口
[root@master ~]# telnet localhost 44444
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
haha
OK


2021-10-22 18:03:05,450 (lifecycleSupervisor-1-0) [INFO - org.apache.flume.source.NetcatSource.start(NetcatSource.java:169)] Created serverSocket:sun.nio.ch.ServerSocketChannelImpl[/127.0.0.1:44444]
2021-10-22 18:03:22,300 (SinkRunner-PollingRunner-DefaultSinkProcessor) [INFO - org.apache.flume.sink.LoggerSink.process(LoggerSink.java:95)] Event: { headers:{} body: 68 61 68 61 0D                                  haha. }


八、Sqoop

1、解压
[root@master software]# tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
2、配置环境变量/etc/profile
# SQOOP_HOME
export SQOOP_HOME=/opt/module/sqoop
export PATH=$PATH:$SQOOP_HOME/bin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master conf]# cp sqoop-env-template.sh sqoop-env.sh 

将mysql驱动文件拷贝到lib下

[root@master module]# cp hive/lib/mysql-connector-java-5.1.46-bin.jar sqoop/lib/

sqoop-env.sh

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/module/hadoop

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/opt/module/hadoop

#set the path to where bin/hbase is available
#export HBASE_HOME=

#Set the path to where bin/hive is available
export HIVE_HOME=/opt/module/hive

#Set the path for where zookeper config dir is
export ZOOCFGDIR=/opt/module/zookeeper
~                                                    
4、测试一下
[root@master module]# sqoop list-databases --connect jdbc:mysql://localhost:3306 --username root --password 123456

九、Spark

1、解压
[root@master software]# tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C ../module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv spark-2.1.1-bin-hadoop2.7/ spark
2、配置环境变量/etc/profile
# SPARK_HOME
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master conf]# cp spark-env.sh.template spark-env.sh
[root@master conf]# cp slaves.template slaves

slaves

slave1
slave2

spark-env.sh

# 添加以下内容
export HADOOP_CONF_DIR=/opt/module/hadoop/etc/hadoop
export HADOOP_HOME=/opt/module/hadoop
export JAVA_HOME=/opt/module/jdk
export SPARK_MASTER_HOST=master

4、分发到另外两个节点
[root@master module]# scp -r spark/ slave1:/opt/module/
[root@master module]# scp -r spark/ slave2:/opt/module/

# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile
5、启动spark
[root@master module]# start-master.sh 
[root@master module]# start-slaves.sh 

[root@master module]# jps
5618 NameNode
5715 DataNode
8598 Master
8695 Jps
7356 QuorumPeerMain
6221 NodeManager
7437 Kafka
5998 ResourceManager

[root@slave1 kafka]# jps
3488 Worker
3539 Jps
2904 QuorumPeerMain
2457 DataNode
2540 SecondaryNameNode
2623 NodeManager

[root@slave2 kafka]# jps
2241 DataNode
3239 Worker
2345 NodeManager
3290 Jps
2685 QuorumPeerMain

十、Flink

1、解压
[root@master software]# tar -zxvf flink-1.10.2-bin-scala_2.11.tgz -C /opt/module/

# 修改目录名称
[root@master software]# cd ../module/
[root@master module]# mv flink-1.10.2/ flink

2、配置环境变量/etc/profile
# SPARK_HOME
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

激活环境变量

[root@master module]# source /etc/profile
3、配置文件
[root@master conf]# cp spark-env.sh.template spark-env.sh
[root@master conf]# cp slaves.template slaves

slaves

slave1
slave2

spark-env.sh


jobmanager.rpc.address: master

parallelism.default: 4
4、分发到另外两个节点
[root@master module]# scp -r flink/ slave1:/opt/module/
[root@master module]# scp -r flink/ slave2:/opt/module/

# 分发配置文件到另外两个节点
[root@master module]# scp /etc/profile slave1:/etc
[root@master module]# scp /etc/profile slave1:/etc
# 别忘了最后source一下
[root@slave1 module]# source /etc/profile
[root@slave2 module]# source /etc/profile
5、启动spark
[root@master flink]# start-cluster.sh 
[root@master module]# jps
5618 NameNode
5715 DataNode
9908 StandaloneSessionClusterEntrypoint
8598 Master
9992 Jps
7356 QuorumPeerMain
6221 NodeManager
7437 Kafka
5998 ResourceManager

[root@slave1 kafka]# jps
3488 Worker
3922 TaskManagerRunner
2904 QuorumPeerMain
2457 DataNode
3993 Jps
2540 SecondaryNameNode
2623 NodeManager

[root@slave2 kafka]# jps
2241 DataNode
3766 Jps
3239 Worker
3703 TaskManagerRunner
2345 NodeManager
2685 QuorumPeerMain

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ExZQsKqQ-1634900922733)(/home/xiaojia/snap/typora/42/.config/Typora/typora-user-images/image-20211022184314857.png)]

prowered by 小贾
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小贾嗯嗯

多少给点吧,孩子三天没吃饭了

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

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

打赏作者

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

抵扣说明:

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

余额充值