摘要: 需求描述:公司通過APP產品分享出去的需求和簡歷是做了一個H5頁面作為分享的鏈接,通過APP分享出去自然是沒問題,也是第一次分享,之后通過微信打開H5頁面后想再次分享出去時候就變成了一個鏈接了,而不是自己定制的卡片模式,初次分享后如下:但是打開以后的H5頁面再分享出去就變成這個樣子了:也就是說需要在H5頁面做微信分享的相關工作,JS-SDK上場了,首先看看JS-SDK的官方說明文檔:https:/...
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,表示不允許匿名訪問:
- <property>
<name>zeppelin.anonymous.allowed</name>
<value>false</value>
<description>Anonymous user allowed by default</description>
</property>
- 修改/zeppelin/conf/shiro.ini文件,顯然zeppelin采用了shiro作為他的驗證登錄權限控制框架,那么我們需要對shiro有一些了解,我們去看該文件的最后幾行:
[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:7878/#/**的進行驗證,對/**的不驗證,那我們就修改為對任何url訪問都需要驗證:把/**=anon修改為/**=authc,這樣重啟zeppelin后訪問我們的zeppelin主頁就變成這個樣子了:

看見右上角的Login按鈕了吧?對的,你現在zeppelin已經需要登錄才能繼續訪問了,可是滿屏幕的去找也沒找到注冊的地方,那么我們通過什么賬號來進行登錄呢?繼續修改zeppelin/conf/shiro.ini文件:
[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#Configuration-INISections
admin = admin
user1 = password2, role1, role2
user2 = password3, role3
user3 = password4, role2
已經給我們加了這些賬號了,看第一條注釋提供了用戶以及對應的密碼用來允許訪問zeppelin,然后你自己可以在下面加一些用戶xxx = yyy,其中的角色也可以自行選擇,需要詳細了解的可以熟悉熟悉shiro的角色權限控制。重啟zeppelin用你知道的賬號去登錄吧~!
輸入對應賬號進入主頁后選擇一個你已經添加過的notebook進去然后去右上角看見有一把小鎖:

會顯示Note Permissions點擊后出現上圖所示可以填寫該notebook的Owners(所有者)、Readers(只讀用戶)、Writers(讀寫用戶),這樣每一個notebook就可以歸屬于某一個具體的用戶了,避免了多用戶同時使用zeppelin可能造成的沖突。
還有很多其他功能值得你去發現、研究!
Apache Zeppelin介紹:A web-based notebook that enables interactive data analytics. You can make beautiful data-driven, interactive and collaborative documents with SQL, Scala and more.
安裝說明:
點擊下載后解壓到指定文件夾,你的zeppelin就安裝完成了,很簡單。但是zeppelin依賴于jdk,所以使用zeppelin前還需要機器擁有jdk環境。
解壓完畢后需要配置幾個地方:
- 將conf中的zeppelin-env.sh.template與zeppelin-site.xml.template 重命名,去掉template
-
修改conf/zepplin-env.sh 新增
export SPARK_MASTER_IP=127.0.0.1
export SPARK_LOCAL_IP=127.0.0.1
修改 export ZEPPELIN_MEM="-Xmx2048m -XX:PermSize=256M"
需要注意的是lib下的jar包,默認帶的jackson-databind-2.5.3.jar包是無法使用的,這點不知道為什么zeppelin怎么處理的,需要將jackson-databind/jackson-annonations/jackson-core三個jar包全部替換成2.6.5版本的就可以了。
啟動zeppelin:進入bin目錄下執行 ./zeppelin-daemon.sh start
然后瀏覽器訪問127.0.0.1:8080就進入如下頁面:

ok,你的zeppelin安裝成功了!
其實zeppelin就是一個java web項目,這樣理解起來似乎就容易點了,接下來為了可以使用sql統計數據,我們來操作一下如何添加interpreter:
- 首先修改conf/zeppelin-site.xml,添加org.apache.zeppelin.jdbc.JdbcInterpreter
- 進入lib目錄下上傳 JdbcInterpreter.jar、mysql-connection-.....jar兩個jar包
- 然后重啟zeppelin,進入web頁面的interpreter下,點擊create:添加完成之后是這個樣子:

- 然后進入notebook頁面:
綁定剛剛添加的interpreter就可以使用了:
這樣一個JdbcInterpreter就添加完畢了。
至于以后再想和redis、solr一起使用也是相應的加入jar包就可以了~
就我個人來說zeppelin可以滿足企業運營這塊的需求,包括日活、百度引流統計、ngnix日志分析、用戶行為分析、熱門詞匯、整體數據統計、多維度數據統計等等。