离线安装CDH5.12.1
来源:互联网 发布:网络全职 编辑:程序博客网 时间:2024/05/29 08:09
1.准备工作
- 准备三台虚拟机,内存和硬盘空间尽量给足,配置host映射。(我的是三台节点配置相同:6G内存,50G硬盘,名称分别是cdh1、cdh2、cdh3)
- 下载安装包
Cloudera Manager:下载地址 http://archive.cloudera.com/cm5/cm/5/ 选择 cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz (708M )
Cloudera’s Distribution Hadoop :下载地址 http://archive.cloudera.com/cdh5/parcels/5.12.1/选择 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel 、CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1,manifest.json 和cdh在同一个页面 ,下载地址 http://archive.cloudera.com/cdh5/parcels/5.12.1/manifest.json
MySQL驱动:https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.44.tar.gz - 安装JDK、配置JAVA_HOME环境变量(使用Oracle JDK,CDH不支持OpenJDK)
- 关闭防火墙
- 配置NTP服务,集群中的各节点时间要保持同步,否则会出现各种问题(比如HBase的版本顺序和预期的不一样)
安装NTPyum install ntp
在一个节点上启动NTPservice ntpd start
同步其他节点的时间ntpdate cdh1
- 各节点之间配置SSH免密登录
ssh-keygenssh-copy-id -i ~/.ssh/id_rsa.pub cdh2
2.开始安装
- 创建cloudera-scm用户(每个节点都要创建)
useradd --system --home-dir /opt/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 安装Cloudera Manager Server
首先需要安装Python,CentOS7默认安装了Python2.7
主节点解压安装cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz到/opt文件夹tar -xvf cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz -C /opt
将MySQL驱动复制到/opt/cm-5.12.1/share/cmf/lib中
配置MySQL的远程访问权限
grant all privileges on *.* to 'root'@'%' identified by 'root';flush privileges;
初始化CM的元数据库 /opt/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -uroot -proot -h127.0.0.1(或者远程数据库的地址) --scm-host cdh1 scm scm scm
mysql指定数据库类型,cm为元数据库名,-u为数据库用户名,-p为数据库密码,-h为数据库地址,–scm-host 为cm主节点地址,最后三个scm不用理会,是从官网直接上copy过来的
执行完毕后如果报Access denied,检查一下是否启用了global id,如果启用了,禁用即可。原因在于上述脚本执行语句时在建表过程中会执行select命令,而启用了global id的情况下不允许这种操作。
建库成功后会发现MySQL的用户表里多出一个名为scm的用户,host为CM主节点的host,执行
use mysql;update user set host='%' where User='scm';grant all privileges on *.* to 'scm'@'%';flush privileges;
- 安装Cloudera Manager Agent
修改/opt/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
将主节点的/opt/cm-5.12.1同步到其它节点scp /opt/cm-5.12.1 root@cdh2:/opt
将Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(如没有parcel-repo,需要手动创建)
cp CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel /opt/cloudera/parcel-repo/cp CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.shacp manifest.json /opt/cloudera/parcel-repo/
- 启动Cloudera Manager Server
创建以下三个文件夹
mkdir -p /var/lib/cloudera-scm-servermkdir -p /var/lib/cloudera-scm-agentmkdir -p /var/lib/cloudera-scm-server-db/data/opt/cm-5.12.1/etc/init.d/cloudera-scm-server start #启动成功后等5分钟左右查看进程会出现7180端口
- 启动Cloudera Manager Agent
所有节点通过/opt/cm-5.12.1/etc/init.d/cloudera-scm-agent start
启动Agent服务。 (所有节点都要启动Agent服务,包括主节点)
查看进程出现9000等端口代表启动成功
3.启动CM
在浏览器访问192.168.1.211:7180输入账号密码(初始均为admin)出现如下界面:
点继续,然后根据自己的需要来配置相关项,启动成功后的界面:
4.遇到的问题
使用HBase Client API在自己的机器上来编写代码访问HBase操作表时长时间没反应
这是因为CDH集群中hbase-site.xml文件中配置的zookeeper-quorum属性为:<property>
<name>hbase.zookeeper.quorum</name>
<value>cdh1,cdh2,cdh3</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
导致HBase集群在Zookeeper中注册的节点名称为cdh*,所以在通信时HBase Client API得到的地址也是cdh开头的,但是本机上并没有进行host映射,所以会出现连接不上的情况。至于为什么能够创建HBase的Connection,是因为创建连接的过程只是和Zookeeper进行通信,并不涉及到HBase,而一旦对表进行操作,API会到Zookeeper中查询-root-表所在的region地址,此时返回的是cdh开头的host[zk: localhost:2181(CONNECTED) 13] get /hbase/meta-region-server�regionserver:60020�9UFcdh1��Љ���+cZxid = 0x400000035ctime = Tue Oct 24 20:53:46 PDT 2017mZxid = 0x400000035mtime = Tue Oct 24 20:53:46 PDT 2017pZxid = 0x400000035cversion = 0dataVersion = 0aclVersion = 0ephemeralOwner = 0x0dataLength = 58numChildren = 0
可以看到ZNode中存储的值为cdh1,在本机hosts文件中配置host映射即可解决这个问题
启动Spark时报Permission denied错误
是因为HDFS默认开启了权限检查,只有hdfs用户名能进行操作,测试时可以选择关闭检查HDFS权限,方法如下:
在CM的首页左侧选择HDFS集群,然后点击配置选项卡
取消检查HDFS权限选项的勾选即可启动Spark时报内存不足错误
java.lang.IllegalArgumentException: Required executor memory (1024+384 MB) is above the max threshold (1024 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'. at org.apache.spark.deploy.yarn.Client.verifyClusterResources(Client.scala:281) at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:140) at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:57) at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:151) at org.apache.spark.SparkContext.<init>(SparkContext.scala:538) at org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:1022) at $line3.$read$$iwC$$iwC.<init>(<console>:15) at $line3.$read$$iwC.<init>(<console>:25) at $line3.$read.<init>(<console>:27) at $line3.$read$.<init>(<console>:31) at $line3.$read$.<clinit>(<console>) at $line3.$eval$.<init>(<console>:7) at $line3.$eval$.<clinit>(<console>)
将异常中要求的两个属性设置为Required executor memory (1024+384 MB)
比括号中的值大即可,在YARN集群中设置,设置完之后要重启集群
- 离线安装CDH5.12.1
- CDH5 离线安装 记录
- 【CDH5】-003CDH5.4.0 离线安装
- CDH5.5离线安装部署
- Cloudera Manager 5和CDH5离线安装
- apt在线/离线安装CDH5.1.2
- 离线安装CDH5.4.5 on CentOS6.5
- 离线安装CDH5集群及相关软件
- CDH5.7快速离线安装教程
- CDH5.7快速离线安装教程
- Ubuntu14.04离线安装CDH5.6.0
- CDH5.7快速离线安装教程
- Cloudera Manager 5和CDH5离线安装
- Cloudera Manager 5和CDH5离线安装
- CDH5不能离线安装可能原因
- CDH5.12.0 (5.X)安装笔记(离线parcel安装)
- Cloudera Manager 5 和 CDH5 本地(离线)安装指南
- Cloudera Manager 和 CDH5 本地(离线)安装指导
- BZOJ 2815 [ZJOI2012]灾难 (支配树)拓扑+倍增
- 最近应用使用情况获取
- 关于Unity加载优化,你可能遇到这些问题
- NTSB发布53页最终报告:特斯拉自动驾驶事故「会发生在任何人身上」
- Linux Unit12--虚拟机的管理
- 离线安装CDH5.12.1
- Python完全新手教程
- 安卓开发框架(MVP+主流框架+基类+工具类)--- 工具类
- 图像分割·简介
- javascript的几种阻止冒泡详细描述
- I am return
- 分页Mybatis_PageHelper,最好在service里应用 PageHelper.startPage(num, size)
- 归并排序
- flex布局