IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 数据抽取(有时间再细化一下) -> 正文阅读

[系统运维]数据抽取(有时间再细化一下)

前言:周末临时接到一个任务说要去铁岭做数据抽取
首先:用户给了一台centos7的物理机器,良好的网络环境(外网以及内网连接)
目标:将数据从->sqlserver2000数据库中抽取到新给的物理机中
准备:数据库选择的Mysql8.0、抽取工具选择的kettle(界面虽然丑了一点,但功能还是挺好用的)

分析:1、因为是新服务器,需要安装各种各样的东西,比如配置地址、安装ssh、语言包等等等等:
? ? ? ? ? 2、任务目标需要准备的环境:mysql8.0(yum安装)、jdk1.8(yum安装-kettle是java开发的需要java环境)、kettle压缩包(网上下载然后手动放到服务器上)

物理机到手:
0、安装centos7系统
用这个(UltraISO)工具制作u盘启动项,u盘启动,
安装超时问题:
?再启动盘中的这个位置/isolinux/isolinux.cfg ?找到 Install CentOS 7
把这个标签改成这样:inst.stage2=hd:LABEL=CentOS\x207\x20x86_64
安装系统的时候:选择 Install CentOS 7 ,然后修改 按 e 键,进入修改状态,将 hd:LABEL= 修改为U盘的标签,或者修改为当前 U盘在安装机的具体路径,一般为 /dev/hda4(这个地方可以先安装失败一次就能看到具体的名字了) 等,栗子:“hd:LABEL=/dev/hda4”,然后按 Ctrl+x (我用的F10)开始执行安装。


1、Linux中各种 command not found问题
原因是环境变量没有配置好,这里一般有两种解决方法:
第一:可以切换到root用户执行命令,第二种,就是配置用户的环境变量,其指令如下:
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
接着来查看ens33网卡的配置:vi /etc/sysconfig/network-scripts/ifcfg-ens33 注意vi后面加空格
设置ONBOOT=no
然后重启网络服务: sudo service network restart

2、设置IP地址(正式运行的时候一定要设置固定ip,否则地址一变,就谁都连不上了)
先用:ip addr 查看有几个网卡已经网卡
然后:编辑对应网卡的配置文件,vi /etc/sysconfig/network-scripts/ifcfg-ens33,将其中ONGOOT=yes 还有IPADDR=‘固定ip’等等(这个地方网上有很多就不多写了)
最后用重启网络服务:sudo service network restart(不重启一定不要用-不过我建议关机重启-因为我吃过这个亏):
重启linux:shutdown -r now
关闭linux:shutdown -h now
登出linux:logout
设置网卡开机启动:vi /etc/rc.d/rc.local ? ? 加入 ifup 网卡名

3、安装ssh(远程服务器用)
安装没什么说的yum安装就行,值得一说的是/etc/ssh/sshd_config中的配置文件,有几个地方需要更改,不让无法连接(而且新创建的子用户不用设置太多东西就能练,root用户要连的化还需要额外的设置一些东西)
ssh连接提示密码错误(明明没错误解):就是配置文件的这个值需要更改一下UsePAM=yes
重启ssh服务:service sshd restart、systemctl restart sshd.service

ssh端口打穿防火墙:firewall-cmd --zone=public --add-port=22/tcp --permanent
切换到cd ?/etc/firewalld/zones ?(查看防火墙中对外公开的端口的配置文件-有22接口-成功)

4、新建子用户:新建一个用户,再新建一个用户组,把用户放在这个组里(否则登录不了)
创建组:groupadd admin
创建用户并分配组:useradd –g 组名 用户名
直接创建用户不分配组:useradd admin77
设置密码:passwd 123456

#给用户777设置admin77下的所有读写权限(admin77用户名|admin用户组)
chown -R admin77:admin /home/admin77

5、安装jdk
yum安装,安装完配置也默认就好了,很顺利

6、安装mysql
yum安装,这个需要设置一下允许远程连接:
mysql -u root -p ? 登录到mysql中
use mysql
select host from user where user = 'root'
update user set host = '%' where user = 'root'放开远程连接限制
flush privilegs;刷新配置

数据库端口打穿防火墙:firewall-cmd --zone=public --add-port=3306/tcp --permanent(添加一个3306端口永久生效。
切换到cd ?/etc/firewalld/zones ?(查看防火墙中对外公开的端口的配置文件-有3306接口-成功)


7、数据抽取工具(kettle)
简介:kettle是一个很好用的数据抽取工具,可以将一个数据库中的数据查询并插入到另一个数据库中。

(1)下载一个安装包(windows/linux通用,只不过启动文件不一样:windowd->spoon.bat | linux->spoon.sh)
?(2)按照网上的教程安装各种东西(linux图形界面等等相关的工具)
? ? ?xmanager(可以接受linux中弹出的kettle图形界面,方便操作kettle)

问题总结:
(1)linux环境下部署 Kettle界面中文乱码问题:需要安装语言包
(2)kettle连不上mysql库:kettle不支持mysql8.几的驱动-换成5.几的就可以了
(3)sqlserver的时间查询问题:sqlservr不支持时间直接比较,要这么写->where DATEDIFF(hour,convert(varchar(50),sqlserver时间自段,20),'${传过来的参数}') ?< 0
(4)kettle增量抽取数据:先创建一个转换,再转换里查询抽取目标的最新时间,然后set参数;然后令一个转换里get参数,然后查询,查询的时候选中替换参数;出入的时候由于sqlserver和mysql的时间格式不一样,需要将字段转换(参数也可以转换-注意参数的大小写)
(5)网上说要连sqlserver,需要打sp4补丁,这个我没遇到。

8、定时任务(创建一个sh文件,让系统定时调用)

创建.sh文件都需要付权限,否则用户无法执行:chmod u+x *.sh(.sh文件时作业的一个路径文件-可以再不启动kettle的图形界面情况下直接启动作业)

设置crond服务开机自启动
设置crond定时任务服务开机自启,在 /etc/rc.d/rc.local脚本中加入 /sbin/service crond start

定时任务
admin77用户下执行 ? ?crond -e ? 加入下面一行
*/30 * * * * /home/admin77/kettle/data-integration/start.sh >> /home/admin77/kettle/data-integration/start.log

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:45:32  更:2021-08-28 09:47:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:08:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码