YDB的安装部署

之前学习了,Hadoop的安装及部署,现在开始应用本公司的YDB产品安装。

首先需要的系统,架包,版本等;

1.操作系统

Centos 6.x 64bit

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

2.Java

JDK1.7及以上版本

3.Hadoop

2.6及以上版本,需要支持yarn

4.Zookeeper

   zookeeper-3.4.5及以上版本

4.Spark版本

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

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

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

否则执行如下三步配置ulimit

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

*  soft    nofile  128000

*  hard    nofile128000

*  soft    nproc128000

*  hard    nproc128000

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

      将其中的1024也修改为128000

第三步:执行 ulimit -SHn 128000

注意 如果是hdp安装的系统,在/etc/security/limits.d下会为不同的账号分别配置

6. 内存设置

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

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

调整overcommit_ratio的阈值为90%

echo "90" > /proc/sys/vm/overcommit_ratio

7.关闭swap分区

vi /etc/sysctl.conf

vm.swappiness=1

sysctl -p

sysctla|grep swappiness

8.为了便于发现系统磁盘问题,超过30秒还没有响应的磁盘 打印出来

echo 30 >/proc/sys/kernel/hung_task_timeout_secs

9。关闭防火墙

iptables-P INPUT ACCEPT

iptables-P FORWARD ACCEPT

iptables-P OUTPUT ACCEPT

iptables-F

10.配置语言环境

exportLANG=zh_CN.UTF-8 这个环境变量

11.10000端口是否被占用

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


依赖的软件

1.Zookeeper检查

第一:要探测zookeeper2181端口是否启动 可以通过netstatnpl|grep2181来查看

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

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

autopurge.purgeInterval=24

autopurge.snapRetainCount=30

第四:ydb使用的zk的版本一定要与zk的版本一致  如果不一致请更换ya100/lib下的zookeeper相关jar

2.HDFS检查

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

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

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

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

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

第四:规划好hadooplogs目录,尽量给一个大点盘的日志目录,否则经常会出现导入几十亿数据,logs目录将系统/var/log给撑满,占用率100%

第五:hadooplogs目录要配置上定期清理,以免时间久了,硬盘被撑爆。

第六:namenode节点要启动一个备份节点,主要是为了防止磁盘损坏,导致namdenode不可恢复


开始部署YDB

第一:去延云的官方下载最新的稳定版的YDB

第二:将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

#每个进程内启动的线程数,一般不需要修改,yarnvcores的数量与ya100对应关系为 YA100_EXECUTORS*YA100_CORES+1

export YA100_CORES=3

#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 http ui服务的端口ydb.httpserver.port 默认为1210

4.配置ydb依赖的zookeeper:storm.zookeeper.servers 与 storm.zookeeper.root

第五:其他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的工作目录下。 如果不想 yarn 清理掉,可以通过改文件改变日志的存储的路径,为了日常运维调试的方便,我们都建议修改,但一定要注意每台机器目录的权限。

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

第一:ydb

./restart-all.sh ./start-all.sh

第二:spark 服务检查:

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

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

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



第三:YDB服务检查

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

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

第四:服务的停止

./stop-all.sh


其他使用方法及实例等在ya100中可找到。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值