1 hdfs开启HA 且hive启用连接改为HA模式
1.进入hdfs组件 2.hdfs组件中选择操作按钮 3.操作下拉列表中选择 启用high availability 4.配置service名称 5.等待启用完成 6.进入hive组件 7.hive组件选择操作按钮 8.操作下拉列表中选择更新HiveMeTastore NameNode schema 9.等待完成
2 yarn开启HA
1.进入yarn组件 2.yarn组件中选择操作按钮 3.操作下拉列表中选择 启用high availability 4.等待启用完成
3 配置域名访问
在阿里云环境下Hadoop集群必须用域名访问,不能用IP访问。 进入HDFS的configuration界面 开启如下配置dfs.client.use.datanode.hostname
4 设置物理核和虚拟核占比
一般物理核和虚拟核对比值为1:1或1:2 进入yarn配置,搜索yarn.nodemanager.resource.cpu-vcores修改配置,每台机器物理核2核虚拟成4核
5 修改单个容器下最大cpu申请资源
修改yarn.scheduler.maximum-allocation-vcores参数调整4核
6 设置每个任务容器内存大小和单节点大小
将每个任务容器默认大小从1G调大至4G,修改yarn.scheduler.maximum-allocation-mb调整每个任务容器内存所需大小 根据当前集群环境下每个节点的物理内存,修改yarn.nodemanager.resource.memory-mb调整每个节点内存所需大小
7 关闭Spark动态分配资源参数
关闭spark.dynamicAllocation.enabled参数,否则分配的资源不受控制
8 修改HDFS副本数和权限检查配置
修改dfs.replication副本数为1(可选,根据业务场景进行修改) 关闭HDFS中的权限检查:dfs.permissions
9 设置容量调度器
CDH默认公平调度器,修改为容量调度器。 进入yarn,搜索scheduler,找到项,修改为CapacityScheduler
CDH默认为root队列,可以配置多队列 添加两个队列spark与hive,spark资源设置占yarn集群80%,hive设置占yarn集群20% (请注意这四个配置项的顺序不能出错,且一定要写清楚) yarn.scheduler.capacity.root.queues yarn.scheduler.capacity.root.capacity yarn.scheduler.capacity.root.spark.capacity yarn.scheduler.capacity.root.hive.capacity
配置完毕后重启服务,到yarn界面查看调度器,已经发生变化,有hive队列和spark队列。
10 修改hive-site.xml的配置
因为我们删除了yarn的default队列,但是hive里面执行sql默认走的还是default,如果不做设置的话,在hive里面执行sql会报错,所以我们需要在hive里面设置三个参数。 set mapreduce.job.queuename=hive; set mapred.job.queue.name=hive; set mapred.queue.names=hive; 如果想要临时生效,只需要在hive中执行这几个配置项即可。 如果想要永久生效,进入hive,选择配置选项,然后搜索hive-site.xml 在hive-site.xml的Hive服务高级配置代码段(安全阀)添加如图所示三个参数
在hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)再次添加
重启过时服务,重新部署过期客户端配置,再次进入hive,就可以正常使用hivesql了。