解决方案:企业网络推广——企业网络推广公司解读企业新站沙盒期如何优化?

优采云 发布时间: 2022-12-01 09:39

  解决方案:企业网络推广——企业网络推广公司解读企业新站沙盒期如何优化?

  通常,企业网站上线后的短时间内是没有排名的。即使网站被收录,也必须全心投入,才能被搜索引擎注意到。这种网站运营初期被业内人士称为“沙盒效应”。俗称“百度考察期”。这两个名称不同,但含义相同。那么企业新网站进入沙盒期如何优化运营呢?下面就这个问题进行详细的分析,希望对大家有所帮助。

  1、维护网站服务器的稳定性

  

" />

  对于一个新的企业网站来说,沙盒期是对网站推广初期的考验,检验一个网站是否有能力为用户提供信息,解决需求,最大限度地发挥网站存在的意义。因此,处于沙盒期的网站一定要做好优化运营工作,首当其冲的就是维护网站服务器的稳定性。如果网站不够稳定,用户连网站页面都打不开,那如何进一步考察网站能否解决用户的问题呢?需求,并提供用户需要的信息?更何况,服务器长期不稳定也很可能影响蜘蛛爬虫对网站内容的获取,可见网站服务器稳定性的重要性。

  2、避免修改网站标题关键词

  对于优化师来说,网站标题关键词一定要避免重复修改。关键词的选择一定要符合网站目前的发展,长期耐心的优化才能最终开花结果。如果只是三天打鱼两天上网,关键词的优化效果可能不大。因此,在这一点上,优化人员的心态和选择,避免“日换日换,日换单”就显得尤为重要。

  3、避免在建站初期采集

大量文章

  

  对于一个新的企业网站,即使前期没有时间优化运营,也不可能用大量的采集文章填满网站。即使是伪造的原件也比这种方法强得多。一旦搜索引擎判断网站文章内容重复率过高,将直接影响搜索引擎对新网站的信任度和友好度,容易形成厌恶感。所以,对于企业新网站前期的优化工作,建议优化人员多做一些原创的、高质量的文章,保证一定的更新频率,相信会走出困境的。沙盒期更早。

  4.网站可以添加高质量的外链

  早期网站优化行业有一句名言:内容为王,外链为王。可见网站外链的作用有多么重要,但是随着时间的推移和互联网技术的发展,外链的作用已经不一样了,但是对于新站来说,有总比没有好。因此,在网站外链的选择上,质量比数量更重要,不多而精。摒弃垃圾外链,选择优质外链,相信对提高新站早期收录率有很大帮助。

  总而言之,新站点在正式上线前会经历一段沙盒期。期间不能操之过急,稳定优化的步骤和速度。相信在不久的将来,新站点会很快结束沙盒期。希望今天分享的内容能够帮助大家更好的完成新企业网站沙盒期的优化。

  优化的解决方案:Flume实时采集mysql数据到kafka中并输出

  环境说明准备工作一、安装Flume

  这个参考博主的另一篇安装flume的文章

  水槽简介

  Apache Flume 是一个分布式、可靠且可用的系统,用于高效地采集

、聚合大量日志数据,并将其从许多不同的来源移动到一个集中的数据存储中。在大数据生态中,经常使用flume来完成数据的采集

  它的实时性非常高,延迟在1-2s左右,可以准实时。

  又因为mysql是程序员常用的数据库,所以以flume实时采集mysql数据库为例。要了解 flume 是如何采集

数据的,首先要探索它的架构:

  Flume运行的核心是Agent。Flume 以 agent 作为最小的独立运行单元。代理是一个 JVM。它是一个完整的数据采集

工具,具有三个核心组件,即

  源、通道、*敏*感*词*。通过这些组件,Event可以从一个地方流向另一个地方,如下图所示。

  三大元器件来源

  源是数据采集

器。它负责抓取数据,进行特殊格式化,将数据封装成事件,然后将事件推送到Channel中。

  Flume提供了各种Source的实现,包括Avro Source、Exce Source、Spooling Directory Source、NetCat Source、Syslog Source、Syslog TCP Source、Syslog UDP Source、HTTP Source、HDFS Source等,如果内置的Source不能满足需求, Flume也支持自定义Source。

  可以看出,原生flume的源是不支持sql源的,所以我们需要添加一个插件,后面会讲到如何添加。

  渠道

  Channel是连接Source和Sink的组件。你可以把它想象成一个数据缓冲区(数据队列)。它可以将事件临时存储在内存中或持久化到本地磁盘,直到 Sink 完成对事件的处理。

  对于Channel,Flume提供了Memory Channel、JDBC Channel、File Channel等。

  下沉

  Flume Sink将Channel中的数据取出,存储到文件系统、数据库中,或者提交到远程服务器。

  Flume还提供了多种sink实现,包括HDFS sink、Logger sink、Avro sink、File Roll sink、Null sink、HBase sink等。

  当Flume Sink配置为存储数据时,它可以将数据存储在文件系统、数据库或Hadoop中。当日志数据较小时,可以将数据存储在文件系统中,并设置一定的时间间隔来保存数据。当日志数据量较大时,可以将相应的日志数据存储在Hadoop中,方便日后进行相应的数据分析。

  在这个例子中,我使用kafka作为sink

  下载 flume-ng-sql-source 插件

  去这里下载flume-ng-sql-source,最新版本是1.5.3。

  下载解压后,通过idea运行程序,使用maven打包成jar包,重命名为flume-ng-sql-source-1.5.3.jar

  编译好的jar包要放在FLUME_HOME/lib下。FLUME_HOME是自己linux下flume的文件夹。比如我的是/opt/install/flume

  jdk1.8安装

  kafka 安装 zookeeper 安装 kafka 安装

  我们使用flume采集数据到kafka,并启动kafak消费监控,可以看到实时数据

  Kafka单机搭建与运行--做个记录_Alex_81D的博客-CSDN博客

  mysql5.7.24安装

  超详细yum安装mysql的方法_Alex_81D的博客-CSDN博客_yum下载mysql

  Flume提取mysql数据到kafka新建数据库和表

  完成以上安装工作后,就可以开始实现demo了

  首先我们要抓取mysql的数据,所以必须要有数据库和表,而且要记住数据库和表的名字,然后把这些信息写入到flume的配置文件中。

  创建数据库:

  create database test

  创建表:

  -- ----------------------------

-- Table structure for fk

-- ----------------------------

DROP TABLE IF EXISTS `fk`;

CREATE TABLE `fk` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`name` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

  新的配置文件(重要)

  

" />

  cd到flume的conf文件夹下,新增文件mysql-flume.conf

  注:mysql-flume.conf本来是不存在的,是我生成的,具体配置如下

  # a1表示agent的名称

# source是a1的输入源

# channels是缓冲区

# sinks是a1输出目的地,本例子sinks使用了kafka

a1.channels = ch-1

a1.sources = src-1

a1.sinks = k1

###########sql source#################

# For each one of the sources, the type is defined

a1.sources.src-1.type = org.keedio.flume.source.SQLSource

# 连接mysql的一系列操作,youhost改为你虚拟机的ip地址,可以通过ifconfig或者ip addr查看

# url中要加入?useUnicode=true&characterEncoding=utf-8&useSSL=false,否则有可能连接失败

a1.sources.src-1.hibernate.connection.url = jdbc:mysql://youhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false

# Hibernate Database connection properties

# mysql账号,一般都是root

a1.sources.src-1.hibernate.connection.user = root

# 填入你的mysql密码

a1.sources.src-1.hibernate.connection.password = xxxxxxxx

a1.sources.src-1.hibernate.connection.autocommit = true

# mysql驱动

a1.sources.src-1.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

# 驱动版本过低会无法使用,驱动安装下文会提及

a1.sources.src-1.hibernate.connection.driver_class = com.mysql.jdbc.Driver

# 采集间隔时间

a1.sources.src-1.run.query.delay=5000

# 存放status文件

a1.sources.src-1.status.file.path = /opt/install/flume/status

a1.sources.src-1.status.file.name = sqlSource.status

# Custom query

a1.sources.src-1.start.from = 0

# 填写需要采集的数据表信息,你也可以使用下面的方法:

# agent.sources.sql-source.table =table_name

# agent.sources.sql-source.columns.to.select = *

a1.sources.src-1.custom.query = select `id`, `name` from fk

a1.sources.src-1.batch.size = 1000

a1.sources.src-1.max.rows = 1000

a1.sources.src-1.hibernate.connection.provider_class = org.hibernate.connection.C3P0ConnectionProvider

a1.sources.src-1.hibernate.c3p0.min_size=1

a1.sources.src-1.hibernate.c3p0.max_size=10

################################################################

a1.channels.ch-1.type = memory

a1.channels.ch-1.capacity = 10000

a1.channels.ch-1.transactionCapacity = 10000

a1.channels.ch-1.byteCapacityBufferPercentage = 20

a1.channels.ch-1.byteCapacity = 800000

<p>

" />

################################################################

# 使用kafka

a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink

# 这个项目中你创建的或使用的topic名字

a1.sinks.k1.topic = testTopic

# kafka集群,broker列表,由于我没有使用集群所以只有一个

# 如果你搭建了集群,代码如下:agent.sinks.k1.brokerList = kafka-node1:9092,kafka-node2:9092,kafka-node3:9092

a1.sinks.k1.brokerList = 10.100.4.6:9092

a1.sinks.k1.requiredAcks = 1

a1.sinks.k1.batchSize = 20

# 配置关系

a1.sources.src-1.channels = ch-1

a1.sinks.k1.channel = ch-1</p>

  将mysql驱动添加到flume的lib目录下

  wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.35.tar.gz

tar xzf mysql-connector-java-5.1.35.tar.gz

cp mysql-connector-java-5.1.35-bin.jar /你flume的位置/lib/

  启动动物园管理员

  由于我用的是kafka自带的zk,所以这一步是这样的

  ./zookeeper-server-start.sh ../config/zookeeper.properties &

  启动卡夫卡

  xshell新开一个窗口,cd到kafka目录,启动kafka

  bin/kafka-server-start.sh config/server.properties &

  创建一个新主题

  bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic

  注1:testTopic是你使用的topic名称,对应上面mysql-flume.conf中的内容。

  注2:可以使用bin/kafka-topics.sh --list --zookeeper localhost:2181查看创建的topic。

  启动水槽

  xshell新开一个窗口,cd到flume目录,启动flume

   ../bin/flume-ng agent -n a1 -c ../conf -f mysql-flume.conf -Dflume.root.logger=INFO,console

  等待它运行,同时我们可以打开一个新窗口连接数据库,使用我们新建的测试数据库和fk表。

  实时采集数据

  Flume会将数据实时采集到kafka中,我们可以启动一个kafak消费监控来查看mysql的实时数据

  bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning

  这时候可以查看数据,kafka会打印mysql中的数据

  然后我们更改数据库中的一条数据,新读取的数据也会发生变化

  前:

  修改后

  本文更改了相关内容,避免了操作中遇到的坑

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线