YDB:实时在线分析(OLAP)系统:是我们自主研发的一个大型分布式索引系统。旨在为数据总量为万亿级别、每天千亿级别数据增量的项目提供近似实时的数据导入,并提供近似实时响应的多维查询与统计服务。

Ya100:大数据加速器:Spark SQL的一种新的存储格式。 Ya100比Parquet格式快5~100倍.任意维度组合,过滤,万亿数据秒级响应。Ya100内嵌ydb可以通过kafka进行数据的实时导入。

依赖的硬件配置

一、延云YDB最低配置

1.内存:16G

2.磁盘:至少2块独立的物理硬盘,数据盘与操作系统盘分离。

3.CPU:至少8线程(1颗,4核,8线程)

二、如下场景,延云将不再提供安装技术支持

1.低于最低配置要求的用户。

2.虚拟机用户:hadoop在虚拟机中执行效率很低。

3.32位系统的用户:这类系统最大只有4G内存。

三、延云YDB推荐配置

1.机器内存:128G

2.磁盘:2T*12的磁盘

3.CPU:24线程(2颗,12核,24线程)

YDB依赖的软件环境(需用户自行安装)

1.操作系统

Centos 6.x 64bit

不推荐过老或过新的操作系统,诸多hadoop厂商的发行版在过老或过新的系统上有问题。

2.Java

JDK1.7及以上版本

3.Hadoop

2.0以上版本,需要支持yarn

4.Zookeeper

zookeeper-3.4.5及以上版本

4.Spark版本

1.6.x系列,推荐1.6.1版本。之前的版本运行不了。

Spark只需要编译好的安装包,放到指定磁盘目录即可,您无需安装与部署。

如果您的Hadoop版本交特殊:可以下载spark源码进行编译,编译命令如下

export JAVA_HOME=/install/jdk

export PATH=$JAVA_HOME/bin:$PATH

export MAVEN_OPTS="-Xmx3g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m“

build/mvn -Pyarn -Phadoop-2.6 -Dhadoop.version=2.6.1 -Phive -Phive-thriftserver -DskipTests -Dmaven.test.skip=true clean package

##################################################

操作系统:基本可用性检查

1.ulimit –n 检查是否是65535而不是默认的1024

否则执行如下三步配置ulimit

第一步:执行 ulimit -n 65535

第二步:编辑/etc/security/limits.conf最后增加如下两行记录

*softnofile 65535
        * hard nofile 65535

第三步:编辑/etc/security/limits.d/90-nproc.conf

将其中的1024也修改为65535

2.确定多台机器之间的时钟时间是否同步,建议配置ntp服务

3.防火墙是否关闭

iptables–F以及通过setup\services等服务里将防火墙关闭

4.Swap是否关闭

Swap会对系统的稳定性带来较大影响,一般hadoop生态圈均禁用swap,禁用方法为执行

swapoff-a

5.检查/proc/sys/vm/overcommit_memory的配置值

如果为2,建议修改为0,否则有可能会出现,明明机器可用物理内存很多,但jvm确申请不了内存的情况。

6.检查语言环境是否UTF8

否则 配置 exportLANG=zh_CN.UTF-8这个环境变量

7.10000端口是否被占用

由于ya100对外的jdbc的服务端口为10000,需要先通过netstat –npl|grep 10000看看是否有进程已经占用了改端口,如果有,相关服务要先停掉后才能启动ya100,典型场景是,先前这台机器已经启动了别的spark或hive服务,占用了10000端口

依赖的软件:基本可用性检查

1.HDFS检查

打开50070端口,检查hdfs是否启动成功,存储空间分配的是否正确

第一:确保hdfs安装成功,一定要手工通过hadoop–put命令,上传一个文件试一试。

第二:确保将来准备分配给YDB的hdfs目录有读写权限,建议第一次新手安装,取消hdfs的权限验证,配置dfs.permissions.enabled为false,并重启集群

第三:一定要确保dfs.datanode.data.dir的目录配置的是所有的数据盘,而不是配给了系统盘

系统盘一定要与数据盘分离,否则磁盘特别繁忙的时候会造成操作系统很繁忙,zk之类的容易挂掉。

2.YARN检查

打开8088,检查yarn是否启动成功,VCoresTotal \Memory Total 分配的是否正确。经常有朋友忘记更改yarn的默认配置导致一台128G内存的机器最多只能启动2个进程,只能使用8G内存。

第一:yarn.nodemanager.resource.memory-mb用于配置Yarn当前机器的可用内存,通常配置当前机器剩余可用内存的80%.

第二:yarn.scheduler.minimum-allocation-mb为一个Yarn container申请内存的最小计费单位,建议调小一些,如128,让计费更精准.

第三:yarn.scheduler.maximum-allocation-mb为一个Yarn container可以申请最大的内存,建议调整为32768(不一定真用到这些).

第四:yarn.nodemanager.resource.cpu-vcores当前机器可以启动的Yarn container的数量,建议配置为当前机器的cpu的线程数 如24个。

第五:yarn.nodemanager.pmem-check-enabled与yarn.nodemanager.vmem-check-enabled一定要都配置成false,因为1.6版本的spark有BUG,会使用较多的堆外内存,yarn会kill掉相关container,造成服务的不稳定。

第六:mapreduce.application.classpath里面的值是否有配置的jar包并不存在,典型的情况下是找不到lzo的包(许多厂商的安装部署会配置该参数),如果有的jar包找不到,建议注释掉相关依赖,否则可能会造成ydb启动失败;

如默认的hdp集群就要将其中的lzo的配置给注释掉/usr/hdp/${hdp.version}/hadoop/lib/hadoop-lzo-0.6.0.${hdp.version}.jar;

3.Zookeeper检查

第一:要探测zookeeper的2181端口是否启动 可以通过netstat –npl|grep2181来查看

第二:zookeeper的数据目录别与hdfs的数据盘放在一起,尽量独立一个磁盘,或者放在系统盘,否则数据盘特别繁忙的时候zookeeper本身非常容易挂掉

第三:zookeeper的日志清理要打开,否则会出现系统运行几个月后,zookeeper所在的磁盘硬盘变满的情况,将zoo.cfg里的这两个配置项注释开即可:

autopurge.purgeInterval=24

autopurge.snapRetainCount=30

##################################################

开始部署延云YDB

第一:去延云的官方下载最新的稳定版的YDBhttp://ycloud.net.cn/yyydb

第二:将YDB上传到服务器上,并解压

第三:配置conf目录下的ya100_env.sh环境变量

1.基本环境配置

export HADOOP_CONF_DIR=/etc/hadoop/conf

export HADOOP_HOME=/usr/hdp/current/hadoop-client

export JAVA_HOME=/usr/jdk64/jdk1.8.0_60

exportSPARK_HOME=/root/software/spark-1.6.1

注意:配置过后大家一定要手工验证下,相关目录的配置文件是否真的存在

2.配置内存与启动的并发数

#为启动的进程数量,切记不要超过yarn总的vcores的数量-1,建议每台机器配置cpu线程数的一半,如12个;

#如果有3台机器,每台机器配置12个的话那么下面这项的值要写36,不要只写12

export YA100_EXECUTORS=12

#启动的进程,每个给分配多少内存

#YA100_EXECUTORS*YA100_MEMORY的大小建议为yarn总内存的3/5(剩下的留给操作系统)

#关于内存控制参数的详细说明,请阅读example下的《3.大家需要了解的几个内存控制的参数.txt》说明

export YA100_MEMORY=2500m

#每个进程内启动的线程数,一般不需要修改

export YA100_CORES=2

#ya100接口程序分配的内存,建议2000m以上

export YA100_DRIVER_MEMORY=3000m

第四:配置conf目录下的ydb_site.yaml环境变量

该文件的配置非常容易出错,要注意如下几点:

1.文件格式必须为utf8格式,切记切记

2.每个配置项的开头必须有个空格,而不tab

3.配置文件中别出现tab

4.注意每个KEY: VALUE之间是有一个空格的,如果value是字符串类型,要用双引号括起来

配置项说明如下:

1.配置Ydb的存储路径的配置ydb.hdfs.path

注意ydb的存储路径与ya100的存储路径不是一个,要分别配置成不同的路径,不能重复

ya100的默认存储路径在conf目录下的hive-site.xml中的hive.metastore.warehouse.dir

Ya100的每张表的存储路径也可以再创建表的时候由location来指定。

2.配置Ydb在实时导入过程中,所使用的临时目录ydb.reader.rawdata.hdfs.path

3.配置ydb httpui服务的端口ydb.httpserver.port默认为1210

4.配置ydb依赖的zookeeper的地址

storm.zookeeper.servers:

- "192.168.1.10"

storm.zookeeper.root: "/ycloud/ydb“

第五:其他ya100/conf目录下的配置文件的说明

    1. hive-site.xml hive 表的配置,如果想要更改 hive 的一些配置,如将 hive 的元数据写入到数据库里,可修改此文件。
    2. spark- defaults.conf 用于配置 spark ,如果需要修改 spark 的默认调度规则,可以修改此配置。
    3. init.sql 为 ya100 启动时候的初始化方法,如果我们的业务需要自定义 UDF ,可以考虑将自定义 UDF 语句放到这里,通过 init.sh 来执行
    4. driver.log.properties 为接口程序的 log4j 的配置,默认日志记录在 logs 目录下
    5. worker.log.properties 为 ya100 的工作进程的 log4j 的配置,默认记录在每台机器的 yarn 的工作目录下。

服务的启动与检查

进入bin目录,执行chmoda+x *.sh

第一:启动spark

./start.sh

第二:spark 服务检查:

1.tail  -f../logs/ya100.log 看是否有报错,当出现如下的日志,表示启动成功

2.打开yarn的8088页面,看启动的container数量以及内存的时候是否正确

3.看下面是否有ya100 on spark的任务,点击对应的applicationMaster看是否能打开spark的ui页面

第三:启动ydb

./init.sh

第四:YDB服务检查

1.通过浏览器打开:1210页面,看是否能打开

2.点开“work工作进程列表”看启动的worker数量是否与在ya100_env.sh里配置的YA100_EXECUTORS数量一致

第五:服务的停止

./stop.sh

##################################################

了解延云ya100、ydb的用法、进行测试、生成演示demo

打开ya100/example目录

第一: ya100_example.sql

包含了 ya100的基本表的创建,查询的使用,数据的导入等。

第二: ydb_example.sql

包含了ydb的表的创建,ya100与ydb表的连接,查询的使用,数据的导入等

第三:如何通过kafka实时导入数据.txt

阐述了Ydb如何通过kafka实时的进行数据导入

第四:”标准性能测试.txt ”

给出了如何用ya100自带的25个用例进行性能比较测试以及标准的tcp-h测试方法

第五:”演示demo搭建.txt”

如何快速的使用ydb生成延云官方提供的演示demo

Ya100与ydb的四种使用方法

1.命令行操作

cd bin

./conn.sh 直接数据命令

./conn.sh -f xxx.sql来执行一个文件里的全部的SQL

2.通过jdbc来连接

Class.forName("org.apache.hive.jdbc.HiveDriver");

Connection conn = DriverManager.getConnection("jdbc:hive2://101.200.130.48:10000/default","ycloud","");

Statement smst = conn.createStatement();

smst.executeQuery("setya100.spark.filter.tg_2k1v_ly_ya100=;");

smst.executeQuery("setya100.spark.combine.tg_2k1v_ly_ya100=*;");

smst.executeQuery("setya100.spark.top10000.tg_2k1v_ly_ya100=;");

ResultSetrs =smst.executeQuery("selectYcount('*',ya100_pipe) from tg_2k1v_ly_ya100 limit 300");

while (rs.next()){

for (int i = 0; i < columnNum;i++) {

objArray[i]=rs.getObject(i +1);

}

rs.close();

smst.close();

conn.close();

3. 旧版YDB接口(为兼容而保留)

http://192.168.112.129:8080/sql?sql=selectindexnum,label fromydbexample whereydbpartion=‘20151011’ limit 0,100

4.新版web接口

http://192.168.112.129:8080/sparksql?sql=set+ya100.spark.filter.tg_2k1v_ly_ya100%3D%3B+set+ya100.spark.combine.tg_2k1v_ly_ya100%3D*%3B+set+ya100.spark.top10000.tg_2k1v_ly_ya100%3D%3Bselect+indexnum%2Clabel+from+ydbexample+where+ydbpartion%3D%E2%80%9820151011%E2%80%99+limit+100

常见问题FAQ

1.是否在同一个yarn环境下混搭多个不同的环境?

延云产品跟其他对性能要求较高的系统如Hbase一样。虽然支持混搭,但不建议这样做。

通常来说为了避免相互之间造成较严重的影响,一般都是独立的集群。

2.是否可以在虚拟机下运行

延云产品可以运行在虚拟机下,但是由于hadoop运行在虚拟机中性能损耗较大,所以延云跟大数据生态圈中的其他产品一样,真正的生产环境并不推荐使用虚拟机。

3.出现Container released on a *lost* node后服务就挂了

需要先检查下磁盘的使用率是否超过90%,默认yarn会为每台机器保留10%的空间,如果剩余空间较少,yarn就会停掉这些机器上的进程。

4.使用Ya100在进行数据导入的时候,或者进行一些复杂较大的查询时其他查询会卡主。

默认ya100使用Spark的FIFO的调度模式,意味着那个任务先开始,后续的任务必须等待其完成结束后才能开始后续的查询。大家可以编辑ya100目录下的spark-defaults.conf配置文件,将其调度器,更改为公平调度模式,将一部分资源预留给较重要的查询。具体可以参考这个。

http://www.07net01.com/program/658140.html

延云YDBYA100安装部署文档相关推荐

  1. 华为云鲲鹏服务器部署文档--java微服务

    华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 2020.5.9 适用于java微服务技术栈. CentOS 7.6 64bit ISO 适用于鲲鹏服务器arm架构的CentOS 7.6.1 ...

  2. 华为云鲲鹏服务器部署文档-修正版-CentOS+java微服务开发

    华为云鲲鹏服务器部署文档 河南中电高科计算机技术有限公司 http://www.ceht.com.cn 2020.5.12 适用于java微服务开发运行基础软件环境部署,实测通过. CentOS 7. ...

  3. linux上搭载was应用上传中文文件,受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明...

    本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明. 从was9.0开始支持的最低版本的red hat Linux系统为6.6且仅支持64位操作系统 计 ...

  4. centos7安装rabbitmq_rabbitmq v3.7.16安装部署文档

    RabbitMQ v3.7.16安装部署文档 部署安装过程严格按照官方文档的流程. 前言 软件版本 os centos7(ubuntu也适用,需要替换部分命令) rabbitmq v3.7.16 (r ...

  5. 完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档

    完整企业官网源码,前端基于Vue+ElementUI,后台基于基于core3 webapi,含数据库文件,含详情安装部署文档 完整代码下载地址:完整企业官网源码 某工程管理有限公司企业官网 前端 新版 ...

  6. Varnish安装部署文档

    简述:Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang 使用3台Varnish代替了原来的12台Squid,性能比以前更好. 系统环境: CentOS re ...

  7. pptpd安装部署文档

    简述: PPTP:点对点隧道协议 (PPTP: Point to Point Tunneling Protocol) 点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层. ...

  8. 如何在linux部署pdf文档,LINUX安装部署文档.pdf

    LINUX 安装部署详解文档 文档内容简介: 一:详解安装前的准备工作---------------------- 二:安装LINUX ---------------------------... 三 ...

  9. 云计算|OpenStack|社区版OpenStack安装部署文档(九--- 创建一个虚拟机实例---Rocky版)

    官方文档: Launch an instance - Installation Guide documentation 如果neutron创建的时候使用的是provider network网络模型,只 ...

最新文章

  1. A Quick Guide For Windows 2008 Server Core
  2. 珠海一中高考2021成绩查询,2020珠海高考成绩出炉!多所高中高考成绩单流出
  3. Http与WWW服务精解
  4. Jackson使用:String 与对象互转、Jackson 从 json 字符串转换出对象
  5. Graphicsmagick linux 中文水印乱码-new
  6. Mysql基础代码(不断完善中)
  7. 【Elasticsearch】Elasticsearch CPU高排查思路
  8. 房地产企业营销分析系统建设中的关键性指标是什么?
  9. window.open() 方法
  10. 阿里云服务器Ubuntu16.04安装Anaconda(python3.6)和本地远程连接jupyter
  11. Pytorch中的torch.nn.Embedding()
  12. java实现mysql if函数,mysql中if函数的正确使用姿势,mysql的if函数
  13. 充值抖币显示苹果服务器异常,抖音充值抖币怎么充值不了
  14. 基于STM32简易计算器
  15. 指针 上 :什么是指针,指针类型,指针运算等等
  16. Goolge-TPU论文解读
  17. 好书推荐 | 2020 年读过的这些好书,建议收藏!
  18. 【Linux】ps -ef 和ps aux 有什么不同呢?
  19. nag在逆向中是什么意思_CrackMe003-如何理解透VB逆向中的4C大法(图文+视频)-重在思维方法...
  20. Maven命令行 打包

热门文章

  1. MIT公开课 线性代数(1)
  2. JAVA线上故障排查招式
  3. Discuz app打包app上架appstore小技巧
  4. 微信小程序真机调试连接不到后台服务器,解决微信小程序wepy真机预览跟本地表现不一样,数据变化了视图没变化...
  5. 部署scrapy爬虫到AWS Ubuntu 18.04,用crontab定时执行
  6. 考研题目 第二章线性表
  7. java打开客户端程序_Java客户端服务器应用程序 - 已在使用的地址:connect
  8. Ubuntu 16.04下开启Mysql 3306端口远程访问
  9. pythonturtle画丘比特之箭,turtle的简单绘图
  10. gitea 1.16.8 忘记口令的处理思路