可以与Kylin结合使用的可视化工具很多,例如:
ODBC:与Tableau、Excel、PowerBI等工具集成
JDBC:与Saiku、BIRT等Java工具集成
RestAPI:与JavaScript、Web网页集成
Kylin开发团队还贡献了Zepplin的插件,也可以使用Zepplin来访问Kylin服务。
新建项目并导入依赖
org.apache.kylin
kylin-jdbc
3.0.2
编码
public class TestKylin {
public static void main(String[] args) throws Exception {
//Kylin_JDBC 驱动
String KYLIN_DRIVER = "org.apache.kylin.jdbc.Driver";
//Kylin_URL
String KYLIN_URL = "jdbc:kylin://hadoop101:7070/FirstProject";
//Kylin的用户名
String KYLIN_USER = "ADMIN";
//Kylin的密码
String KYLIN_PASSWD = "KYLIN";
//添加驱动信息
Class.forName(KYLIN_DRIVER);
//获取连接
Connection connection = DriverManager.getConnection(KYLIN_URL, KYLIN_USER, KYLIN_PASSWD);
//预编译SQL
PreparedStatement ps = connection.prepareStatement("SELECT sku_id,sum(split_final_amount) FROM dwd_order_detail group by sku_id");
//执行查询
ResultSet resultSet = ps.executeQuery();
//遍历打印
while (resultSet.next()) {
System.out.println(resultSet.getString(1));
System.out.println(resultSet.getDouble(1));
}
}
}
# 将zeppelin-0.8.0-bin-all.tgz上传至Linux
# 解压zeppelin-0.8.0-bin-all.tgz之/opt/module
[hzy@hadoop101 sorfware]$ tar -zxvf zeppelin-0.8.0-bin-all.tgz -C /opt/module/
# 修改名称
[hzy@hadoop101 module]$ mv zeppelin-0.8.0-bin-all/ zeppelin
# 启动
[hzy@hadoop101 zeppelin]$ bin/zeppelin-daemon.sh start
# 可登录网页查看,web默认端口号为8080
# 端口可以在conf目录下进行修改,解决端口冲突
cp zeppelin-site.xml.template zeppelin-site.xml
http://hadoop101:8080

点击右上角anonymous选择Interpreter

搜索Kylin插件并修改相应的配置

修改完成点击Save完成

点击Notebook创建新的note

填写Note Name点击Create

执行查询

Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。
监控的作用

| 进程 | hadoop101节点 | hadoop102节点 | hadoop103节点 |
|---|---|---|---|
| zabbix-agent | √ | √ | √ |
| zabbix-server | √ | ||
| MySQL | √ | ||
| zabbix-web | √ |
如果集群开启,先关闭集群。因为安装Zabbix前,需要重启虚拟机。
[hzy@hadoop101 ~]$ sudo service iptables stop
[hzy@hadoop101 ~]$ sudo chkconfig iptables off
[hzy@hadoop102 ~]$ sudo service iptables stop
[hzy@hadoop102 ~]$ sudo chkconfig iptables off
[hzy@hadoop103 ~]$ sudo service iptables stop
[hzy@hadoop103 ~]$ sudo chkconfig iptables off
SELinux是linux一项安全措施,能够将权限收紧
# 修改配置文件/etc/selinux/config
sudo vim /etc/selinux/config
# 修改如下内容
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# 重启服务器
sudo reboot
# 安装zabbix的yum仓库
[hzy@hadoop101 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[hzy@hadoop102 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[hzy@hadoop103 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
# 安装Software Collections仓库
[hzy@hadoop101 ~]$ sudo yum install -y centos-release-scl
[hzy@hadoop102 ~]$ sudo yum install -y centos-release-scl
[hzy@hadoop103 ~]$ sudo yum install -y centos-release-scl
hadoop101、hadoop102、hadoop103三台节点,依次执行如下步骤。
修改为阿里云镜像
# 查看原始zabbix.repo文件
[hzy@hadoop101 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
# 查看内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
# 执行以下命令完成全局替换
[hzy@hadoop101 ~]$ sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
# 查看修改之后的zabbix.repo文件
[hzy@hadoop101 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
# 查看内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
# 启用zabbix-web仓库
# 打开/etc/yum.repos.d/zabbix.repo文件,做如下修改
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
# 在hadoop101、hadoop102、hadoop103三台节点分别执行以下安装命令
[hzy@hadoop101 ~]$ sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl
[hzy@hadoop102 ~]$ sudo yum install -y zabbix-agent
[hzy@hadoop103 ~]$ sudo yum install -y zabbix-agent
# 创建zabbix数据库
[hzy@hadoop101 ~]$ mysql -uroot -p000000 -e"create database zabbix character set utf8 collate utf8_bin"
# 进入数据库,查看zabbix是否存在
mysql -uroot -p000000
show databases;
# 导入Zabbix建表语句
# zcat:查看gz包下的程序
[hzy@hadoop101 ~]$ zcat /usr/share/doc/zabbix-server-mysql-*/create.sql.gz | mysql -uroot -p000000 zabbix
use zabbix
show tables;
# 已经创建166张表
# 配置Zabbix_Server(hadoop101)
# 修改zabbix-server配置文件
[hzy@hadoop101 ~]$ sudo vim /etc/zabbix/zabbix_server.conf
DBHost=hadoop101
DBName=zabbix
DBUser=root
DBPassword=000000
# 配置Zabbix_Agent(三台节点)
# 修改zabbix-agent配置文件
[hzy@hadoop101 ~]$ sudo vim /etc/zabbix/zabbix_agentd.conf
# 修改如下内容:Server:后台被动发现的Server,ServerActive:将来如果触发了主动操作的插件,agent会主动查找这个ServerActive注册自己,为了减小Server端被动发现的负载,如果一个集群有很多机器,Server主动找agent需要找很多台机器,反之,让agent主动注册就很方便
Server=hadoop101
ServerActive= hadoop101
#Hostname=Zabbix server 将此项注释掉
# 配置Zabbix_Web时区
# 修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf文件
[hzy@hadoop101 ~]$ sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
# 修改如下内容:
[zabbix]
user = apache
group = apache
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/
php_value[max_execution_time] = 300
php_value[memory_limit] = 128M
php_value[post_max_size] = 16M
php_value[upload_max_filesize] = 2M
php_value[max_input_time] = 300
php_value[max_input_vars] = 10000
php_value[date.timezone] = Asia/Shanghai
[hzy@hadoop101 ~]$ sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
[hzy@hadoop101 ~]$ sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[hzy@hadoop102 ~]$ sudo systemctl start zabbix-agent
[hzy@hadoop102 ~]$ sudo systemctl enable zabbix-agent
[hzy@hadoop103 ~]$ sudo systemctl start zabbix-agent
[hzy@hadoop103 ~]$ sudo systemctl enable zabbix-agent
[hzy@hadoop101 ~]$ sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
[hzy@hadoop101 ~]$ sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[hzy@hadoop102 ~]$ sudo systemctl stop zabbix-agent
[hzy@hadoop102 ~]$ sudo systemctl disable zabbix-agent
[hzy@hadoop103 ~]$ sudo systemctl stop zabbix-agent
[hzy@hadoop104 ~]$ sudo systemctl disable zabbix-agent
浏览器访问http://hadoop101/zabbix

检查配置 – next step
配置数据库 – 依次为 MySQL + hadoop101 + 0 + zabbix + root + 000000 将TLS加密去掉 – next step
配置zabbix-server – 依次为 hadoop101 + 10051 + name可以不填 一路next
用户名:Admin 密码:zabbix

点击User Settings,语言设成中文
点击配置/主机/创建主机、配置主机(Host)、查看新增(Host)
稍等一下,可用性中的ZBX会高亮,表示此台机器配置成功
ssh test -d 文件夹名点击测试,get value and test 显示结果为1,说明端口正常运行,点击添加,成功获取第一个监控项
点击监测 – 主机 – 点击已经添加的主机 – 最新数据 – 可以查看到监控项及结果
点击配置 – 主机 – 触发器
这时,在仪表盘中,如果NN出现问题,在【问题】一栏会出现配置的触发器
点击配置 – 动作 – 左上角选择【trigger actions】 – 右上角创建动作
邮件报警,可以采用126、163、qq等邮箱。
点击邮箱账号 – 账号管理 – 开启SMTP服务 – 一定要记住授权码
点击 管理 – 用户 – Admin – 报警媒介 – 添加
点击 – 管理 – 报警媒介类型 – Email
点击 测试 收件人填写邮箱地址,测试成功可在邮箱收到一封测试邮件
总结:新建主机 – 主机内新建一个监控项 – 监控项能触发警报 – 触发后给用户发邮件
关闭NN,仪表盘会触发警报,邮箱中会收到邮件
模板:提前做好了监控项和触发器
点击配置 – 模板 – 选择现有模板【Template App Hadoop By HTTP】 新建模板也可以
点击【宏】可以自定义
现在就有了一个监控hadoop的模板
配置 – 主机 – 选择主机 – 模板 – 选择模板 – 主机群组 – 选择 – Tempaltes/Application – Template App Hadoop By HTTP – 更新
监控主机即可,会通过主机自动查找从机
监控 – 主机 – 选择主机 – 会发现很多监控项