ubuntu 16.04 搭建完全分布式之:flume搭建,LOG4J配合使用,MAVEN工程初探

flume安装

sudo apt install mysql-server

不要安装ubuntu自带的connector,那个东西弄了个链接到hive/lib里面结果用不了

我的mysql版本是5.7

然后
sudo mysql_secure_installation

然后sudo mysql -uroot -p
进去看看exit;出来

case: log4j → flume → hdfs

安装maven:
https://blog.csdn.net/qq_24091555/article/details/76039475

第一步:修改maven根目录下的conf文件夹中的setting.xml文件,内容如下:

<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>
第二步: pom.xml文件里添加

<repositories>  
        <repository>  
            <id>alimaven</id>  
            <name>aliyun maven</name>  
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
            <releases>  
                <enabled>true</enabled>  
            </releases>  
            <snapshots>  
                <enabled>false</enabled>  
            </snapshots>  
        </repository>  
</repositories>  

MAVEN helloworld测试

https://blog.csdn.net/cringkong/article/details/79548082
# check
tree
# run
java -jav /target/xxx.jar

安装Log4J
不用装,MAVEN自动调用

项目工程设置
项目工程文件夹
请无视greeter, helloworld,那个是个helloworld的测试,是上面那个安装maven的时候做的小测试
然后编辑Writelog.java


package com.flume;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Date;
/**
 * Created by ywchen on 2016-09-06.
 */
public class WriteLog {
    protected static final Logger logger = LoggerFactory.getLogger(WriteLog.class);
    public static void main(String[] args) throws Exception {
        while (true) {
            logger.info(String.valueOf(new Date().getTime()));
            Thread.sleep(2000);
        }
    }
}

编辑pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>flume-test</groupId>
  <artifactId>flume-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>
      <dependencies>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flume</groupId>
            <artifactId>flume-ng-core</artifactId>
            <version>1.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.flume.flume-ng-clients</groupId>
            <artifactId>flume-ng-log4jappender</artifactId>
            <version>1.6.0</version>
        </dependency>
    </dependencies>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
          <warSourceDirectory>WebContent</warSourceDirectory>
          <failOnMissingWebXml>false</failOnMissingWebXml>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.5</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>

注意修改flume对应的软件版本,我查了我的flume是1.9.0
在项目工程根目录下:

maven clean
maven package

编辑run.sh

#!/bin/sh
jarlist=$(ls /usr/app/flume/lib/*.jar)
CLASSPATH=~/maven-Prj/hellomaven/target/flume-test-0.0.1-SNAPSHOT.jar
for jar in ${jarlist}
do
    CLASSPATH=${CLASSPATH}:${jar}
done
echo ${CLASSPATH}

java -classpath $CLASSPATH com.flume.WriteLog

可以参照着修改一下对应的路径

这个脚本简单来说就是:

  1. 包括flume所有的jar包进去
  2. 包括项目工程编译出来的包进去
  3. 然后运行com.flume.Writelog类

看一下运行结果:
在这里插入图片描述
对应的hadoop:
在这里插入图片描述
让我们再取出来看一下:
在这里插入图片描述
的确是我们想要写入的数据

完结撒花

参考文献:
hadoop+spark生态系统实战与指南

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值