Zabbix的安装部署

zabbix安装

按照https://www.zabbix.com/download 文中介绍,进行安装

注意

  1. yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent 进行安装的时候,可能会失败,多试几次,每次文件都会多下载一点,最终能下载完。
  2. /etc/nginx/conf.d/zabbix.conf 中listen的端口,尽量不要是80,因为很多程序的默认端口都是80,所以为了避免端口冲突,最好改成其他的端口
  3. server_name 可以先不用设置,保持注释的状态
  4. /etc/php-fpm.d/zabbix.conf, uncomment and set the right timezone for you. 一般用Asia/Shanghai
  5. 默认用户名和密码是Admin zabbix

添加钉钉报警

管理 -> 报警媒介类型 -> 创建媒体类型

参考 https://www.cnblogs.com/yinzhengjie/p/10372566.html
参考 https://blog.51cto.com/m51cto/2051945
参考 https://segmentfault.com/q/1010000003894661

Kafka为topic增加副本

1. 查看topic的原来的副本分布

[hadoop@hadoop006 ~]$ kafka-topics –zookeeper hadoop002:2181 –describe –topic tracker_view

2. 增加Topic的副本的json文件的编写

vim addReplicasToTracker_view.json

Read More

Hive使用动态分区功能合并小文件

下列语句在Hive命令行可以执行,但是在hue上好像不可以。

1
2
3
4
5
hive> SET hive.exec.dynamic.partition = true;           // 开启动态分区,默认是false
hive> SET hive.exec.dynamic.partition.mode = nonstrict; // 允许所有分区都是动态的,否则必须要有静态分区才能使用
hive> set hive.merge.smallfiles.avgsize = 100000000; // 平均文件大小,是决定是否执行合并操作的阈值,默认16000000

hive> insert into TABLE test.tmp_work_mc1 partition(day,product) SELECT id,emp,pv,uv,spv,fpv,fpv_add,fpv_del,day,product from ods.work_mc ;

https://blog.csdn.net/qq_26442553/article/details/80382174
http://shzhangji.com/cnblogs/2014/04/07/hive-small-files/

Linux Ssh配置了免密码登录,登录时却仍需要密码

https://blog.csdn.net/b_x_p/article/details/78534423

如果配置了机器A免密码登录B,登录的时候还是需要密码,那么很有可能是B禁止了root登录。

在B上查看配置文件 /etc/ssh/sshd_config

1
2
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin no

将PermitRootLogin配置改成yes就可以了。

修改完,记得重启一下ssh的服务:

1
2
3
/bin/systemctl restart  sshd.service
或者
service sshd restart

Linux Expect自动化登录脚本

之前写了一个自动化登录的脚本,最近运维升级了堡垒机,导致这段时间无法登录,经过摸索排查,发现需要把每个send后的\n换成\r,然后又可以愉快的玩耍了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/expect
set user hohode
set host jump.hohode.com
set password xxxxx
spawn ssh -i /Users/hohode/Documents/company/keys/online/hohode-jumpserver.pem $user@$host
expect "*Opt>*"


if { $argc == 1 } {
set seq [lindex $argv 0]
}

if { $seq == "nck" } {
send "hadoop019\r"
expect "jump@hadoop*"
send "sudo su -\r"
send "ssh 190.0.2.129\r"
send "cd /data/\r"
} elseif { $seq == "test" } {
send "190.0.2.73\r"
expect "jump@*"
send "sudo su -\r"
} elseif { $seq == "app001" || $seq == "app002" || $seq == "logserver001" || $seq == "logserver002" || $seq == "logserver003" } {
send "$seq \r"
expect "jump*"
send "sudo su -\r"
if { $seq == "app001" || $seq == "app002" } {
send "cd /data/work/pre_tracker/\r"
}

if { $seq == "logserver001" || $seq == "logserver002" || $seq == "logserver003" } {
send "cd /data/work/\r"
}

} elseif { $seq != "lll" } {

if { $seq == 1 || $seq == 2 || $seq == 6 } {
send "hadoop00$seq\r"
}
if { $seq == 19 } {
send "hadoop0$seq\r"
} else {
send "$seq\r"
}

expect "jump@*"
send "sudo su -\r"

if { $seq == 1 || $seq == 2 || $seq == 19 } {
expect "*root@hadoop*"
send "su - hdfs\r"
if { $seq == 1 } {
expect "*hdfs@hadoop*"
send "cd shell/new/\r"
} elseif { $seq == 2 } {
expect "*hdfs@hadoop*"
send "cd /data/work/shell/\r"
} elseif { $seq == 19 } {
expect "*hdfs@hadoop*"
send "cd shell/\r"
}
}
}

interact
expect eof

项目管理 听后感

三个小实验:1.搭桥 2.造塔 3. 听说绘图
遇到一个项目或一件事情,拿到之后首先要考虑以下几项:

  • 项目名是什么
  • 项目目标是什么
  • 项目的验收标准是什么
  • 思考解决方案(借鉴和创新)
  • 合理分工
  • 把控风险

项目经理最好不要参与项目的实际开发。项目经理应该去把控项目时间,思考解决实现项目的最优方案,学习借鉴他人或现有的经验,从而青出于蓝而胜于蓝。

在做的过程中,全力以赴的去做,如果还达不到目标或没有结果,可以申请延长时间或者改变目标,或者其他的办法都可以。