基于CDH的大数据平台搭建

程序源代码

共 5205字,需浏览 11分钟

 ·

2020-08-24 18:24

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、网络

若是在虚拟机上配置(须满足内存>6G,磁盘划分/至少40G,/data/10G),保证NAT模式下所有主机在同网段,且能访问外网。修改IP、网关、DNS;

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

首先,修改ifcfg-en33的dhcp自动分配修改为静态寻址,增加ip/掩码/网关配置;(网关不管怎么配,都不要配192.168.x.1,因为1号IP是VMnet8网卡的IP)。

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


1、安装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是否可以访问;


2、安装CDH

使用本地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解决,但无效,可以在其下载一半返回页面,重新扫描可以解决;

2、配置cdh中的大数据相关组件

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

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

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


--end--


扫描下方二维码
添加好友,备注【交流群
拉你到学习路线和资源丰富的交流群
浏览 55
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报