目錄
前言
資料
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

HA高可用部署
請移步HA高可用搭建,參考文章完成HA高可用部署,
Hive安裝部署
請移步構建資料倉庫賽題決議,參考文章完成Hive安裝部署,
Hbase安裝部署
請移步HBASE安裝,參考文章完成Hbase安裝部署,
需注意:hbase-site.xml檔案
:
master:9000應該改為mycluster

sqoop安裝部署
解壓安裝包
mkdir /usr/sqoop
tar -zxvf /usr/package/sqoop-1.4.7.bin.tar.gz -C /usr/sqoop/

修改組態檔
環境變數
vim /etc/profile
添加:
#sqoop
export SQOOP_HOME=/usr/sqoop/sqoop-1.4.7.bin
export PATH=$PATH:$SQOOP_HOME/bin

生效環境變數
source /etc/profile
查看
sqoop version

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

拷貝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

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

生效環境變數
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

修改為
dataDir=/usr/zookeeper/zookeeper-3.4.5/zkdata

server.properties
vim server.properties
broker.id修改
master上為0,slave1上為1,slave2上為2

注:broker.id不得重復
log.dirs修改

修改為

使能洗掉topic功能
增加
#使能洗掉topic功能
delete.topic.enable=true

配置連接Zookeeper集群地址

修改為
zookeeper.connect=master:2181,slave1:2181,slave2:2181

啟動集群
啟動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 定義磁區數

關閉集群
bin/kafka-server-stop.sh stop
//等待訊息彈出停止再輸入
jps
/usr/zookeeper/zookeeper-3.4.5/bin/zkServer.sh stop
jps

flume安裝部署
解壓安裝包
mkdir /usr/flume
tar -zxvf /usr/package/apache-flume-1.6.0-bin.tar.gz -C /usr/flume/

配置環境變數
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

生效環境變數
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

查看
flume-ng version
報錯
Error: Could not find or load main class org.apache.flume.tools.GetJavaProperty

解決方案
flume-ng腳本問題
解決辦法
cd /usr/flume/apache-flume-1.6.0-bin/bin/
vim flume-ng
//在124行增加以下內容
2>/dev/null | grep hbase

成功解決

配置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
腳本賦權
chmod 777 kafkaoutput.sh
在kafka節點創建topic
前提zookpeer,kafka啟動

創建topic
僅在master上
kafka-topics.sh --create --zookeeper master:2181 --replication-factor 3 --partitions 1 --topic mytest
打開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

成功!
執行腳本
sh kafkaoutput.sh
在kafka中查看
cat /tmp/logs/kafka.log

spark安裝部署
請移步spark安裝,參考完成spark安裝部署,
全文完,爆肝一天,第一次接觸這么多組件部署在集群上,而且還有相互對接配置,不停地報錯,排錯,總算完成啦!
眼睛疼!!!
接下來一段時間好好準備比賽啦!加油!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/353317.html
標籤:其他
上一篇:自己開發的足球賽事預測小程式


