写点什么

CDH 部署指南

用户头像
数据社
关注
发布于: 2020 年 08 月 11 日
CDH部署指南

Apache Hadoop存在版本管理混乱、部署过程繁琐、升级过程复杂、兼容性差、安全性低等问题,CDH是Hadoop商业发行版之一,本文介绍基于Cloudera Manager的Cloudera  Hadoop 6.1.0大数据平台搭建,简单易上手 



基础环境准备



1、CM和CDH包



准备cm的rpm包,cdh的parcel包,第1个链接内的需要完全下载,第2个链接内根据linux版本(centos6 or 7)下载;



cm的rpm包:https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/cdh的parcels包:https://archive.cloudera.com/cdh6/6.1.0/parcels/



2、网络



vim /etc/sysconfig/network-scripts/ifcfg-ens33




TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="ens33"UUID="5ed941c2-deb4-48ae-a76d-838503c8683c"DEVICE="ens33"ONBOOT="yes"IPADDR="192.168.242.134"GATWAY="192.168.242.2"NETMASK="255.255.255.0"DNS1="192.168.242.2"



 配置完成后通过service network restart 重启网卡设置,依然无法连接外网(ping www.baidu.com),可以增加默认dns;



route add default gw 192.168.242.2




其次,增加主机和主机名映射(/etc/hosts),关闭防火墙,关闭SElinux,设置多主机免密,开启http服务;



#cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.242.134 hadoop1



#关闭防火墙,centos7之前版本systemctl disable firewalld#关闭防火墙,centos7之后版本systemctl disable firewalld.service#重启生效



#vi /etc/selinux/configSELINUX=disabledSELINUXTYPE=targeted



3、主机免密的方法:



主机A/B/C为例,设置免密登录的方法:① 每台机器上执行 ssh-keygen -t rsa ,敲3次回车会在家目录/home/csap下生成隐藏的.ssh目录,首先需要给此目录赋权限700: chmod 700 .ssh;这个目录下有两个文件:id_rsa 私钥和id_rsa.pub 公钥;② 在此目录中创建 authorized_keys 文件并赋权:cd .sshtouch authorized_keyschmod 644 authorized_keys③ 以机器A为例,执行以上操作后,如果不知道其他机器的密码,比如绑定4A;把自己的 id_rsa.pub 公钥 以及其他两台机器的公钥粘贴到 authorized_keys文件中,然后把这个文件复制到其他2台机器即可。等于所有机器都有其他机器的公钥,即可完成ssh 免密登录;④ 如果知道其他机器密码,可以直接执行这个把公钥写到其他机器的authorized_keys文件中:ssh-copy-id -i ~/.ssh/id_rsa.pub?root@127.0.0.1



4、时钟同步



时钟同步(保证其他节点同cm节点时钟一致):



1、所有机器安装ntp :yum -y install ntp2、CM节点配置时钟与自己同步:vim /etc/ntp.conf,删除其他server,加入:server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 103、其他非CM节点,同步CM节点的时间,vim /etc/ntp.conf,加入:server xxx.xxx.xxx.xx4、重启所有机器的ntp服务systemctl restart ntpd或者service ntpd restartsystemctl status ntpd或者service ntpd status5、验证同步所有节点执行ntpq –p,左边出现*号表示同步成功。6、若不成功;/usr/sbin/ntpdate stdtime.gov.hk ntpdate xxx.xxx.xxx.xxx手动同步时间



5、http服务



开启http服务,/var/www/html/目录下会自动创建cm和cdh目录



yum -y install httpdsystemctl start httpd 或service httpd start



6、制作yum源



① 开启http服务#创建目录,并上传本地的cdh和cm到制定文件夹cd /var/www/html/mkdir cm-6.1.0 cdh-6.1.0#完成后在浏览器打开url:http://192.168.242.134/cm-6.1.0,能够访问则成功; ② 制作本地yum源#下载yum源工具包yum -y install yum-utils createrepo# 在cm-6.1.0目录下生成rpm元数据:createrepo /var/www/html/cm-6.1.0#并对/var/www/html下的所有目录和文件赋权:chmod -R 755 /var/www/html#创建本地Cloudera Manager的repo源,创建/etc/yum.repos.d/myrepo.repo,加入一些配置项:[myrepo]name = myrepobaseurl = http://192.168.242.134/cm-6.1.0enable = truegpgcheck = false #也可以直接修改Centos-Base.repo文件添加上面几行;#完成后,使用yum repolist验证是否成功,会列出可以用源;yum repolist



完成后,可通过rul查看文件,确保repodata文件夹一定要成功生成,不然后续无法通过!!!!





安装CDH

安装Cloudera-manager



这里使用默认的pgsql作为元数据库,可以自己安装mysql库,并将其作为元数据库;



# ① 安装必要rpm包cd /var/www/html/cm-6.1.0/chmod +x cloudera-manager-installer.bin # 安装jdkrpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm # 安装cm-agent、cm-daemon、cm-server、cm-server-db的rpm包,步骤有一定约束:rpm -ivh cloudera-manager-daemons-6.1.0-769885.el7.x86_64.rpm rpm -ivh cloudera-manager-server-6.1.0-769885.el7.x86_64.rpm rpm -ivh cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm (报错)# 报错因为server-db 依赖postgresql-server >= 8.4 ,使用yum 安装,自动下载依赖yum install -y cloudera-manager-server-db-2-6.1.0-769885.el7.x86_64.rpm # server-agent 需要依赖更多rpm -ivh cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm #警告:cloudera-manager-agent-6.1.0-769885.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b0b19c9f: NOKEY错误:依赖检测失败:# 解决办法是分别yum安装依赖包;yum install -y lsbyum install -y mod_sslyum install -y openssl-develyum install -y python-psycopg2yum install -y MySQL-python#完成后,重新安装server-agent依赖 # ② 上面的rpm依赖完成安装后,启动cm的installer./cloudera-manager-installer.bin --skip_repo_package=1 # ③ 删除/etc/cloudera-scm-server/db.propertiesrm /etc/cloudera-scm-server/db.properties



安装完成后提示如下说明cm安装成功,启动7180端口,用户名和密码都是admin;





验证:



(1)netstat -lnpt | grep 7180 端口有运行;



(2)查看日志:tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log 提示ScmActive completed successfully



(3)web查看xx.xx.xx.xx:7180是否可以访问;



使用本地parcel包安装cdh(坑很多),cm的安装,web访问192.168.242.134:7180登录cm页面按照指引进行cdh安装。



① 存储库选择http://192.168.242.134/cm-6.1.0(确认http服务已开启,可以url访问)



② 修改cdh的parcels文件名称:



mv CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha256 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha




③ 经常出现无法读取本地cdh的parcels包问题,需要重启installer;一般没用,还是外网下载。。。



# 卸载重装/opt/cloudera/installer/uninstall-cloudera-manager.shrm /etc/cloudera-scm-server/db.properties./cloudera-manager-installer.bin --skip_repo_package=1



帖子上说可以重启scm-server解决,但无效,可以在其下载一半返回页面,重新扫描可以解决;





按照指引进行,记住数据库的登录名和密码;





初始化组件安装时容易出现主机资源不足,前期应该给cm节点足够的存储空间;





能够完成组件安装,就可以看见实时监控页面,后续扩容将后面补充;







发布于: 2020 年 08 月 11 日阅读数: 92
用户头像

数据社

关注

微信公众号:数据社 2018.04.26 加入

专注大数据架构,数据仓库,MPP数据库分享,微信公众号数据社

评论 (1 条评论)

发布
用户头像
文章被推荐,请添加封面图~
2020 年 08 月 12 日 10:01
回复
没有更多了
CDH部署指南