1.安装jdk
1.1.下载jdk,从官网下载linux版本的jdk
1.2.新建文件夹
sudo mkdir /jdk
1.3.将jdk压缩包放到jdk目录下面,可以复制过去
1.4.将压缩包解压
tar zxvf jdk-7u76-linux-x64.tar.gz
1.5.设置jdk环境变量
vi /etc/profile
在文件中输入
export JAVA_HOME=/jdk/jdk1.7.0_76
export JRE_HOME=/jdk/jdk1.7.0_76/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin: $PATH
输入完后 按Esc 输入 :wq! 退出vi编辑器
source /etc/profile
java -version
看看是否安装成功
成功则显示java版本
java version "1.7.0_76"
Java(TM) SE Runtime Environment (build 1.7.0_76-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
2.安装zeppelin
2.1我这里安装的是二进制,从官网下载的最新版zeppelin0.6.2,如果想从源代码安装,请自行百度查询。
官方网站地址:
http://zeppelin.apache.org/download.html
2.2下载好的包放到tools/文件夹下并且解压
解压之后打开配置文件
cd /tools/zeppelin-0.6.2-bin-all/conf
2.3将 zeppelin-env.sh.template 和zeppelin-site.xml.template 重命名成 zeppelin-env.sh 和zeppelin-site.xml
mv zeppelin-env.sh.template zeppelin-env.sh
mv zeppelin-site.xml.template zeppelin-site.xml
**这里有一步比较注意,之前在运行过程中总是出现链接拒绝的问题(头疼了三天),后来经过这种方法修复了,自己也不太清楚这个到底什么原因,不过这一步最好做一下
将解压的文件夹中的bin目录 以及bin目录下的所有文件全部 chmod 777 赋予权限**
2.4打开zeppelin-env.sh
vim zeppelin-env.sh
添加以下:
export JAVA_HOME=/jdk/jdk1.7.0_76
export SPARK_HOME=/tools/spark-2.0.2-bin-hadoop2.7
打开zeppelin-site.xml
vim zeppelin-site.xml
修改端口,避免和tomcat端口冲突
2.5 运行zeppelin
在 解压的zeppelin下的bin目录下
运行:./zeppelin-daemon.sh start
重启:./zeppelin-daemon.sh restart
关闭:./zeppelin-daemon.sh stop
2.6 在浏览器运行,地址:端口
我这里是在浏览器中输入 192.168.199.232:8082 域名是我自己本地IP地址,如果本机访问可以是127.0.0.1
2.7 运行pgsql命令
如图,点击右上角(刚开始安装显示的是默认用户anonymous)我这里是设置为自己登录的用户(下面会讲到)
如上图,按照自己的环境进行配置地址,端口,用户名等等,由于zeppelin中默认自带的是pgsql,我这里介绍一下,由于大家很多再用mysql,mysql的设置下面会讲到
配置成功之后就开始运行吧。
创建一个新的Notebook,输入名字确定
输入%jdbc和sql语句点击右上角FINISHED就可以运行了。
3.zepppelin配置mysql
zeppelin 默认的数据库是pgsql,常用的mysql较多一点,在这里就讲一下zeppelin配置mysql
3.1从github上下载代码
(需要在服务器上安装git 和maven)
git clone https://github.com/jiekechoo/zeppelin-interpreter-mysql
mvn clean package
3.2 部署mysql包
假如你的zeppelin安装在 /tools/zeppelin-0.6.2-bin-all目录
mkdir /tools/zeppelin-0.6.2-bin-all/interpreter/mysql
cp target/zeppelin-mysql-0.5.0-incubating.jar /opt/zeppelin/interpreter/mysql
拷贝mysql需要的jar包到interpreter目录
cp mysql-connector-java-5.1.6.jar log4j-1.2.17.jar slf4j-api-1.7.10.jar slf4j-log4j12-1.7.10.jar commons-exec-1.1.jar /tools/zeppelin-0.6.2-bin-all/interpreter/mysql
3.3修改zeppelin配置文件
vi conf/zeppelin-site.xml
在zeppelin.interpreters 的value里增加一些内容 ,org.apache.zeppelin.mysql.MysqlInterpreter
个人是安装好了mysql,直接修改JDBC Interpreter里面的内容,指向你自己的MySQL实例即可。如下图演示:
需要设置的有:
default.user
default.password
default.url
default.driver
另外需要注意的是,需要增加MySQL的JDBC artifict。 笔者使用的是:mysql:mysql-connector-java:5.1.38
然后这些写完之后,我们还需要与数据库相连的jar包,这个时候我们下载了这个jar包,然后我们把这个jar包放到
zeppelin里面的lib文件里面(其实可以不用写在lib里面),然后在这个配置中找到这个地址
3.4重启zeppelin即可
bin/zeppelin-daemon.sh restart
5.5运行MySQL代码,加载mysql interpreter
登录管理界面,Interpreter -> Create, 类似下面的页面,完成点击 Save
3.6创建 Notebook,完成你的可视化
点击右上角的setting,并且确保mysql被选中,保存Save
3.7输入你要执行的SQL语句,相信你再熟悉不过了
可以做成报表模式,更好看更爽了
引用链接:http://www.ithao123.cn/content-10531523.html
4.配置用户名密码访问登录
Apache Zeppelin启动默认是匿名(anonymous)模式登录的,也就是任何人都可以访问,这个可以在/zeppelin/conf下的zeppelin-site.xml中看到:
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
<description>Anonymous user allowed by default</description>
</property>
description中写道Anonymous user allowed by default(匿名用户默认被允许),这样我们访问我们安装的zepplin界面里是这样的:
右上角显示anonymous表示匿名模式。
接下来我们要做的就是如何通过修改配置来让我们的zeppelin拥有验证登录的功能:
修改/zeppelin/conf/zeppelin-site.xml文件选项zeppelin.anonymous.allowed的value为false,表示不允许匿名访问:
在CODE上查看代码片派生到我的代码片
<property>
<name>zeppelin.anonymous.allowed</name>
<value>true</value>
<description>Anonymous user allowed by default</description>
</property>
修改/zeppelin/conf/shiro.ini文件,显然zeppelin采用了shiro作为他的验证登录权限控制框架,那么我们需要对shiro有一些了解,我们去看该文件的最后几行:
在CODE上查看代码片派生到我的代码片
[urls]
# anon means the access is anonymous.
# authcBasic means Basic Auth Security
# authc means Form based Auth Security
# To enfore security, comment the line below and uncomment the next one
/api/version = anon
/** = anon
#/** = authc
显然是对localhost:8082/#/的进行验证,对/的不验证,那我们就修改为对任何url访问都需要验证:把/=anon修改为/=authc,这样重启zeppelin后访问我们的zeppelin主页就变成这个样子了:
看见右上角的Login按钮了吧?对的,你现在zeppelin已经需要登录才能继续访问了,可是满屏幕的去找也没找到注册的地方,那么我们通过什么账号来进行登录呢?继续修改zeppelin/conf/shiro.ini文件:
在CODE上查看代码片派生到我的代码片
[users]
# List of users with their password allowed to access Zeppelin.
# To use a different strategy (LDAP / Database / ...) check the shiro doc at http://shiro.apache.org/configuration.html#Configuratio
n-INISections
admin = password1
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
已经给我们加了这些账号了,看第一条注释提供了用户以及对应的密码用来允许访问zeppelin,然后你自己可以在下面加一些用户xxx = yyy,其中的角色也可以自行选择,需要详细了解的可以熟悉熟悉shiro的角色权限控制。重启zeppelin用你知道的账号去登录吧~!
输入对应账号进入主页后选择一个你已经添加过的notebook进去然后去右上角看见有一把小锁:
会显示Note Permissions点击后出现上图所示可以填写该notebook的Owners(所有者)、Readers(只读用户)、Writers(读写用户),这样每一个notebook就可以归属于某一个具体的用户了,避免了多用户同时使用zeppelin可能造成的冲突。