1、大数据项目之CDH版数仓采集环境Hive Spark Impala Kafka Flume搭建大数据项目之电商数仓(CDH版数仓采集)版本:V4.0第1章Cloudera Manager1.1 CM简介1.1.1 CM简介Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。1.1.2 CM架构1.2 环境准备1.2.1 虚拟机准备克隆三台虚拟机(hadoop102、hadoop103、hadoop104),配置好对应主机的网络IP、主机名称、关闭防
2、火墙。设置hadoop102、hadoop103、hadoop104的主机对应内存分别是:16G、4G、4G1.2.2 SSH免密登录 配置hadoop102对hadoop102、hadoop103、hadoop104三台服务器免密登录。1)生成公钥和私钥:roothadoop102 .ssh$ ssh-keygen -t rsa然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)2)将公钥拷贝到要免密登录的目标机器上roothadoop102 .ssh$ ssh-copy-id hadoop102roothadoop102 .ssh$ ssh-copy-id
3、 hadoop103roothadoop102 .ssh$ ssh-copy-id hadoop1043)重复1和2的操作,配置hadoop103对hadoop102、hadoop103、hadoop104三台服务器免密登录。1.2.3 集群同步脚本1)在/root目录下创建bin目录,并在bin目录下创建文件xsync,文件内容如下:roothadoop102 $ mkdir binroothadoop102 $ cd bin/roothadoop102 bin$ vi xsync在该文件中编写如下代码#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if
4、(pcount=0); thenecho no args;exit;fi#2 获取文件名称p1=$1fname=basename $p1echo fname=$fname#3 获取上级目录到绝对路径pdir=cd -P $(dirname $p1); pwdecho pdir=$pdir#4 获取当前用户名称user=whoami#5 循环for(host=103; host /.bashrcroothadoop103 module# cat /etc/profile /.bashrcroothadoop104 module# cat /etc/profile /.bashrc5)测试root
5、hadoop102 bin# xcall.sh jps1.2.6 安装MySQL注意:一定要用root用户操作如下步骤;先卸载MySQL再安装1)安装包准备 (1)查看MySQL是否安装roothadoop102 桌面# rpm -qa|grep mysqlmysql-libs-5.1.73-7.el6.x86_64 (2)如果安装了MySQL,就先卸载roothadoop102 桌面# rpm -e -nodeps mysql-libs-5.1.73-7.el6.x86_64 (3)上传mysql-libs.zip到hadoop102的/opt/software目录,并解压文件到当前目录ro
6、othadoop102 software# unzip mysql-libs.ziproothadoop102 software# lsmysql-libs.zipmysql-libs (4)进入到mysql-libs文件夹下 roothadoop102 mysql-libs# ll总用量 76048-rw-r-r-. 1 root root 18509960 3月 26 2015 MySQL-client-5.6.24-1.el6.x86_64.rpm-rw-r-r-. 1 root root 3575135 12月 1 2013 mysql-connector-java-5.1.27.ta
7、r.gz-rw-r-r-. 1 root root 55782196 3月 26 2015 MySQL-server-5.6.24-1.el6.x86_64.rpm2)安装MySQL服务器(1)安装MySQL服务端roothadoop102 mysql-libs# rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm(2)查看产生的随机密码roothadoop102 mysql-libs# cat /root/.mysql_secretOEXaQuS8IWkG19Xs(3)查看MySQL状态roothadoop102 mysql-libs# service
8、 mysql status(4)启动MySQLroothadoop102 mysql-libs# service mysql start3)安装MySQL客户端(1)安装MySQL客户端roothadoop102 mysql-libs# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm(2)链接MySQL(密码替换成产生的随机密码)roothadoop102 mysql-libs# mysql -uroot -pOEXaQuS8IWkG19Xs(3)修改密码mysqlSET PASSWORD=PASSWORD(000000);(4)退出MySQLmys
9、qlexit4)MySQL中user表中主机配置配置只要是root用户+密码,在任何主机上都能登录MySQL数据库。(1)进入MySQLroothadoop102 mysql-libs# mysql -uroot -p000000(2)显示数据库mysqlshow databases;(3)使用MySQL数据库mysqluse mysql;(4)展示MySQL数据库中的所有表mysqlshow tables;(5)展示user表的结构mysqldesc user;(6)查询user表mysqlselect User, Host, Password from user;(7)修改user表,把H
10、ost表内容修改为%mysqlupdate user set host=% where host=localhost;(8)删除root用户的其他hostmysqldelete from user where Host=hadoop102;delete from user where Host=127.0.0.1;delete from user where Host=:1;(9)刷新mysqlflush privileges;(10)退出mysqlquit;1.2.7 创建CM用的数据库在MySQL中依次创建监控数据库、Hive数据库、Oozie数据库、Hue数据库1)启动数据库rootha
11、doop102 # mysql -uroot -p0000002)集群监控数据库mysql create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;3)Hive数据库mysql create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;4)Oozie数据库mysql create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;5)Hue数据库mysql create dat
12、abase hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;6)关闭数据库mysql quit;1.2.8 下载第三方依赖依次在三台节点(所有Agent的节点)上执行下载第三方依赖(注意:需要联网)roothadoop102 # yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsbroothadoop103 # yum -y install
13、 chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsbroothadoop104 # yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb1.2.9 关闭SELINUX安全增强型Linux(Security-Enh
14、anced Linux)简称SELinux,它是一个 Linux 内核模块,也是Linux的一个安全子系统。为了避免安装过程出现各种错误,建议关闭,有如下两种关闭方法:1)临时关闭(不建议使用)roothadoop102 # setenforce 0但是这种方式只对当次启动有效,重启机器后会失效。2)永久关闭(建议使用)修改配置文件/etc/selinux/configroothadoop102 # vim /etc/selinux/config将SELINUX=enforcing 改为SELINUX=disabledSELINUX=disabled3)同步/etc/selinux/confi
15、g配置文件roothadoop102 # xsync /etc/selinux/config4)重启hadoop102、hadoop103、hadoop104主机roothadoop102 # rebootroothadoop103 # rebootroothadoop104 # reboot1.3 CM安装部署1.3.1 CM下载地址1)CM下载地址:2)离线库下载地址:1.3.2 CM安装注:以下所有操作均使用root用户1)创建/opt/module/cm目录roothadoop102 module# mkdir p /opt/module/cm2)上传cloudera-manager-
16、el6-cm5.12.1_x86_64.tar.gz到hadoop102的/opt/software目录,并解压到/opt/module/cm目录roothadoop102 software# tar -zxvf cloudera-manager-el6-cm5.12.1_x86_64.tar.gz -C /opt/module/cm3)分别在hadoop102、hadoop103、hadoop104创建用户cloudera-scmroothadoop102 module# useradd -system -home=/opt/module/cm/cm-5.12.1/run/cloudera-
17、scm-server -no-create-home -shell=/bin/false -comment Cloudera SCM User cloudera-scmroothadoop103 module# useradd -system -home=/opt/module/cm/cm-5.12.1/run/cloudera-scm-server -no-create-home -shell=/bin/false -comment Cloudera SCM User cloudera-scmroothadoop104 module# useradd -system -home=/opt/m
18、odule/cm/cm-5.12.1/run/cloudera-scm-server -no-create-home -shell=/bin/false -comment Cloudera SCM User cloudera-scm参数说明:-system 创建一个系统账户-home 指定用户登入时的主目录,替换系统默认值/home/-no-create-home 不要创建用户的主目录-shell 用户的登录 shell 名-comment 用户的描述信息注意:Cloudera Manager默认去找用户cloudera-scm,创建完该用户后,将自动使用此用户。4)修改CM Agent配置修
19、改文件/opt/module/cm/cm-5.12.1/etc/cloudera-scm-agent/ config.ini的主机名称roothadoop102 cloudera-scm-agent# vim /opt/module/cm/cm-5.12.1/etc/cloudera-scm-agent/config.ini修改主机名称server_host=hadoop1025)配置CM的数据库拷贝mysql-connector-java-5.1.27-bin.jar文件到目录 /usr/share/java/ roothadoop102 cm# mkdir p /usr/share/jav
20、a/roothadoop102 mysql-libs# tar -zxvf mysql-connector-java-5.1.27.tar.gzroothadoop102 mysql-libs# cp /opt/software/mysql-libs/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java/roothadoop102 mysql-libs# mv /usr/share/java/mysql-connector-java-5.1.27-bin.jar /usr/share/ja
21、va/mysql-connector-java.jar注意:jar包名称要修改为mysql-connector-java.jar6)使用CM自带的脚本,在MySQL中创建CM库roothadoop102 cm-5.12.1# /opt/module/cm/cm-5.12.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hhadoop102 -uroot -p000000 -scm-host hadoop102 scm scm scm参数说明-h:Database host-u:Database username-p:Database P
22、assword-scm-host:SCM servers hostname7)分发cmroothadoop102 module# xsync /opt/module/cm8)创建Parcel-reporoothadoop102 module# mkdir -p /opt/cloudera/parcel-reporoothadoop102 module# chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo9)拷贝下载文件manifest.json 、CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
23、1 、CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel到hadoop102的/opt/cloudera/parcel-repo/目录下roothadoop102 parcel-repo# lsCDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 manifest.json10)将CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1:需改名为CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha
24、roothadoop102 parcel-repo# mv CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel.sha11)在hadoop102上创建目录/opt/cloudera/parcels,并修改该目录的所属用户及用户组为cloudera-scmroothadoop102 module# mkdir -p /opt/cloudera/parcels roothadoop102 module# chown cloudera-scm:cloudera-scm /opt/clou
25、dera/parcels12)分发/opt/cloudera/roothadoop102 opt# xsync /opt/cloudera/1.3.3 启动CM服务1)启动服务节点:hadoop102roothadoop102 cm# /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-server startStarting cloudera-scm-server: 确定2)启动工作节点:hadoop102、hadoop103、hadoop104roothadoop102 cm# /opt/module/cm/cm-5.12.1/etc/init.d/cloudera-scm-agent startroothadoop103 cm# /opt/module/cm/cm-5.12.1/etc/ini
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1