如何在CDH中安装Kudu&Spark2&Kafka_weixin_34272308的博客-程序员秘密

技术标签: java  操作系统  大数据  

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]#

1620

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

1620

2.2安装Kudu服务

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

1620

1620

1620

已分配激活

1620

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

1620

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

1620

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

1620

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

1620

启动Kudu服务

1620

安装完毕

1620

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

1620

多个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]#

1620

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

[[email protected]]# mkdir csd
[root@ip-172-31-6-148 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] ~]#

1620

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]#

1620

3.验证是否部署成功

1620

3.3安装Spark2

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

1620

1620

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

1620

3.回到CM主页,添加Spark2

1620

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

1620

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

1620

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

1620

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

1620

8.Spark2安装完成

1620

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]#

1620

3.验证是否部署成功

1620

4.3安装Kafka服务

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

1620

1620

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

1620

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

1620

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

1620

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

1620

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

1620

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

1620

8.Kafka安装完成

1620

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

1620

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

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] >

1620

插入数据并查询

[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] >

1620

通过Kudu Master Web UI查看

1620

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>

1620

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

1620

2.向topic发送消息

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

1620

3.消费topic的消息

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

1620

4.查看topic描述信息

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

1620

 

 

 

转载于:https://my.oschina.net/hblt147/blog/1942238

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34272308/article/details/91894156

智能推荐

快速学习POI-POI的入门操作_llllopoipoi_cwl_java的博客-程序员秘密

3 POI的入门操作3.1 搭建环境&lt;dependencies&gt; &lt;dependency&gt; &lt;groupId&gt;org.apache.poi&lt;/groupId&gt; &lt;artifactId&gt;poi&lt;/artifactId&gt; &lt;version&gt;4.0.1&lt;/...

抽奖系统_Plutozh的博客-程序员秘密

1.用户public class User {public static String userName = “”;public static String passWord = “”;public static int cardNumber = 0;public static boolean isLogin = false; //判断是否登录public static boo...

android audio整体架构分析_下目标的博客-程序员秘密

android 的audio系统重硬件到上层APP,可以说是一个庞大的体系,低层有ALSA音频体系结构,提供了硬件驱动,在内核体系中占有重要的地位。同时提供audio HAL,本地接口可以直接调用audio HAL,操作audio硬件。audio系统负责音频的数据流传输和控制功能,对audio设备进行管理。Audio系统主要分如下几个层次:1. Audio系统的供APk调用的上层API

win10安装anaconda+python_酱普嗨的博客-程序员秘密

win10安装anaconda+python1.安装anaconda2.安装pycharm communication1.安装anaconda下载地址: https://www.anaconda.com/distribution/#download-section安装后将anaconda添加到环境变量2.安装pycharm communication下载地址:https://www.je...

android沉浸式状态栏、fitsSystemWindows、标题栏折叠_YCY_722的博客-程序员秘密

现在大部分android手机都是android4.4以上,都支持开发者可以自定义状态栏色值,原来的黑底白字时代已过去。在android5.0上我们还可以自定义状态栏文字色值,让其显示深色字体。一、沉浸式状态栏的实现实现沉浸式状态栏效果,一般有两种方式:1、设置系统主题,在styles.xml中设置,在相应需要实...

How To Install and Configure Elasticsearch on Ubuntu 14.04_weixin_33713503的博客-程序员秘密

Reference: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-elasticsearch-on-ubuntu-14-04 IntroductionElasticsearch is a platform for distributed search and analysis of...

随便推点

python+selenium爬虫按照名单循环爬取作者知网下载量等信息_苏格拉没有鞋底的博客-程序员秘密

主要爬取下面的表格内的信息如文献篇数,被引用数等等用的是selenium爬虫from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionimport csvimport timebrowser = webdriver.Chrome()browser.minimi...

腾讯对象存储与微信小程序之坑[Java]_argleary的博客-程序员秘密

腾讯对象存储与微信小程序之坑[Java]腾讯对象存储微信小程序部分最近写一个小程序,涉及到了文件上传,主要是上传图片。后台是Java+SSM框架,用到了腾讯云COS对象存储,下面详细介绍一下我遇到的各种坑。如有错误,请多指教。腾讯对象存储首先Maven工程要导入下面几个包,其中一个是腾讯云存储的官方文档中说明的必须要的包。commons-codec包腾讯的文档中并没有说要导入,但没有的话会报...

vs2012,如何调试dll工程_vs2012 调试dll_pooooong的博客-程序员秘密

假设有两个项目,TestExe和TestDll,由项目名字就知道用途了。如果要调试TestDll源码的话,需要做如下设置:1.在VS2012开发环境中右击TestDll项目,选择【属性】->【Debug】->【Command】中输入TestExe的全路径名(例如:C:\TestExe\Debug\TestExt.exe)。2.确保TestDll的输出和TestExe输入的DLL为同一文件。

2021最火表情包壁纸小程序,全自动一键采集,对接外卖cps,独立后台,无需授权。_小七程序员_小七程序员的博客-程序员秘密

备案域名服务器宝塔微信小程序微信开发者工具后端服务器配置推荐:Nignx1.18+Mysql5.6+PHP7.2。搭建教程1.前端:使用微信开发者工具导入前端代码2.修改小程序名字(搜索青衣表情包替换成你自己想要改的名字)3.小程序后台记得添加上你的域名和https://cdn.hotemoji.cn4.网站访问目录指向public5、开启SSL与设置伪静态开启SSL伪静态规则如下:location / {index index.php index.html index.ht

MySQL:多表查询_mysql 多表查询_飞行员红猪的博客-程序员秘密

多表查询:多表连接通常是建立在有相互关系的父子表上一: 交叉连接第一个表格的所有行 乘以 第二个表格中的所有行,也就是笛卡尔积语法:隐式语法(不使用关键字): select * from customers,orders;显式语法(使用关键字): select * from customers cross join orders;注意: 交叉连接结果集是不正确的二:...

推荐文章

热门文章

相关标签