zeppelin安装及使用

目录

1.安装

1.下载 

2.解压

3.配置

4.切换zeppelin用户并启动Zeppelin

5.访问

2.集成spark

1.进入拦截器

 2.搜索spark相关配置

3.修改spark相关配置

4. 重启

3.集成trino

1.新增拦截器

 2.设置属性

3.添加jdbc包

4.重启

4.用户管理

1.添加管理员用户和普通用户

2.使用jdbc控制用户登录

1.配置shiro.ini

2.导入驱动包

3.新建库表

3.重启

5.迁移note

6.构建


1.安装

1.下载 

进入到官网http://zeppelin.apache.org/,手动下载或者通过命令方式下载

如果下载慢,可以通过迅雷下载 

wget https://dlcdn.apache.org/zeppelin/zeppelin-0.10.0/zeppelin-0.10.0-bin-all.tgz

2.解压

tar -xzvf zeppelin-0.10.0-bin-all.tgz -C /usr/local

3.配置

进入到conf目录

  1. cp zeppelin-env.sh.template zeppelin-env.sh
  2. cp zeppelin-site.xml.template zeppelin-site.xml
  3. vim zeppelin-env.sh //配置JAVA_HOME地址,如果JAVA_HOME已经在系统变量中设置过了则不用再设置
  4. vim zeppelin-site.xml //改zeppelin.server.addr中的value0.0.0.0和zeppelin端口号为8999(避免和其他端口冲突)
  5. //创建zeppelin并将用户的组改为hadoop
  6. useradd zeppelin -g hadoop
  7. //将zeppelin安装目录拥有者改为zeppelin,组的改为hadoop
  8. chown zeppelin -R zeppelin-0.10.0-bin-all
  9. chgrp hadoop -R zeppelin-0.10.0-bin-all

4.切换zeppelin用户并启动Zeppelin

  1. su zeppelin
  2. bin/zeppelin-daemon.sh start

此时可以通过jps命令看到ZeppelinServer进程

5.访问

http://ip:8999

2.集成spark

1.进入拦截器

 2.搜索spark相关配置

3.修改spark相关配置

指定spark_home,模式,启动用户等

 也可以添加属性spark.yarn.queue,设置使用队列

 设置不以登录用户提交任务用户,这样就是已启动zeppelin的用户提交任务

设置spark使用的udf函数

如果spark版本不一致,需要将版本校验去掉zeppelin.spark.enableSupportedVersionCheck设为false,例如使用的spark3.3.1但是zeppelin版本是0.10.1的版本,虽然从zeppelin0.10.1开始默认使用的是spark3的版本,但是默认使用的版本还是低于3.3.1,如果要想匹配spark版本也可以自己下源码编译打包

4. 重启

并重启zeppelin

  1. su zeppelin
  2. bin/zeppelin-daemon.sh start

3.集成trino

1.新增拦截器

拦截器名字为trino,group设置为jdbc

 2.设置属性

添加url和driver,用户名可以随便填,trino默认没有启动用户校验 

3.添加jdbc包

 进入interpreter/jdbc目录

上传trino-jdbc-359.jar包,版本可以自己选

4.重启

  1. su zeppelin
  2. bin/zeppelin-daemon.sh start

如果再查询未找到url错误,则可以自己编译trino-jdbc-359.jar包,删除url相关的校验再上传试试

4.用户管理

1.添加管理员用户和普通用户

  1. cd conf
  2. cp shiro.ini.template shiro.ini
  3. vim shiro.ini

2.使用jdbc控制用户登录

可以通过jdbc控制用户登录,但是不可以控制权限,修改密码和新增用户立即生效,不用重启zeppelin

1.配置shiro.ini

  1. [main]
  2. jdbcRealm= org.apache.shiro.realm.jdbc.JdbcRealm
  3. dataSource= com.alibaba.druid.pool.DruidDataSource
  4. #配置数据库url
  5. dataSource.url=jdbc:mysql://ip:port/database?serverTimezone=UTC
  6. dataSource.driverClassName=com.mysql.cj.jdbc.Driver
  7. #配置数据库用户
  8. dataSource.username=username
  9. #配置数据密码
  10. dataSource.password=password
  11. jdbcRealm.dataSource=$dataSource
  12. #配置登录访问的表
  13. jdbcRealm.authenticationQuery=SELECT password FROM t_user WHERE username = ?
  14. #用户的角色,配置之后发现不起作用,此功能不是很重要,暂时未深入研究
  15. #jdbcRealm.userRolesQuery=SELECT role_name FROM t_user_roles WHERE username = ?
  16. securityManager.realms=$jdbcRealm

2.导入驱动包

在lib目录下导入mysql-connector-java-8.0.28.jar和druid-1.2.8.jar包

3.新建库表

3.重启

  1. su zeppelin
  2. bin/zeppelin-daemon.sh start

5.迁移note

直接迁移安装目录下的notebook文件夹,然后重启就好

6.构建

因zeppelin最新版本没有集成spark3,所以我们从git上下载源码,自己构建

构建过程当中遇到错误

解决方法:jar包冲突,我们把低版本的jar包排除,进入到zengine的pom文件 ,找到

hadoop-yarn-client,然后排除低版本的jar包
  1. <dependency>
  2. <groupId>org.apache.hadoop</groupId>
  3. <artifactId>hadoop-yarn-client</artifactId>
  4. <exclusions>
  5. <exclusion>
  6. <groupId>org.codehaus.jackson</groupId>
  7. <artifactId>jackson-xc</artifactId>
  8. </exclusion>
  9. <exclusion>
  10. <groupId>org.codehaus.jackson</groupId>
  11. <artifactId>jackson-jaxrs</artifactId>
  12. </exclusion>
  13. </exclusions>
  14. </dependency>