目录

前言

资料

HA高可用部署

Hive安装部署

Hbase安装部署

sqoop安装部署

解压安装包

修改配置文件

环境变量

 sqoop-env.sh

拷贝JDBC驱动

测试Sqoop是否能够成功连接数据库

kafka安装部署

解压安装包

 环境变量

配置文件

创建logs文件夹

zookeeper.properties

server.properties

启动集群

验证

关闭集群

flume安装部署

解压安装包

配置环境变量

flume-env.sh

报错

配置flume与kafka连接

踩坑

创建目录

创建脚本

在kafka节点创建topic

 打开console

启动测试

执行脚本

在kafka中查看

spark安装部署


前言

备战2021 年“湖北省工匠杯”技能大赛——大数据技术应用竞赛,附上资料链接,若有错误之处请指正。

资料

链接:https://pan.baidu.com/s/162xqYRVSJMy_cKVlWT4wjQ 
提取码:yikm 

hive集成 hdfs有高可用配置 hive高可用部署_hadoop

HA高可用部署

请移步HA高可用搭建,参考文章完成HA高可用部署。

Hive安装部署

请移步构建数据仓库赛题解析,参考文章完成Hive安装部署。

Hbase安装部署

请移步HBASE安装,参考文章完成Hbase安装部署。

需注意:hbase-site.xml文件

hive集成 hdfs有高可用配置 hive高可用部署_big data_02


 master:9000应该改为mycluster

hive集成 hdfs有高可用配置 hive高可用部署_big data_03

sqoop安装部署

解压安装包

mkdir /usr/sqoop
tar -zxvf /usr/package/sqoop-1.4.7.bin.tar.gz -C /usr/sqoop/

hive集成 hdfs有高可用配置 hive高可用部署_hadoop_04

修改配置文件

环境变量

vim /etc/profile

添加:

#sqoop
export SQOOP_HOME=/usr/sqoop/sqoop-1.4.7.bin
export PATH=$PATH:$SQOOP_HOME/bin

hive集成 hdfs有高可用配置 hive高可用部署_大数据_05

 生效环境变量

source /etc/profile

查看

sqoop version

hive集成 hdfs有高可用配置 hive高可用部署_kafka_06

 sqoop-env.sh

cd /usr/sqoop/sqoop-1.4.7.bin/conf/
mv sqoop-env-template.sh sqoop-env.sh 
echo "export HADOOP_COMMON_HOME=/usr/hadoop/hadoop-2.6.0
export HADOOP_MAPRED_HOME=/usr/hadoop/hadoop-2.6.0
export HIVE_HOME=/usr/hive/apache-hive-1.1.0-bin
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.5
export ZOOCFGDIR=/usr/zookeeper/zookeeper-3.4.5" >> sqoop-env.sh
cat sqoop-env.sh

hive集成 hdfs有高可用配置 hive高可用部署_big data_07

拷贝JDBC驱动

cp /usr/package/mysql-connector-java-5.1.47-bin.jar /usr/sqoop/sqoop-1.4.7.bin/lib/

测试Sqoop是否能够成功连接数据库

我的集群是slave2作为存储数据库的。

sqoop list-databases --connect jdbc:mysql://slave2:3306/ --username root --password 123456

hive集成 hdfs有高可用配置 hive高可用部署_big data_08

kafka安装部署

解压安装包

mkdir /usr/kafka
tar -zxvf /usr/package/kafka_2.11-1.0.0.tgz -C /usr/kafka/

 环境变量

vim /etc/profile

添加 :

#kafka
export KAFKA_HOME=/usr/kafka/kafka_2.11-1.0.0
export PATH=$PATH:$KAFKA_HOME/bin

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_09

 生效环境变量

source /etc/profile

配置文件

创建logs文件夹

cd /usr/kafka/kafka_2.11-1.0.0/
mkdir logs

zookeeper.properties

修改dataDir与zookeeper中zoo.cfg一致

cd /usr/kafka/kafka_2.11-1.0.0/config
vim zookeeper.properties

hive集成 hdfs有高可用配置 hive高可用部署_big data_10

 修改为

dataDir=/usr/zookeeper/zookeeper-3.4.5/zkdata

hive集成 hdfs有高可用配置 hive高可用部署_大数据_11

server.properties

vim server.properties

broker.id修改

master上为0,slave1上为1,slave2上为2

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_12

 注:broker.id不得重复

log.dirs修改

hive集成 hdfs有高可用配置 hive高可用部署_kafka_13

 修改为

hive集成 hdfs有高可用配置 hive高可用部署_big data_14

使能删除topic功能

增加

#使能删除topic功能
delete.topic.enable=true

hive集成 hdfs有高可用配置 hive高可用部署_hadoop_15

 配置连接Zookeeper集群地址

hive集成 hdfs有高可用配置 hive高可用部署_大数据_16

 修改为

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

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_17

启动集群

启动zookeeper

/usr/zookeeper/zookeeper-3.4.5/bin/zkServer.sh start

启动kafka

cd /usr/kafka/kafka_2.11-1.0.0/
bin/kafka-server-start.sh config/server.properties &
jps

验证

仅在master下

查看当前服务器中的所有topic

bin/kafka-topics.sh --zookeeper master:2181 --list

创建topic

bin/kafka-topics.sh --zookeeper master:2181 --create --replication-factor 3 --partitions 1 --topic first

选项说明:
--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数

hive集成 hdfs有高可用配置 hive高可用部署_hadoop_18

关闭集群

bin/kafka-server-stop.sh stop
//等待消息弹出停止再输入
jps
/usr/zookeeper/zookeeper-3.4.5/bin/zkServer.sh stop
jps

hive集成 hdfs有高可用配置 hive高可用部署_big data_19

flume安装部署

解压安装包

mkdir /usr/flume
tar -zxvf /usr/package/apache-flume-1.6.0-bin.tar.gz -C /usr/flume/

hive集成 hdfs有高可用配置 hive高可用部署_big data_20

配置环境变量

vim /etc/profile

添加:

#flume
export FLUME_HOME=/usr/flume/apache-flume-1.6.0-bin
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin

hive集成 hdfs有高可用配置 hive高可用部署_kafka_21


生效环境变量

source /etc/profile

flume-env.sh

cd /usr/flume/apache-flume-1.6.0-bin/conf/
mv flume-env.sh.template flume-env.sh
echo "export JAVA_HOME=/usr/java/jdk1.8.0_171" >> flume-env.sh 
cat flume-env.sh

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_22

查看

flume-ng version

报错

Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty

hive集成 hdfs有高可用配置 hive高可用部署_kafka_23

解决方案

flume-ng脚本问题

解决办法

cd /usr/flume/apache-flume-1.6.0-bin/bin/
vim flume-ng
//在124行增加以下内容
2>/dev/null | grep hbase

hive集成 hdfs有高可用配置 hive高可用部署_big data_24

 成功解决

hive集成 hdfs有高可用配置 hive高可用部署_kafka_25

配置flume与kafka连接

cd /usr/flume/apache-flume-1.6.0-bin/conf/
echo "#配置flume agent的source、channel、sink
a1.sources = r1
a1.channels = c1
a1.sinks = k1
#配置source
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /tmp/logs/kafka.log

#配置channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

#配置sink
a1.sinks.k1.channel = c1
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

#配置Kafka的Topic
a1.sinks.k1.kafka.topic = mytest
#配置kafka的broker地址和端口号
a1.sinks.k1.brokerList = matser:9092,slave1:9092,slave2:9092
#配置批量提交的数量
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sinks.k1.kafka.producer.linger.ms = 1
a1.sinks.k1.kafka.producer.compression.type = snappy
#绑定source和sink到channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1" >> kafka.properties

踩坑

报错

(conf-file-poller-0) [ERROR - org.apache.flume.node.AbstractConfigurationProvider.loadSinks(AbstractConfigurationProvider.java:427)] Sink k1 has been removed due to an error during configuration
org.apache.flume.conf.ConfigurationException: brokerList must contain at least one Kafka broker
	at org.apache.flume.sink.kafka.KafkaSinkUtil.addDocumentedKafkaProps(KafkaSinkUtil.java:55)
	at org.apache.flume.sink.kafka.KafkaSinkUtil.getKafkaProperties(KafkaSinkUtil.java:37)
	at org.apache.flume.sink.kafka.KafkaSink.configure(KafkaSink.java:211)
	at org.apache.flume.conf.Configurables.configure(Configurables.java:41)

解决方法

kafka.properties文件中配置
a1.sinks.k1.kafka.bootstrap.servers(1.7+版本的写法)
a1.sinks.k1.brokerList (1.6版本的写法)

创建目录

mkdir -p /tmp/logs
touch /tmp/logs/kafka.log

创建脚本

cd 
vim kafkaoutput.sh


//加入以下内容


#!/bin/bash
for((i=0;i<=1000;i++))
do 
echo "kafka_test-"+$i >> /tmp/logs/kafka.log
done

hive集成 hdfs有高可用配置 hive高可用部署_kafka_26

 脚本赋权

chmod 777 kafkaoutput.sh

在kafka节点创建topic

前提zookpeer,kafka启动

hive集成 hdfs有高可用配置 hive高可用部署_big data_27

 创建topic

仅在master上

kafka-topics.sh --create --zookeeper master:2181 --replication-factor 3 --partitions 1 --topic mytest

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_28

 打开console

kafka-console-consumer.sh --bootstrap-server master:9092,slave1:9092,slave2:9092 --from-beginning --topic mytest

启动测试

flume-ng agent --conf /usr/flume/apache-flume-1.6.0-bin/conf/ --conf-file /usr/flume/apache-flume-1.6.0-bin/conf/kafka.properties -name a1 -Dflume.root.logger=INFO,console

hive集成 hdfs有高可用配置 hive高可用部署_hadoop_29

 成功!

执行脚本

sh kafkaoutput.sh

在kafka中查看

cat /tmp/logs/kafka.log

 

hive集成 hdfs有高可用配置 hive高可用部署_hive集成 hdfs有高可用配置_30

spark安装部署

全文完,爆肝一天,第一次接触这么多组件部署在集群上,而且还有相互对接配置,不停地报错,排错,总算完成啦!

眼睛疼!!!

接下来一段时间好好准备比赛啦!加油!