<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[LSB19930706的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/LSB19930706</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; LSB19930706]]></copyright><item><title><![CDATA[sqoop导出数据]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/127915546</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/127915546</guid><author>LSB19930706</author><pubDate>Fri, 18 Nov 2022 09:17:41 +0800</pubDate><description><![CDATA[sqoop导出数据，sqoop换行符]]></description><category></category></item><item><title><![CDATA[linux命令行交互密码写入脚本]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/127730828</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/127730828</guid><author>LSB19930706</author><pubDate>Mon, 07 Nov 2022 14:44:08 +0800</pubDate><description><![CDATA[linux命令行交互密码写入脚本]]></description><category></category></item><item><title><![CDATA[kafka删除消费者]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/127507398</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/127507398</guid><author>LSB19930706</author><pubDate>Tue, 25 Oct 2022 09:45:25 +0800</pubDate><description><![CDATA[kafka操作]]></description><category></category></item><item><title><![CDATA[kettle增量抽数]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/124569955</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/124569955</guid><author>LSB19930706</author><pubDate>Wed, 04 May 2022 14:15:01 +0800</pubDate><description><![CDATA[一、背景:

1.业务系统无时间戳字段；2.业务系统到项目组服务器之间的网络带宽太慢，一次只能抽几十条数据（几十个字段的表）；3.业务系统更新数据为直接更新，无更新标识字段，所幸有ModifyTime字段。

二、措施：



表输入：业务系统输入，只抽取两个字段，抽取速度可达10000条/秒表输入2：从抽过来的数据中找到最新的修改时间



字段比对：







过滤记录：保留增、改数据





插入增、改数据












...]]></description><category></category></item><item><title><![CDATA[sqoop去除换行符]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/124387561</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/124387561</guid><author>LSB19930706</author><pubDate>Sun, 24 Apr 2022 17:18:18 +0800</pubDate><description><![CDATA[--hive-drop-import-delims
]]></description><category></category></item><item><title><![CDATA[对linux用户做文件访问控制]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/120870410</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/120870410</guid><author>LSB19930706</author><pubDate>Wed, 20 Oct 2021 17:26:12 +0800</pubDate><description><![CDATA[#创建用户
adduser zhifeiji
#设置密码
passwd zhifeiji

#不允许该用户访问重要的目录
setfacl -R -m u:zhifeiji:- /opt

#使用新用户登录验证，无法进入对应目录



#只允许该用户有可读可执行权限
setfacl -R -m u:zhifeiji:rx/opt

#不允许用户访问文件
setfacl -m u:zhifeiji:- /iflytek/test.txt

#使用新用户登录验证，无法对该文件查看和编辑





#只允许该用..]]></description><category></category></item><item><title><![CDATA[mysql表损坏，无法启动]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/118707367</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/118707367</guid><author>LSB19930706</author><pubDate>Tue, 13 Jul 2021 18:05:39 +0800</pubDate><description><![CDATA[由于磁盘满了，停掉mysql服务，清理磁盘，重启mysql报错，查看日志，报错如下


2021-07-13T09:01:02.803196Z 0 [ERROR] /opt/mysql/bin/mysqld: Table './mysql/db' is marked as crashed
 and should be repaired
2021-07-13T09:01:02.803218Z 0 [ERROR] Fatal error: Can't open and lock privilege tables]]></description><category></category></item><item><title><![CDATA[rsyslog日志收集]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/118382075</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/118382075</guid><author>LSB19930706</author><pubDate>Thu, 01 Jul 2021 11:37:43 +0800</pubDate><description><![CDATA[背景：需要将日志集中收集到数据库

rsyslog为centos自带的服务，现场环境为centos7，自带的rsyslog版本不同，有rsyslog7和rsyslog8，因为rsyslog-mysql驱动包只有rsyslog8有适配，需要将rsyslog7升级到rsyslog8

一、升级rsyslog

下载如下对应的rpm包：http://rpms.adiscon.com/v8-stable/epel-7/x86_64/RPMS/

升级

rpm -Uvh libestr-0.1.11-1.el7.x]]></description><category></category></item><item><title><![CDATA[服务器日志收集、分析]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/118224096</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/118224096</guid><author>LSB19930706</author><pubDate>Fri, 25 Jun 2021 16:51:57 +0800</pubDate><description><![CDATA[背景：

1.《GBT+22239-2019+信息安全技术+网络安全等级保护基本要求》中8.1.5.4集中管控要求对分散在各个设备上的审计数据进行收集汇总和集中分析

2.《中华人民共和国网络安全法》第二十一条规定日志保存6个月

解决方案：

使用开源平台 RSsyslog+mysql+LogAnalyzer

RSsyslog是centos自带的组件，开启配置发送日志到mysql数据库即可，下下面详细介绍LogAnalyzer如何配置

LogAnalyzer安装

1.关闭防火墙
#查看防火墙状态
s]]></description><category></category></item><item><title><![CDATA[firewall防火墙]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/117828468</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/117828468</guid><author>LSB19930706</author><pubDate>Fri, 11 Jun 2021 23:50:34 +0800</pubDate><description><![CDATA[firewall规则举例
#开放100-120 tcp端口
firewall-cmd --permanent --zone=public --add-port=100-120/tcp
firewall-cmd --reload

#关闭100-120 tcp端口
firewall-cmd --permanent --zone=public --remove-port=100-120/tcp
firewall-cmd --reload

#对某个ip开放某个端口
firewall-cmd --permanen]]></description><category></category></item><item><title><![CDATA[HDFS坏块处理]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/116641257</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/116641257</guid><author>LSB19930706</author><pubDate>Tue, 11 May 2021 09:48:14 +0800</pubDate><description><![CDATA[告警内容：

Missing Blocks



解决方法：

1.重启HDFS服务

./stop-dfs.sh ./start-dfs.sh 或者在某些产品的集群监控管理界面操作，比FI Manager、ClouderaManager、ambari等等

重启后观察（重启时间较长，10-20分钟后查看），告警解除；

2.如重启HDFS不能修复，可通过手动检查坏块并删除坏块

hadoop fsck /  #扫描坏块

hadoop fsck -delete 坏块地址   #扫描坏...]]></description><category></category></item><item><title><![CDATA[K8S状态为evicted]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/113929328</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/113929328</guid><author>LSB19930706</author><pubDate>Mon, 22 Feb 2021 10:36:57 +0800</pubDate><description><![CDATA[报错：xx is Evicted on xx主机

查询找出Evicted状态节点

kubectl get pods | grep Evicted



删除节点,自动重启

kubectl delete pod $podName



也可以通过脚本定时执行


kubectl get pods | grep Evicted | awk '{print $1}' | xargs kubectl delete pod

xargs 是给命令传递参数的一个过滤器，可以将管道或标准输入的数据转换成参数

原因]]></description><category></category></item><item><title><![CDATA[如何查看端口被哪个服务占用]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/111315734</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/111315734</guid><author>LSB19930706</author><pubDate>Thu, 17 Dec 2020 15:06:26 +0800</pubDate><description><![CDATA[以22端口为例，先获取到pid

netstat -ntlp| grep 22



通过pid查看启动的服务

ps -ef | grep 1457


]]></description><category></category></item><item><title><![CDATA[Hive UDF—给函数添加版本迭代标识]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109733236</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109733236</guid><author>LSB19930706</author><pubDate>Tue, 17 Nov 2020 00:21:51 +0800</pubDate><description><![CDATA[背景：

函数会有迭代的过程，对于处理相同字段，由于业务驱动，不同时期会有不同的处理方法，对于以前的函数规则要保留，后续规则要在此函数上迭代，就像体制内常用的，“旧人旧规则,新人新办法”，哈哈，规则可以同时进行。

举例：

举个与实际业务场景不相关的例子做参考，功能实现上是一样的

对某字段使用base64加解密，代码如下


import sun.misc.BASE64Decoder;

import org.apache.hadoop.hive.ql.exec.Description;
import ]]></description><category></category></item><item><title><![CDATA[centos硬件信息查看]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109677490</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109677490</guid><author>LSB19930706</author><pubDate>Fri, 13 Nov 2020 16:55:18 +0800</pubDate><description><![CDATA[一、cpu信息

查看CPU 的详细信息 (型号, 家族, 缓存大小等) ：cat /proc/cpuinfo

查看CPU型号：cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

查看物理CPU的核数：cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l

查看逻辑CPU的核数：cat /proc/cpuinfo |grep "processor"|wc -l

查看CPU的主频：cat /p]]></description><category></category></item><item><title><![CDATA[Hive UDF—实现表比对]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109588913</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109588913</guid><author>LSB19930706</author><pubDate>Mon, 09 Nov 2020 23:47:57 +0800</pubDate><description><![CDATA[一、需求背景：

源表oracle抽取数据到hive中，源表没有更新时间字段，也无法协调部门配置oracle redo log或者CDC，但是需要获取到变化的数据，并打上标签。

此UDF技术点：每张表字段数不固定，如何写不定长函数，像concat，当然可以参考hive源码如何实现concat内置函数，下面使用HashMap存放函数不定长入参。

二、代码实现：


import java.util.HashMap;
import java.util.Map;
import org.apache.hadoo]]></description><category></category></item><item><title><![CDATA[Hive桶表实践]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109315781</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109315781</guid><author>LSB19930706</author><pubDate>Thu, 29 Oct 2020 11:33:00 +0800</pubDate><description><![CDATA[桶表的好处

1、方便抽样
2、提高join查询效率

下面会一一体现

开启hive分桶有两种方式，一种方式如下，推荐这种方式


set hive.enforce.bucketing = true;

另一种需要手动指定reduce数量，并在导入到桶表的查询中做分桶查询（distribute by或者cluster by）。


set mapreduce.job.reduces = num; --num数量和分桶数量一致


...]]></description><category></category></item><item><title><![CDATA[VM桥接模式设置]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109350844</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109350844</guid><author>LSB19930706</author><pubDate>Thu, 29 Oct 2020 09:03:24 +0800</pubDate><description><![CDATA[一、网络适配器改为桥接模式

  

二、菜单栏=&gt;编辑=&gt;虚拟网络编辑器，配置如下



我连接的是无线网，所以选择无线网卡，需要选择正在联网的网卡，插线联网需要选择有线网卡。


]]></description><category></category></item><item><title><![CDATA[order by和sort by的区别]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109313023</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109313023</guid><author>LSB19930706</author><pubDate>Tue, 27 Oct 2020 16:32:20 +0800</pubDate><description><![CDATA[order by实现的是全局排序，在hive mr引擎中将会只有1个reduce。而使用sort by会起多个reduce，只会在每个reduce中排序，如果不指定分组的话，跑出来的数据看起来是杂乱无章的，如果指定reduce个数是1，那么结果和order by是一致的，如下图，不指定的情况，两种结果对比：

     

order by一般配合group by使用，而group by需要配合聚合函数使用，举个例子



而sort by分组时需要使用distribute by，和grou...]]></description><category></category></item><item><title><![CDATA[Hive map-side Join]]></title><link>https://blog.youkuaiyun.com/LSB19930706/article/details/109311032</link><guid>https://blog.youkuaiyun.com/LSB19930706/article/details/109311032</guid><author>LSB19930706</author><pubDate>Tue, 27 Oct 2020 14:54:54 +0800</pubDate><description><![CDATA[如果表join时，有一张表时小表，那么可以在最大的表通过mapper时将小标完全放倒内存中。Hive可以在map端执行连接过程，叫map-side Join。因为map可以和内存中的小标逐一匹配，从而省略掉常规连接操作所需要的的reduce过程。即使对于很小的数据集，这个优化也很明显的要快于常规的连接操作。补交减少了reduce的过程，有事还可以减少map过程的执行步骤。

   在hive0.7之前的版本中可以通过指定小表来实现map join，如下


select /*+ MAP...]]></description><category></category></item></channel></rss>