大数据集群配置-flume和sqoop和storm

Flume组件配置

软件名称软件包名
Zookeeperzookeeper-3.4.8.tar.gz
kafkakafka_2.11-1.0.0.gz
jdkjdk-8u65-linux-x64.tar.gz
hadoophadoop-2.7.1.tar.gz
sqoopsqoop-1.4.7.tar.gz
flumeapache-flume-1.6.0-bin.tar.gz
hbasehbase-1.2.1-bin.tar.gz
hiveapache-hive-2.0.0-src.tar.gz
mysql-connectormysql-connector-java-5.1.26-bin.jar
storm
CentOSCentOS 7.4(mini 英文版本)

1.安装

tar -zxvf /opt/software/apache-flume-1.6.0-bin.tar.gz -C /usr/local/src/
mv /usr/local/src/apache-flume-1.6.0-bin/ /usr/local/src/flume
chown -R root:root /usr/local/src/flume
vi /etc/profile
export FLUME_HOME=/usr/local/src/flume
export PATH=$PATH:$FLUME_HOME/bin
#验证是否安装成功
flume-ng version
  • 会出现如下结果:
Flume 1.6.0
Source code repository: https://git-wip-us.apache.org/repos/asf/flume.git
Revision: 2561a23240a71ba20bf288c7c2cda88f443c2080
Compiled by hshreedharan on Mon May 11 11:15:44 PDT 2015
From source with checksum b29e416802ce9ece3269d34233baf43f
  • 配置flume-env.sh
vi /usr/local/src/flume/conf/flume-env.sh
export JAVA_HOME=/usr/local/src/java

2.编辑flume文件

cd /usr/local/src/flume/conf
vi syslog_mem_kafka.conf
#先变成编辑模式(i)再粘贴
#指定 source 的别名为 src
agent1.sources = src
#指定 channels 的别名为 ch1
agent1.channels = ch1
#指定 sinks 的别名为 des1
agent1.sinks = des1
# Describe/configure the source
#指定 sources 的类型
agent1.sources.src.type =syslogtcp
#指定 sources 的端口
agent1.sources.src.port = 6868
#指定 sources 的主机名
agent1.sources.src.host = master
# Use a channel which buffers events in memory
#指定 channels 的类型
agent1.channels.ch1.type = memory
# Describe the sink
#指定 sinks 的类型
agent1.sinks.des1.type = org.apache.flume.sink.kafka.KafkaSink
#指定 kafka 中多个服务器名称
agent1.sinks.des1.brokerList = master:9092,slave1:9092,slave2:9092
#指定 kafka 中 topic 名称
agent1.sinks.des1.topic = flumekafka
#将 sources 和 channels 连接
agent1.sources.src.channels = ch1
#将 sinks 和 channels 连接
agent1.sinks.des1.channel = ch1

3.运行flume文件

cd /usr/local/src/flume
flume-ng agent -c conf -f conf/syslog_mem_kafka.conf -n agent1 -Dflume.root.logger=DEBUG,console
  • 开启sinks端:
#三台机器启动kafka,用来接收数据
#master slave1 slave2
kafka-server-start.sh /usr/local/src/kafka/config/server.properties

#创建kafka topic flumekafka 如果不创建的话,启动flume后也会自动创建
kafka-topics.sh --create --zookeeper master:2181,slave1:2181,slave2:2181 --replication-factor 2 --topic flumekafka --partitions 1

#启动kafka consumer等待接受数据
kafka-console-consumer.sh --bootstrap-server master:9092,slave1:9092,slave2:9092 --topic flumekafka --from-beginning

  • 开启source端:
#启动 6868端口监听  ,用来发送数据
telnet master 6868

发送数据随便敲点东西后会在kafka的consumer端看到数据

另一个flume配置文件:

cd /usr/local/src/flume/conf
vi hdfs_sink.conf
#先变成编辑模式(i)再粘贴
#指定 sources 的别名
a1.sources = r1
#指定 sinks 的别名
a1.sinks = k1
#指定 channels 的别名
a1.channels = c1
# Describe/configure the source
#指定 sources 的类型
a1.sources.r1.type = syslogtcp
#指定 sources 的端口
a1.sources.r1.port = 5140
#指定 sources 的主机名
a1.sources.r1.host = localhost
# Describe the sink
#指定 sinks 的类型
a1.sinks.k1.type = hdfs
#指定 sinks 的 hdfs 的路径
a1.sinks.k1.hdfs.path = hdfs://master:8020/user/flume/syslogtcp
#指定 sinks 的 hdfs 的文件名前缀
a1.sinks.k1.hdfs.filePrefix = Syslog
#指定时间戳需要四舍五入
a1.sinks.k1.hdfs.round = true
#四舍五入到小于当前时间的最高倍数
a1.sinks.k1.hdfs.roundValue = 10
# 使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp=true
#四舍五入值的单位,秒、分钟或小时
a1.sinks.k1.hdfs.roundUnit = minute
# Use a channel which buffers events in memory
#指定 channels 的类型
a1.channels.c1.type = memory
# Bind the source and sink to the channel
#将 sources 和 channels 连接
a1.sources.r1.channels = c1
#将 sinks 和 channels 连接
a1.sinks.k1.channel = c1
  • sink端是hdfs
# 开启hadoop 接受数据
start-all.sh
#创建文件夹
hadoop fs -mkdir -p /user/flume/syslogtcp
  • 启动flume的hdfs_sink.conf配置文件
cd /usr/local/src/flume
flume-ng agent -c conf -f conf/hdfs_sink.conf -n a1 -Dflume.root.logger=DEBUG,console
  • source端还是telnet,端口5140
# 开启telnet 5140发送数据
telnet localhost 5140
  • 然后就能看到一些文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VlMR7k4A-1655295057362)(C:\Users\cry\AppData\Roaming\Typora\typora-user-images\image-20220516202718040.png)]

sqoop组件配置

1.安装

ttar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/src/
cd /usr/local/src/
mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
chown -R root:root sqoop
cp /usr/local/src/hive/lib/hive-common-2.0.0.jar /usr/local/src/sqoop/lib/
cp /opt/software/mysql-connector-java-5.1.26-bin.jar /usr/local/src/sqoop/lib/

mv  sqoop/conf/sqoop-env-template.sh sqoop/conf/sqoop-env.sh
vi sqoop/conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/src/hadoop
export HADOOP_MAPRED_HOME=/usr/local/src/hadoop
export HBASE_HOME=/usr/local/src/hbase
export HIVE_HOME=/usr/local/src/hive
vi /etc/profile
#配置环境变量
export SQOOP_HOME=/usr/local/src/sqoop
export PATH=$SQOOP_HOME/bin
export CLASSPATH=.:$SQOOP_HOME/lib

2.sqoop运行命令

source /etc/profile
#先开启mysql hadoop
systemctl start mysqld
start-all.sh
start-hbase.sh

#列出所有数据库
sqoop list-databases \
--connect jdbc:mysql://127.0.0.1:3306 \
--username root \
--password Password123$

#从mysql导入数据到hive
sqoop import \
--connect jdbc:mysql://master:3306/sample?useUnicode=true&characterEncoding=utf=8" \
--username root \
--password Password123$ \
--table student \
--fields-terminated-by "|" \
--delete-target-dir \
--num--mappers 1 \
--hive--import --hive-database sample \
--hive-table student

#增量数据设定:
#--incremental append
#--check-column id
#--last-value 0

#从hive数据导出到mysql
sqoop export \
--connect "jdbc:mysql://master:3306/sample?useUnicode=true&characterEncoding=utf=8" \
--username root \
--password Password123$ \
--table student \
--input-fields-terminated-by "|" \
--export-dir /usr/hive/warhouse/sample.db/student/* \
sqoop create-hive-table \
--connect "jdbc:mysql://master:3306/sample? useUnicode=true&characterEncoding=utf=8" \
--table student \
--username \
--password \
--hive-table tests

storm配置

1.启动zk

#master
zkServer.sh satrt
#slave1
zkServer.sh satrt
#slave2
zkServer.sh satrt

2.安装storm

  • 解压 Storm 安装包到“/usr/local/src”路径,并修改解压后文件夹名为 storm,截图并保存结果;
tar -zxvf /opt/software/apache-storm-1.2.4.tar.gz -C /usr/local/src
mv /usr/local/src/apache-storm-1.2.4 /usr/local/src/storm

3.配置文件

  • 配置“conf/storm.yaml”文件,截图并保存结果;

4.传送

  • 传送配置好的“conf/storm.yaml”文件,截图并保存结果;

5.配置nimbus.seeds

  • 配置 nimbus.seeds 文件,截图并保存结果

6.配置supervisor.slots.ports

  • 配置 supervisor.slots.ports,截图并保存结果;
cd /usr/local/src/storm/conf
vi storm.yaml
# Zookeeper集群的主机列表
storm.zookeeper.servers:
     - "master1"
     - "slave1"
     - "slave1"
 
# Nimbus的节点列表
nimbus.seeds: ["master1", "slave1"]
 
# Nimbus和Supervisor需要使用本地磁盘上来存储少量状态(如jar包,配置文件等)
storm.local.dir: "/usr/local/src/storm/data"
 
#workers进程的端口,每个worker进程会使用一个端口来接收消息
supervisor.slots.ports:
     - 6700
     - 6701
 
 
#指定storm集群中的nimbus节点所在的服务器
nimbus.host: "master1"
 
 
#web页面端口号
 
ui.port: 9999

7.分发

  • 拷贝主节点 Storm 包到从节点,截图并保存结果;
scp -r /usr/local/src/storm slave1:/usr/local/src/
scp -r /usr/local/src/storm slave2:/usr/local/src/

8.配置环境

  • 设置 Storm 环境变量,并使环境变量只对当前 root 用户生效,截图并保存 结果;
vi /root/.bashrc
export STORM_HOME=/usr/local/src/storm
export PATH=$PATH:$STORM_HOME/bin
source /root/.bashrc

scp /root/.bashrc slave1:/root

#slave1
source /root/.bashrc

9.启动

  • 在主节点和从节点启动,并截图保存(要求截到 url 和状态)
#master
cd /usr/local/src/storm/bin
nohup sh storm nimbus &
nohup sh storm supervisor &
nohup sh storm ui &
nohup sh storm logviewer &

#slave1
nohup sh storm supervisor &
nohup sh storm logviewer &

#浏览器查看
master:9999

9.关闭

jps
#用kill命令关闭 core logviewer Supervisor nimbus的进程号
kill -9 ${进程号}

.bashrc


## 9.启动

-  在主节点和从节点启动,并截图保存(要求截到 url 和状态)

```shell
#master
cd /usr/local/src/storm/bin
nohup sh storm nimbus &
nohup sh storm supervisor &
nohup sh storm ui &
nohup sh storm logviewer &

#slave1
nohup sh storm supervisor &
nohup sh storm logviewer &

#浏览器查看
master:9999

9.关闭

jps
#用kill命令关闭 core logviewer Supervisor nimbus的进程号
kill -9 ${进程号}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

厨 神

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值