0030-如何在cdh中安装kudu&spark2&kafka(代码片段)

author author     2023-01-22     375

关键词:

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

1.概述

在CDH的默认安装包中,是不包含Kafka,Kudu和Spark2的,需要单独下载特定的Parcel包才能安装相应服务。本文档主要描述在离线环境下,在CentOS6.5操作系统上基于CDH5.12.1集群,使用Cloudera Manager通过Parcel包方式安装Kudu、Spark2和Kafka的过程。

  • 内容概括
    • Kudu安装
    • Spark2安装
    • Kafka安装
    • 服务验证
  • 测试环境
    • 操作系统版本:CentOS6.5
    • CM和CDH版本5.12.1
    • 使用CM管理员admin用户
    • 操作系统采用root用户操作
  • 前置条件
    • CDH集群运行正常

2.Kudu安装

CDH5.12.1打包集成Kudu1.4,并且Cloudera提供官方支持。不再需要安装Kudu的csd文件,安装完Kudu,Impala即可直接操作Kudu。

以下安装步骤描述如何使用Cloudera Manager来安装和部署Kudu1.4

2.1Kudu的Parcel部署

1.从Cloudera官网下载Kudu的Parcel包,下载地址如下

http://archive.cloudera.com/kudu/parcels/5.12.1/KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel
http://archive.cloudera.com/kudu/parcels/5.12.1/KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel.sha1
http://archive.cloudera.com/kudu/parcels/5.12.1/manifest.json

2.将以上3个文件下载到http服务所在服务器的/var/www/html/kudu1.4目录

[[email protected]~]# cd /var/www/html/
[[email protected] html]# mkdir kudu1.4
[[email protected] html]# cd kudu1.4/
[[email protected] kudu1.4]# ll
total 474140
-rw-r--r-- 1 rootroot 485506175 Aug 30 14:55 KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel
-rw-r--r-- 1 rootroot        41 Aug 30 14:55KUDU-1.4.0-1.cdh5.12.1.p0.10-el6.parcel.sha1
-rw-r--r-- 1 rootroot      2646 Aug 30 14:55 manifest.json
[[email protected] kudu1.4]# 

技术分享图片

3.验证http是否能够正常访问

技术分享图片

2.2安装Kudu服务

1.通过CM界面配置Kudu的Parcel地址,并下载,分发,激活Kudu。

技术分享图片

技术分享图片

技术分享图片

已分配激活

技术分享图片

2.回到CM主页,添加Kudu服务

技术分享图片

选择Kudu服务,点击“继续”

技术分享图片

选择Master和Tablet Server,点击“继续”

技术分享图片

配置相应的目录,注:无论是Master还是Tablet根据实际情况,数据目录(fs_data_dir)应该都可能有多个,以提高并发读写,从而提高Kudu性能。

技术分享图片

启动Kudu服务

技术分享图片

安装完毕

技术分享图片

2.3配置Impala

从CDH5.10开始,安装完Kudu后,默认Impala即可直接操作Kudu进行SQL操作,但为了省去每次建表都需要在TBLPROPERTIES中添加kudu_master_addresses属性,建议在Impala的高级配置项中设置KuduMaster的地址和端口:--kudu_master_hosts=ip-172-31-6-148.fayson.com:7051

技术分享图片

多个master可以以“,”分割如:

--kudu_master_hosts=ip-172-31-6-148.fayson.com:7051,ip-172-31-6-148.fayson.com:7051

3.Spark2安装

集群的jdk版本为jdk1.7.0_67,从Spark2.2.0版本后不再支持Java7、Python2.6和Hadoop2.6.5之前的版本,所以此处选择Spark 2.1.0版本部署。

3.1安装csd文件

1.下载csd文件,下载地址如下:

http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.1.0.cloudera1.jar

2.将csd文件移动至/opt/cloudera/csd目录下

[[email protected]]# pwd
/opt/cloudera/csd
[[email protected] csd]#ll
total 16
-rw-r--r-- 1 rootroot 16109 Mar 29 06:58 SPARK2_ON_YARN-2.1.0.cloudera1.jar
[[email protected] csd]# 

技术分享图片

如果csd目录不存在,则创建

[[email protected]]# mkdir csd
[[email protected] cloudera]# chown cloudera-scm:cloudera-scm csd/

3.重启Cloudera Manager服务

[[email protected]~]# service cloudera-scm-serverrestart
Stopping cloudera-scm-server:                              [  OK  ]
Starting cloudera-scm-server:                              [  OK  ]
[[email protected] ~]# 

技术分享图片

3.2Spark2的Parcel部署

1.下载Spark2的Parcel包,下载地址如下

http://archive.cloudera.com/spark2/parcels/2.1.0/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
http://archive.cloudera.com/spark2/parcels/2.1.0/SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1
http://archive.cloudera.com/spark2/parcels/2.1.0/manifest.json

2.将上述3个文件下载至/var/www/html/spark2.1.0目录下

[[email protected]]# cd /var/www/html/
[[email protected] html]# mkdir spark2.1.0
[[email protected] html]# cd spark2.1.0/
[[email protected] spark2.1.0]# ll
total 173052
-rw-r--r-- 1 rootroot      4677 Mar 29 06:58 manifest.json
-rw-r--r-- 1 rootroot 177185276 Mar 29 06:58 SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel
-rw-r--r-- 1 rootroot        41 Mar 29 06:58SPARK2-2.1.0.cloudera1-1.cdh5.7.0.p0.120904-el6.parcel.sha1
[[email protected] spark2.1.0]# 

技术分享图片

3.验证是否部署成功

技术分享图片

3.3安装Spark2

1.通过CM管理界面配置Spark2的Parcel地址并保存

技术分享图片

技术分享图片

2.点击下载、分配并激活

技术分享图片

3.回到CM主页,添加Spark2

技术分享图片

4.选择Spark2,点击“继续”

技术分享图片

5.为新的Spark2选择一组依赖,点击“继续”

技术分享图片

6.选择History Server和Gateway节点,点击“继续”

技术分享图片

7.启动Spark2服务,服务启动完成后,点击“继续”

技术分享图片

8.Spark2安装完成

技术分享图片

4.Kafka安装

4.1Kafka版本选择

Kafka版本 版本特性 最低支持CM版本 支持CDH版本 是否集成到CDH
2.2.x ? Cloudera Manager 5.9.x CDH 5.9.x and higher
2.1.x Sentry authorization Cloudera Manager 5.9.x CDH 5.9.x and higher
2.0.x Enhanced security Cloudera Manager 5.5.3 CDH 5.4.x and higher
1.4.x Distributed both as package and parcel Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x
1.3.x Includes Kafka Monitoring Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x
1.2.x ? Cloudera Manager 5.2.x CDH 5.4.x, 5.5.x, 5.6.x

参考官网:https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn\_consolidated\_pcm.html#pcm\_kafka

4.2Kafka的Parcel部署

1.从Cloudera官网下载Kafka的Parcel包,下载地址如下

http://archive.cloudera.com/kafka/parcels/2.1.1.18/KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel
http://archive.cloudera.com/kafka/parcels/2.1.1.18/KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel.sha1
http://archive.cloudera.com/kafka/parcels/2.1.1.18/manifest.json

2.将上述3个文件下载至/var/www/html/kafka2.1.1.18目录下

[[email protected]]# cd /var/www/html/
[[email protected] html]# mkdir kafka2.1.1.18
[[email protected] html]# cd kafka2.1.1.18/
[[email protected] kafka2.1.1.18]# ll
total 66536
-rw-r--r-- 1 rootroot 68116503 Mar 27 17:39 KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel
-rw-r--r-- 1 rootroot       41 Mar 27 17:39KAFKA-2.1.1-1.2.1.1.p0.18-el6.parcel.sha1
-rw-r--r-- 1 rootroot     5252 Mar 27 17:40 manifest.json
[[email protected] kafka2.1.1.18]# 

技术分享图片

3.验证是否部署成功

技术分享图片

4.3安装Kafka服务

1.通过CM配置Kafka的Parcel包地址并保存

技术分享图片

技术分享图片

2.点击下载、分配并激活

技术分享图片

3.回到CM主页,添加Kafka服务

技术分享图片

4.选择Kafka服务,点击“继续”

技术分享图片

5.为Kafka选择一组依赖关系,点击“继续”

技术分享图片

6.选择Kafka Broker和Gateway,点击“继续”

技术分享图片

7.根据集群环境修改Kafka配置,点击“继续”

技术分享图片

8.Kafka安装完成

技术分享图片

9.修改Kafka Broker的heap大小,默认为50M,可能会导致Kafka启动失败

技术分享图片

保存配置,重新部署客户端并重启相应服务。

5.服务验证

5.1Kudu验证

建表语句如下:

CREATE TABLE my_first_table(
    id BIGINT,
    name STRING,
 PRIMARY KEY(id)
) 
PARTITION BY HASH PARTITIONS 16 
STORED AS KUDU;

通过Impala-shell创建Kudu表

[[email protected]]$ impala-shell -iip-172-31-10-118.fayson.com
...
[ip-172-31-10-118.fayson.com:21000] > show tables;
Query: show tables
+------------+
| name       |
+------------+
| test       |
| test_table |
+------------+
Fetched 2 row(s) in 0.06s
[ip-172-31-10-118.fayson.com:21000] > CREATE TABLEmy_first_table(
 >     id BIGINT,
 >     name STRING,
 >    PRIMARY KEY(id)
 > )
 >PARTITION BY HASH PARTITIONS 16
 > STORED AS KUDU;
Query: create TABLE my_first_table(
    id BIGINT,
    name STRING,
 PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU

Fetched 0 row(s) in 2.43s
[ip-172-31-10-118.fayson.com:21000] >

技术分享图片

插入数据并查询

[ip-172-31-10-118.fayson.com:21000]> insert into my_first_table values(1,‘fayson‘);
Query: insert into my_first_table values(1,‘fayson‘)
...
Modified 1 row(s), 0 row error(s) in 3.92s
[ip-172-31-10-118.fayson.com:21000] >select * from my_first_table;
...
+----+--------+
| id | name   |
+----+--------+
| 1  | fayson |
+----+--------+
Fetched 1 row(s) in 1.02s
[ip-172-31-10-118.fayson.com:21000] > 

技术分享图片

通过Kudu Master Web UI查看

技术分享图片

5.2Spark2验证

[[email protected]~]# spark2-shell 
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). ForSparkR, use setLogLevel(newLevel).
17/09/11 09:46:22 WARN spark.SparkContext: Support for Java 7 is deprecated as of Spark 2.0.0
Spark context Web UI available at http://172.31.6.148:4040
Spark context available as ‘sc‘ (master = yarn, app id =application_1505121236974_0001).
Spark session available as ‘spark‘.
Welcome to
 ____              __
 / __/__ ___ _____/ /__
    _ / _ / _ `/__/  ‘_/
 /___/ .__/\_,_/_//_/\_   version 2.1.0.cloudera1
 /_/

Using Scala version 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67)
Type in expressions tohave them evaluated.
Type :help for more information.

scala> var textFile=sc.textFile("/fayson/test/a.txt")
textFile: org.apache.spark.rdd.RDD[String] =/fayson/test/a.txt MapPartitionsRDD[1] at textFile at <console>:24

scala> textFile.count()
res0: Long = 3

scala> 

技术分享图片

5.3Kafka验证

1.创建一个test的topic

[[email protected]]# kafka-topics --create--zookeeper ip-172-31-6-148.fayson.com:2181 --replication-factor 3 --partitions1 --topic test

技术分享图片

2.向topic发送消息

[[email protected]]# kafka-console-producer--broker-list ip-172-31-10-118.fayson.com:9092 --topic test

技术分享图片

3.消费topic的消息

[[email protected]]# kafka-console-consumer --zookeeperip-172-31-6-148.fayson.com:2181 --topic test --from-beginning

技术分享图片

4.查看topic描述信息

[[email protected]]# kafka-topics --describe--zookeeper ip-172-31-6-148.fayson.com:2181 --topic test

技术分享图片

醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

技术分享图片
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

在cdh5.14.4中安装streamsets与案例运行(代码片段)

在CDH5.14.4中安装StreamSets与案例运行标签(空格分隔):大数据平台构建一:Streamset简介与系统环境介绍二:安装软件准备三:在CDH5.14.4集成使用StreamSets四:streamsets基本使用案例运行一:Streamset简介与系统环境介绍1.1:StreamSet简... 查看详情

在cdh中安装spark2(代码片段)

第一步,需要在CDH上安装Spark2,由于我的CDH是5.15.x,只能通过CDS的方式安装。官方指导在https://docs.cloudera.com/documentation/spark2/latest/topics/spark2.html。总结下,需要手动下载cds文件上传到CM服务器并修改owner,然后重启系统的cmservice... 查看详情

如何在ubuntu中安装php amqp

】如何在ubuntu中安装phpamqp【英文标题】:howtoinstallphpamqpinubuntu【发布时间】:2011-12-1111:56:24【问题描述】:我正在尝试为php安装amqp(将PHP与RabbitMQ集成)使用这个http://code.google.com/p/php-amqp/。运行后phpize&&./configure--with-amqp&a... 查看详情

如何在 docker 中安装 lxml

】如何在docker中安装lxml【英文标题】:HowcanIinstalllxmlindocker【发布时间】:2016-06-2604:31:01【问题描述】:我想在docker中部署我的python项目,我在requirments.txt中写了lxml&gt;=3.5.0,因为项目需要lxml。这是我的停靠文件:FROMgliderlabs... 查看详情

如何在 React Native 中安装 Android 支持库?

】如何在ReactNative中安装Android支持库?【英文标题】:HowcanIinstalltheAndroidSupportLibraryinReactNative?【发布时间】:2017-05-2719:15:47【问题描述】:我收到了这个错误:StartingJSserver...Buildingandinstallingtheapponthedevice(cdandroid&&gradlew.bati... 查看详情

centos7安装cdh第九章:cdh中安装kafka

相关文章链接 1. CDH官网Kafka的安装教程网址https://www.cloudera.com/documentation/kafka/latest/topics/kafka_installing.html#concept_m2t_d45_4r2. 下载对应的Kafka版本1、查看CDH和Kafka的版本对应列表:查看网址:https://www.cloude 查看详情

在 SLES 11 SP2 中安装 xorg-x11-devel 包

】在SLES11SP2中安装xorg-x11-devel包【英文标题】:Installingxorg-x11-develpackageinSLES11SP2【发布时间】:2014-12-3018:13:58【问题描述】:我在SLES11SP2中使用Imagemagick(6.4.3.6-7.18.x86_64)像下面这样使用它..导入-window$wid$jpg得到这个错误导入:Delega... 查看详情

在cdh中安装spark2(代码片段)

第一步,需要在CDH上安装Spark2,由于我的CDH是5.15.x,只能通过CDS的方式安装。官方指导在https://docs.cloudera.com/documentation/spark2/latest/topics/spark2.html。总结下,需要手动下载cds文件上传到CM服务器并修改owner,然后重启系统的cmservice... 查看详情

如何在 Lerna + Yarn Workspaces repo 中安装 npm 包?

】如何在Lerna+YarnWorkspacesrepo中安装npm包?【英文标题】:HowtoinstallnpmpackageinLerna+YarnWorkspacesrepo?【发布时间】:2020-10-1712:30:21【问题描述】:如果我想向一个包添加依赖项,我是否需要将cd放入该目录并运行yarnadd&lt;package&gt;... 查看详情

如何在现有安装中安装 Shopware 演示数据?

】如何在现有安装中安装Shopware演示数据?【英文标题】:HowtoinstallShopwaredemodatainexistinginstallation?【发布时间】:2020-12-0813:40:07【问题描述】:有没有办法在安装开发模板后安装Shopware演示数据(不是随机演示数据)?【问题讨... 查看详情

如何在 centos 6.2 中安装 LAMP

】如何在centos6.2中安装LAMP【英文标题】:howtoinstallLAMPincentos6.2【发布时间】:2015-10-1412:32:03【问题描述】:我对这件事很陌生。我正在尝试使用yum-yinstallphp在centOS6.2上安装LAMP,但出现此错误Couldnotretrievemirrorlisthttp://mirrorlist.cento... 查看详情

如何在我的本地 m2 存储库中安装 POM?

】如何在我的本地m2存储库中安装POM?【英文标题】:HowdoIinstallaPOMinmylocalm2repository?【发布时间】:2014-07-0712:59:09【问题描述】:我需要将父POM(没有JAR文件)安装到我的本地.m2存储库中。mvninstall:install-file不会让我这样做,它... 查看详情

如何在谷歌colab中安装web3

】如何在谷歌colab中安装web3【英文标题】:howtoinstallweb3ingooglecolab【发布时间】:2020-05-0707:25:11【问题描述】:!pipinstallweb3我尝试过这样,但收到此错误消息。ERROR:chainer6.5.0hasrequirementtyping-extensions&lt;=3.6.6,butyou\'llhavetyping-extens... 查看详情

在 Delphi & C++ Builder 中安装 VCL 组件

】在Delphi&C++Builder中安装VCL组件【英文标题】:InstallingVCLcomponentinDelphi&C++Builder【发布时间】:2013-04-1108:24:24【问题描述】:我在DelphiXE2中创建了一个VCL组件,并希望将其安装在整个RAD工作室(Delphi和C++Builder)中。问题是... 查看详情

VS 2010 不工作并在 Windows 10 中安装 Visual Studio 2010 SP1 更新

】VS2010不工作并在Windows10中安装VisualStudio2010SP1更新【英文标题】:VS2010notworkingandInstallingVisualStudio2010SP1updateinWindows10【发布时间】:2017-03-0700:34:28【问题描述】:我已经在我的系统中安装了VisualStudio2010Professional。我正在使用带... 查看详情

spark操作kudu,出现异常java.lang.classnotfoundexception:org.apache.kudu.spark.kudu.defaultsource

环境:CDH6.3.2Kudu1.10.0-cdh6.3.2Spark2.4.0-cdh6.3.2 错误:java.lang.ClassNotFoundException:Failedtofinddatasource:org.apache.kudu.spark.kudu.java.lang.ClassNotFoundException:org.apache.kudu.spark.kudu.DefaultSource 解决:将/opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.160... 查看详情

如何在python2.7中安装MySQLdb 在virtualenv中安装

】如何在python2.7中安装MySQLdb在virtualenv中安装【英文标题】:HowtoinstallMySQLdbinpython2.7installinginvirtualenv【发布时间】:2012-04-2600:48:06【问题描述】:我该如何解决thisone?我在venv/lib中有MySQL-python-1.2.3dist。在此之前它像pythonsetup.pyins... 查看详情

如何在windows中安装pylucene6.0.2?(代码片段)

...安装PyLucene6.2.0在Windows上,我已经安装了。jcc但我不知道如何安装PyLucene。我发现这个文档http:/lucene.apache.orgpyluceneinstall.html#fortherest-of-us。但我不明白什么是make&安装make说明。请帮助我。答案首先确保你已经安装了SVN命令行工... 查看详情