#CDH5.8安装说明

@(Hadoop)

使用过Ambari,不知道是因为没有商业运作支撑还是社区活跃度有限,总体管理能力只能算凑合。很多Hadoop组件版本都不高,Spark也才1.3.X,Sqoop还是1.4.6.2.3,相对版本都比较低,而且管理并不算优秀。遂放弃,准备使用CDH做下测试。

CDH在版本跟踪上还是比较密切贴近Hadoop的各个模块版本,基本上在修复版本上差个一两个版本。逼近CDH一直有在做Issue的修复,很多修复也都是直接提交给Apache,所以自身版本的集成速度还是可以满足有尝鲜需求的开发者。

###准备工作
查看SSH无密码登录配置
另外,需要安装Python2.6或2.7版本
jdk1.7

###安装cdh-manager-sever
首先,先下载repo,
wget https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo
然后,将下载的cloudera-manager.repo文件拷贝至/etc/yum.repos.d/路径下
运行安装命令yum install cloudera-manager-daemons cloudera-manager-server,默认下载最新的CDH版本。然后,开始非常漫长的下载,因为外网下载实在很狗屎,原因大家都明白。
Alt text

当然,还有捷径哦,直接http://archive.cloudera.com/cm5下载你要的版本installer,chmod u+x相关bin文件,然后./*.bin该文件,即可进入界面化安装操作。一路确认,接受license,最后也是要通过外网下载安装包,然后依然慢的像狗屎。
好吧,为什么非得他们来下载呢,用迅雷自己下载啊,那链接呢
http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.8.1/RPMS/x86_64/
找到了。

###安装MySQL并配置
本身hive/Oozie/Hue等都会使用到MySQL,因而安装MySQL是必须的。
CentOS7安装MySQL有些蛋疼,总是出错,原来是需要初始化
mysql_install_db --user=mysql --datadir=/data/db/mysql/,其中,datadir需要清空,并配置到my.cnf文件中

初始化基本数据库

--hive数据库,为什么使用latin1,后面安装异常会做说明
create database hive DEFAULT CHARSET latin1;
--集群监控数据库
create database amon DEFAULT CHARSET utf8;
--hue数据库
create database hue DEFAULT CHARSET utf8;
--oozie数据库
create database oozie default charset utf8;
--授权
grant all privileges on hive.* to 'scm'@'%' identified by 'cdh' with grant option;
grant all privileges on amon.* to 'scm'@'%' identified by 'cdh' with grant option;
grant all privileges on hue.* to 'scm'@'%' identified by 'cdh' with grant option;
grant all privileges on oozie.* to 'scm'@'%' identified by 'cdh' with grant option;
flush privileges;

初始化manager数据库配置

我的安装路径在/usr/share/cmf/,进入/usr/share/cmf/schema/路径
./scm_prepare_database.sh mysql -hlocalhost -uroot -plinesum@com --scm-host cdh.master.linesum scm scm cdh.master.linesum
参数含义详见官方说明Cloudera Manager and Managed Service Datastores
删除不必要的配置文件

Remove the embedded PostgreSQL properties file if it exists:
Installer or package install
/etc/cloudera-scm-server/db.mgmt.properties
Tarball install
<tarball root>/etc/cloudera-scm-server/db.mgmt.properties

另外,将mysql-connector-java-5.1.8.jar丢到/usr/share/cmf/lib路径下。

####初始化agent数据库配置
Alt text
安装Agent的时候发现很多包和库都没有,我比较粗暴,直接一次性安装
yum -y install bind-utils psmisc libxslt cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs httpd mod_ssl openssl-devel python-psycopg2 MySQL-python
漏了一个 /lib/lsb/init-functions is need by
使用安装即可yum -y install lsb
Alt text
安装路径总是很难琢磨,只能使用find查找。
修改config.ini该文件的server_host为主节点的主机名

###下载parcel安装包
离线先下载具体软件的安装包:http://archive.cloudera.com/cdh5/parcels/5.8.0.42/,使用迅雷下载,拥有飞一样的速度。
Alt text
根据自己的环境选择版本,下载的*.sha1要修改为*.sha。
然后上传到主节点的/opt/cloudera/parcel-repo/路径(该路径每个版本都不一样)

###启动manager和agent
service cloudera-scm-server start,这个启动有点慢,可以关注日志变动情况
service cloudera-scm-agent start
其中,日志所在路径是
/var/log/cloudera-scm-server/cloudera-scm-server.log
启动server后,使用/sbin/iptables -I INPUT -p tcp --dport 7180 -j ACCEPT打开7180端口,然后即可访问manager: http://cdh.master.linesum:7180

有点小不容易,截图占位下_
初始密码是admin/admin
然后使用Parcel安装
Alt text
这个过程可以查看/opt/cloudera/parcel*几个路径,这是一个复制过程。通过主机的parcel拷贝到其他几个从机上,速度非常快。所以使用Parcel安装,升级就非常便捷了。
完成后继续,CDH会自动测试机器的配置

有这么的WARNING,我没有理会。

###特定端口的开放
查看端口是否开放:firewall-cmd --query-port=80/tcp
如果没有,使用firewall-cmd --add-port=8888/tcp

###安装异常记录

  1. Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=mapred, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
    YARN JobHistory Server不能正常启动,使用
    groupadd supergroup usermod -a -G supergroup mapred usermod -a -G supergroup hdfs usermod -a -G supergroup hive usermod -a -G supergroup hue usermod -a -G supergroup spark sudo -u hdfs hadoop fs -chmod 777 /user

  2. org.apache.hadoop.security.AccessControlException: Permission denied: user=spark, access=EXECUTE, inode="/user":mapred:supergroup:drwxrwx—

  3. Hue不能正常访问
    Alt text
    Hue已经正常启用,而且防火墙端口也已经开通了,可是访问8888端口不成功。需要勾选上图的选项。具体原因查看端口变动
    Alt text
    这个问题经常会碰到,改造方式都是如此。

  4. Hive Metastore Canary报错,不能正常插入数据库
    Caused by: javax.jdo.JDODataStoreException:Required table missing : "VERSION" in Catalog "" Schema"". DataNucleus requires this table to perform its persistenceoperations. Either your MetaData is incorrect, or you need to enable"datanucleus.autoCreateTables"
    修复方案参考http://blog.csdn.net/nevergiveup54/article/details/50612252
    Alt text

  5. hive的Specified key was too long; max key length is 767 bytes问题解决
    这个坑其实和CDH没有关系,是使用MySQL的字符集错误。
    具体参考http://blog.csdn.net/fhx007/article/details/46353035
    mysql>alter database hive character set latin1; mysql>flush privileges;
    或者直接重新创建hive表,并使用默认charset为latin1.
    create database hive DEFAULT CHARSET latin1;
    使用上述方案前,需要先将hive库内的所有表做删除。

  6. Permission access=EXECUTE, inode="/user":mapred:supergroup:drwxrwx—
    Alt text
    这个也是常见问题,
    Alt text
    sudo -u hdfs hdfs dfs -chown hive:hive /user sudo -u hdfs hdfs dfs -chown hue:hue /user

  7. Spark安装报HDFS地址/user/spark/applicationHistory不存在
    手动创建:sudo -u hdfs hdfs dfs -mkdir /user/spark/applicationHistory

  8. NameNode检查点状态
    Alt text
    总是报错,首先了解下NameNode检查点的作用:这是 NameNode 运行状况测试,用于检查 NameNode 的文件系统检查点是否不早于文件系统检查点周期的某一百分比,并检查自上个文件系统检查点开始的事务的数量是否未超过文件系统检查点事务限制的某一百分比。 如果该运行状况测试失败,可能表明活动的 NameNode 或其已配置的检查点角色存在问题,例如 Standby NameNode,或是 SecondaryNameNode。有关详细信息,请查看 NameNode 日志或检查点角色的日志。 可以使用 文件系统检查点期间监控阈值 和 文件系统检查点事务监控阈值 NameNode 监控设置配置该测试。
    这个说法,有点拗口,简单点说:你的SecondaryNameNode可能同步出问题了。详见网友说明,我也同样找了日志说明,发现平静底下一堆报错:
    Alt text
    Alt text
      所以,这个报错放在NameNode就很容易迷糊,我一直没有找到NameNode的日志有报错的说明,找起来也就很没有方向。
    所以具体问题是:secondarynamenode没有执行检查点的操作,导致会产生上面的错误,上面的错误说明的是你一直没有执行检查点的操作。下面的错误说明的是执行检查点操作失败,不执行。
    问题的解决方法
      通过真正的错误的描述,发现主要是版本不匹配,说明在重新安装CDH的时候,保留了以前版本的CDH的数据,导致不一致的版本问题,所以导致secondarynamenode不执行检查点的操作。那么解决办法就是删除之前的数据,所以通过删除secondarynamenode执行检查点是的目录,即hdfs-site.xml中参数fs.checkpoint.dir, dfs.namenode.checkpoint.dir的值的路径。
      删除之后,重新启动集群即可。

  9. 启动hdfs时,报错 Canary 测试无法在目录 /tmp/.cloudera_health_monitoring_canary_files 中创建文件。
    经过查看日志,发现 Name node is in safe mode.
    解决方法:sudo -uhdfs hdfs dfsadmin -safemode leave

  10. oozie安装失败SERVER[cdh.master.linesum] E0103: Could not load service classes, Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’
    org.apache.oozie.service.ServiceException: E0103: Could not load service classes, Cannot load JDBC driver class ‘com.mysql.jdbc.Driver’
    这个报错很常见,原以为把mysql-connector-java-***-bin.jar丢到oozie的lib即可,但是发现依然宝盖错误。后来在网上找到需要将这个包放到这个路径下就通过了(名字需要修改下)
    /usr/share/java/mysql-connector-java.jar
    Alt text

  11. oozie启动或运行报错:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘oozie.VALIDATE_CONN’ doesn’t exist
    解决方式是After changing Oozie's database (you need to create the mysql user and database outside of CM,), you need to run the appropriate command to populate that database with oozie's tables. **Click on Oozie, then in the Actions menu on the right, select Create Database. Oozie must be stopped to do this.**
    Alt text

  12. Hue – Failed to access Hive warehouse: /data/hadoop/hive/warehouse
    Its means that HUE can’t get to the Hive warehouse folder in HDFS, and its a very easy problem to fix. As we’ve done previously, open up a terminal window, and switch over to the root account with: su –
    Create the hive user folder in hdfs, and a warehouse subfolder, then change the ownership by running these three commands, one after another:
    sudo -u hdfs hadoop fs -mkdir /data/hadoop/hive sudo -u hdfs hadoop fs -mkdir /data/hadoop/hive/warehouse sudo -u hdfs hadoop fs -chmod 1777 /data/hadoop/hive/warehouse
    Restart the HUE service and re-login:
    service hue restart

  13. Hue中的Hive查询出错(触发MapReduce就报错:)
    查看YARN的任务列表,发现直接使用hive cli执行的语句是可以正常运行的,但是使用Hue执行的,都FAILED,可以看出,角色不同。
    Alt text
    这个问题怎么解决呢?再Hue管理台创建root或hive账号即可。
    Alt text

###Over
解决完上述问题

终于是全绿了!

##Reference
[1] 官网说明不是用A方案(non-production model),采用B安装方案。主动配置主要依赖工具或SDK。
[2] 网友整理版本
[3] 清晰的说明
[4] 详细的版本说明http://blog.csdn.net/a921122/article/details/51939692

CDH5.8安装说明相关推荐

  1. Centos7 cdh5.14 安装

    2019独角兽企业重金招聘Python工程师标准>>> Centos7 cdh5.14 安装 192.168.1.70 192.168.1.71 192.168.1.72 关闭SEL ...

  2. CM5.11与CDH5.11安装使用说明

    1.cdh5 支持jdk7和jdk8 2.cloudera只支持oracle发布的jdk 3.集群中所有主机的jdk版本必须一致 4.生态圈中用到的所有组件所依赖的jdk版本必须一致 5.cloude ...

  3. CDH5离线安装手册

    Cloudera manage(离线)安装手册 (按步骤操作) 1.       准备工作 1.1.    系统环境 硬件设备:vm虚拟机 网络组成: 192.168.210.131master 19 ...

  4. CDH-5.7.1离线安装

    CDH-5.7.1离线安装 参考自:http://blog.csdn.net/jdplus/article/details/45920733 1.文件下载 CDH (Cloudera's Distri ...

  5. Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来安装CDH5.8. ...

  6. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置

    Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了.  准备文件 从 http://archive.cloudera.com/cdh5/parcels ...

  7. Cloudera Manager 5和CDH5(最新版5.1.3) 安装

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  8. [转]Cloudera Manager和CDH5.8离线安装

    https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...

  9. hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装

    hadoop基础----hadoop实战(六)-----hadoop管理工具---Cloudera Manager---CDH介绍 简介 我们在上篇文章中已经了解了CDH,为了后续的学习,我们本章就来 ...

最新文章

  1. Delphi 常用API 函数(好多都没见过)
  2. python 调用linux命令-Python 调用系统命令
  3. pac代理模式什么意思_满镒财务:代理记账所说的“核税”是什么意思?
  4. BAPI_GOODSMVT_CREATE的几个应用
  5. springmvc配置文件的主要内容
  6. zookeeper分布式锁的原理
  7. 中国地质大学计算机考研录取名单,中国地质大学考研拟录取名单2021公布在哪里?什么时候公布?...
  8. HH SaaS电商系统的线下服务商品库存和采购设计
  9. 360发布穿戴设备“儿童卫士”手环
  10. 计算机辅助抗体设计,计算机辅助设计提高单克隆抗体亲和力的研究
  11. linux删除副本文件,RMAN不能删除控制文件副本解决
  12. MVC应用程序与单选列表
  13. RabbitMQ-Failed to check/redeclare auto-delete queue(s).
  14. “快易需求系统”数据库设计心得
  15. IPC$局域网入侵详解
  16. Open vStorage —— 虚拟化的存储路由系统
  17. Floating IP
  18. STM8S003F3和N76E003功能引脚对比
  19. Java二维码的一些简介、功能
  20. 让你能进“大厂”的数据分析项目是长怎样?全套路线(建议收藏)

热门文章

  1. FA(萤火虫算法)MATLAB源码详细中文注解
  2. 从零开始的2.5D游戏开发
  3. 记录贴/阴阳师core loop
  4. 看完数学概念背后的故事,让孩子的数学兴趣激增1000倍!
  5. U的含义,u是什么单位
  6. android 转场动画 监听,Android 中的转场动画及兼容处理
  7. 高考试题管理系统出题模块——C语言课程设计
  8. IP地址的获取—分析从连接WiFi到上网的全过程(二)
  9. python列表拆包_python拆包
  10. html网页的主题标签是什么6,HTML标签及标签属性大全(网页制作必备知识)