摘要:选择轻量化、免运维、低成本的大数据云服务是业界趋势,如果搭建Zeppelin再同步自建一套Hadoop生态成本太高!因此我们通过结合华为云MRS服务构建数据中台。 本文分享自华为云社区《MRS大数据平台结合ApacheZeppelin让数据分析更便捷云社区华为云》,作者:dullman。 ApacheZeppelin:一款大数据分析和可视化工具,可以让数据分析师在一个基于Web的notebook中,采用不同语言对不同数据源中的数据进行交互式分析,并对结果进行可视化图表的展示。 云服务MRS:华为云提供的一站式大数据平台,包含Hudi、ClickHouse、Spark、Flink、Kafka、Hive、HBase等丰富的大数据组件,完全兼容开源生态。本文介绍如何搭建Zeppelin并连接Hive、HBase进行简单的数据开发。为什么写这篇文章?Zeppelin相关的文章虽然很多,但是都没有与实际大数据平台结合的实践案例指导。Zeppelin的搭建存在不少坑,因此记录下部署中的各个问题,为后人填坑。选择轻量化、免运维、低成本的大数据云服务是业界趋势,如果搭建Zeppelin再同步自建一套Hadoop生态成本太高!因此我们通过结合华为云MRS服务构建数据中台。环境准备ApacheZeppelin0。9。0安装包MRS3。1。0普通集群(包含Hive、HBase组件)ECScentos7。6安装MRS客户端 MRS客户端提供java、python开发环境,也提供开通集群中各组件的环境变量:Hadoop、Hive、HBase、flink等。 参见登录ECS安装集群外客户端安装Zeppelin使用Xftp等工具导入主机并采用以下命令安装在optzeppelin目录。tarzxvfzeppelin0。9。0binall。tgzmvzeppelin0。9。0binalloptzeppelin配置Zeppelin环境变量,在profile文件中加入变量vietcprofileexportZEPPELINHOMEoptzeppelinexportPATHZEPPELINHOMEbin:ZEPPELINHOMEbin:PATH导入环境变量sourceetcprofile编辑zeppelinenv。sh文件,加入JAVAHOME,这里需要替换成自己的环境变量cdoptzeppelinconfcpzeppelinenv。sh。templatezeppelinenv。shsourceopthadoopclientbigdataenvechoexportJAVAHOMEopthadoopclientJDKjdk8u201zeppelinenv。sh编辑zeppelinsite。xml文件,将zeppelin。server。port8080替换成18081(可自定义,也可以不改);将zeppelin。anonymous。allowed参数的true修改为falsecdoptzeppelinconfcpzeppelinsite。xml。templatezeppelinsite。xmlvizeppelinsite。xmlpropertynamezeppelin。server。portnamevalue18081valuedescriptionServerport。descriptionpropertypropertynamezeppelin。anonymous。allowednamevaluefalasevaluedescriptionAnonymoususerallowedbydefaultdescriptionproperty编辑shiro。ini文件,新增用户developusercpshiro。ini。templateshiro。inivishiro。ini 在〔users〕下新增用户developuser,密码Huawei123,权限admindevelopuserHuawei123,admin 运行Zeppelin(并检查启动参数)cdoptzeppelinbinzeppelindaemon。shstart psefgrepzeppelin 关闭防火墙,允许端口18081(此为测试环境,生产环境建议采取更安全措施)systtemctlstopfirewalld完成以上配置,并启动成功后,在浏览器中输入地址zeppelinip:18081(zeppelinip为安装zeppelin的HD客户端IP),即可看到如下界面。 使用developuser登录,就可以基于note进行大数据的交互式开发了! Zeppelin连接Hive 1、将Zeppelin中jdbc依赖的jar包替换成MRS客户端中HiveBeelinelib中的jar包,保证hiveInterpreter依赖的Jar包存在cpfoptBigdataclientHiveBeelinelib。jaroptzeppelininterpreterjdbc 2、修改Zeppelin配置,添加ClientHiveUrl 查询CLIENTHIVEURLsourceopthadoopclientbigdataenvechoCLIENTHIVEURI 编辑interpreter。json,位置usrzeppelinconfinterpreter。json,修改JDBCdefault。url,default。driver。jdbc:{id:jdbc,name:jdbc,group:jdbc,properties:{default。url:{name:default。url,value:jdbc:hive2:192。168。1。188:24002,192。168。1。234:24002,192。168。1。241:24002;serviceDiscoveryModezooKeeper;zooKeeperNamespacehiveserver2,type:string,description:TheURLforJDBC。},default。user:{name:default。user,value:gpadmin,type:string,description:TheJDBCusername},default。password:{name:default。password,value:,type:password,description:TheJDBCuserpassword},default。driver:{name:default。driver,value:org。apache。hive。jdbc。HiveDriver,type:string,description:JDBCDriverName} 3、重启zeppelinbinzeppelindaemon。shrestart 4、创建Notebook,选择defaultinterpreter为jdbc 5、在notebook上使用HiveSQL进行查询查询数据库jdbcshowdatabases; 创建Hive表jdbccreateexternaltablestu(sidstring,snamestring)rowformatdelimitedfieldsterminatedby‘’; Zeppelin连接HBase 1、将Zeppelin中hbase依赖的jar包替换成MRS客户端中HBase中的jar包,保持jar的一致先将optzeppelininterpreterhbase目录下原本的Jar包移走cdoptzeppelininterpreterhbasemkdirhbaseoldjarmvhbase。jarhbaseoldjarmvhadoop。jarhbaseoldjarmvzookeeper3。4。6。jarhbaseoldjar再将opthadoopclientHBasehbaselib下的jar包拷贝至optzeppelininterpreterhbase。cpfopthadoopclientHBasehbaselib。jarusrzeppelininterpreterhbase 2、修改Zeppelin配置 编辑zeppelinenv。sh,加入hbase环境变量exportHBASEHOMEopthadoopclientHBasehbase 编辑interpreter。json,位置optzeppelinconfinterpreter。json,修改hbase。homehbase。home:{name:hbase。home,value:opthadoopclientHBasehbase,type:string} 3、重启zeppelinbinzeppelindaemon。shrestart 4、配置Interpreter 从web界面右上角菜单中Interpreter中进入,配置Interpreter 选择Hbase,修改如下配置,并保存配置。hbase。home:optclientHBasehbase 5、创建note进行数据开发 页面选择Notebookcreatenewnote 自定义Note名称,例如hbaseNote,并指定Interpreter为HBase。 编辑Note,点击右侧执行按钮(三角标志)hbasecreate‘test6’,‘cf’put‘test6’,‘row1’,‘cf:a’,‘value1’ 若在创建Interpreter未指定defaultInterpreter,需要在note最前面加上hbase进行指定。 6、在FusionInsight客户端下查看刚刚通过Zeppelin创建的hbase表test6和数据 其他Hadoop生态组件在云服务MRS上的实践参考 使用商业智能软件Superset分析MRS数据之最佳实践 基于云服务MRS构建DolphinScheduler2调度系统 开源工作流引擎Azkaban在MRS中的实践 分布式调度平台Airflow在华为云MRS中的实践 点击下方,第一时间了解华为云新鲜技术 华为云博客大数据博客AI博客云计算博客开发者中心华为云