CDH搭建

CDH搭建

虚拟机工具VMware下载参考地址:

https://blog.csdn.net/weixin_52799373/article/details/124324077?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171633702316777224413574%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171633702316777224413574&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-124324077-null-null.142^v100^control&utm_term=vmware%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B&spm=1018.2226.3001.4187

我已经将网页中用到的安装包下载好了,一个VMware 16 pro版本的安装包,一个centerOS7驱动。

链接:https://pan.quark.cn/s/a2070e130c28

提取码:3jqy

准备工作:

下载好cdh安装包、jdk安装、mysql安装包

这里下载好了,从我的网盘自己取就行

链接:https://pan.quark.cn/s/2157608eb715

提取码:kymT

我的虚拟机配置:

本人电脑内存32G

静态ip

名称

内存大小

内核

存储大小

192.168.231.201

cm1

16G

4

50G

192.168.231.202

cm2

4G

4

50G

192.168.231.203

cm3

4G

4

50G

虚拟机环境准备:

参考地址:

https://blog.csdn.net/BlogPan/article/details/132396576?spm=1001.2014.3001.5502

1、配置IP地址

编辑 /etc/sysconfig/network-scripts/ifcfg-ens33 文件

修改配置:

BOOTPROTO=static #使用static配置
ONBOOT=yes #开机启动此配置
IPADDR=192.168.231.201 #静态IP
GATEWAY=192.168.231.2 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.231.2 #DNS配置

注意,配置静态ip地址的时候,需要去VMware工具中查看目前的网络配置。

点击VMnet8(NAT模式),将dhcp勾选关闭,然后点击【NAT配置】

记住这三个ip信息,在配置ifcfg-ens33文件的时候,网段和这三个信息ip对应,我的网段是192.168.231.x,也不准备改其他网段了,后续就按这个来配置。

修改完成之后,还需要去本地的网络配置中,修改VMnet8对应的配置。

 将自动分配的方式,改为手动分配,配置时ip地址前三段和虚拟机配置保持一致192.168.231.x,确认本地可以识别到虚拟机对应的网段。这样不管本地连接的是什么网络,都会通过VMnet8转换为192.168.231.x网段,从而让虚拟机一直可以访问网络,并和本地相通,另外给VMnet8手动分配ip地址时,不要和虚拟机的ip重复了,我分配的是192.168.231.1。

2、修改hostname

修改每台节点/etc/hostname文件
覆盖写入为:

cm1

3、配置ip、host映射关系

在每台节点/etc/hosts文件后追加如下内容,配置ip与hostname之间的映射。

192.168.231.201 cm1
192.168.231.202 cm2
192.168.231.203 cm3

4、关闭防火墙

关闭每台节点的防火墙

#检查防火墙状态:centos6 : service iptables status
[root@cm1 ~]# firewall-cmd --state

#关闭防火墙,centos6 : service iptables stop
[root@cm1 ~]# systemctl stop firewalld3

#设置开机不启动防火墙: centos6 :chkconfig iptables off
[root@cm1 ~]# systemctl disable firewalld

#检查防火墙开机启动状态:
[root@cm1 ~]# systemctl list-unit-files | grep firewall

#检查机器中的启动服务: centos6 : chkconfig --list
[root@cm1 ~]# systemctl list-unit-files

5、关闭SELinux

SELinux就是Security-Enhanced Linux的简称,安全加强的linux。传统的linux权限是对文件和目录的owner, group和other的rwx进行控制,而SELinux采用的是委任式访问控制,也就是控制一个进程对具体文件系统上面的文件和目录的访问,SELinux规定了很多的规则,来决定哪个进程可以访问哪些文件和目录。虽然SELinux很好用,但是在多数情况我们还是将其关闭,因为在不了解其机制的情况下使用SELinux会导致软件安装或者应用部署失败。

在每台节点/etc/selinux/config中将SELINUX=enforcing改成SELINUX=disabled即可。

SELINUX=disabled

6、节点间免密登录

用ssh访问其他节点,生成ssh文件

[root@cm1 ~]# ssh 192.168.231.202   需要输入密码

生成公钥和私钥

[root@cm1 ~]# ssh-keygen -t rsa //生成公钥和私钥


[root@cm1 ~]# cd .ssh  #进入ssh 查看生成的文件
id_rsa为私钥,
id_rsa.pub为公钥,
authorized_keys用于存放授权过的无密登录服务器公钥,
known_hosts记录访问过计算机的公钥

拷贝公钥到要免密登录的服务器上

# 这个操作会将cm1的公钥信息,拷贝到cm2节点的authorized_keys文件中
[root@cm1 ~]# ssh-copy-id cm2

访问要免密登录的服务器

[root@cm1 ~]# ssh cm2

7、集群时钟同步

在每个节点上执行以下操作

[root@cm1 ~]# yum -y install ntp #安装ntp服务#
[root@cm1 ~]# rm -rf /etc/localtime #删除现有时区#
[root@cm1 ~]# ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改上海时区#
[root@cm1 ~]# /usr/sbin/ntpdate -u pool.ntp.org #同步时间#
[root@cm1 ~]# date #查看时间#
[root@cm1 ~]# crontab -e 写入如下定时内容:#
*/10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1 #同步时间定时任务#
        systemctl restart crond #重启定时任务 ,centos6:service crond restart#
[root@cm1 ~]# crontab -l #查看定时任务#

[root@cm1 ~]# systemctl enable ntpd #设置ntpd 开机启动,不然后期安装CDH时会有警告。centos6:chkconfig ntpd on
[root@cm1 ~]# systemctl start ntpd #启动ntpd服务 service ntpd start

8、安装jdk

参考地址:

https://blog.csdn.net/BlogPan/article/details/132384949

创建/software路径,将准备工作中下载的jdk安装包oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm放这个路径下

[root@cm1 ~]# mkdir -p /software

执行安装

[root@cm1 ~]# rpm -ivh /software/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm

以上命令执行完成之后,会在节点的/usr/java下安装jdk。在每台机器都执行完命令之后,在每台节点配置jdk的环境变量:

[root@cm1 ~]# vi /etc/profile
#在每台节点中配置profile文件,在最后追加内容如下:#
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

执行完成以上命令之后,在每台节点上执行 “. /etc/profile”使配置生效。

[root@cm1 ~]# . /etc/profile

查看java的版本:

[root@cm1 ~]# java -version

java版本查询结果如下图

9、主节点安装mysql数据库

参考地址:

https://blog.csdn.net/BlogPan/article/details/132393695

下载mysql安装包

# noarch表示该软件包不依赖特定Linux发行版
[root@cm1 ~]# wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

由于准备工作中已经下载好了,直接将mysql安装包放/software路径下

执行安装:

[root@cm1 ~]# rpm -ivh /software/mysql57-community-release-el7-9.noarch.rpm
[root@cm1 ~]# yum install mysql-server -y

可能出现报错:提示Public key for mysql-community-common-5.7.44-1.el7.x86_64.rpm is not installed异常信息:

问题原因:MySQL秘钥过期导致

解决方案:导入新的秘钥信息,再重新执行安装语句

[root@cm1 ~]# rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
[root@cm1 ~]# yum install mysql-server -y

启动mysql:

[root@cm1 ~]# systemctl start mysqld

查看mysql状态

[root@cm1 ~]# systemctl status mysqld

查看mysql版本

[root@cm1 ~]# mysql -V

mysql初始登录时需要使用初始密码,使用命令grep "password" /var/log/mysqld.log 获取临时密码后,执行如下语句:

[root@cm1 ~]# grep "password" /var/log/mysqld.log

              

进入mysql,并设置mysql密码等级和长度:

[root@cm1 ~]# mysql -uroot -paIktPa-Js8aJ
# 默认mysql密码需要含有数字、大小写字符、下划线等,这里设置密码验证级别为低
mysql> set global validate_password_policy=LOW;

# 默认mysql密码设置长度是8位,这里修改成4位
mysql> set global validate_password_length=4;

设置密码:

mysql> alter user 'root'@'localhost' identified by 'root';

将mysql设置为开机启动:

[root@cm1 ~]# systemctl enable mysqld

查看设置是否成功:

[root@cm1 ~]# systemctl list-unit-files | grep mysqld

        

以上设置的mysql密码安全等级和密码长度,在mysql重启后需要重复设置,这里可以修改mysql的配置文件/etc/my.cnf,让配置永久生效

[root@cm1 ~]# vi /etc/my.cnf
# 在文件开头[mysqld]后添加以下语句
[mysqld]
# 禁用掉ssl。对于MySQL5.7高版本,启动CM Server连接MySQL时
# 可能会报com.mysql.jdbc.exceptions.jdbc4.CommunicationsException异常
# 原因是默认开启了SSL认证,相当于useSSL=true,
# 解决方法就是在配置中添加skip-ssl,重启MySQL服务
skip-ssl

# plugin-load这个配置选项用于在MySQL服务器启动时加载validate_password插件。
# validate_password插件为MySQL密码提供了一个额外的验证层。
# 它确保密码的复杂性(例如,包含大小写字母、数字和特殊字符,长度足够等)。
plugin-load=validate_password.so

# 这个配置选项用于禁用validate_password插件的功能。
# 即使你已经通过plugin-load选项加载了插件
# 设置validate-password=off也会使该插件不执行任何密码验证。
validate-password=off

10、主节点安装httpd服务与createrepo

#createrepo 是一个对rpm 文件进行索引建立的工具。大体功能就是对指定目录下的rpm文件进行检索,把每个rpm文件的信息存储到指定的索引文件中,这样方便远程yum命令在安装更新时进行检索。

# 安装httpd
[root@cm1 ~]# yum install httpd -y

# 启动
[root@cm1 ~]# systemctl start httpd

# 开机启动
[root@cm1 ~]# systemctl enable httpd

# 查看状态
[root@cm1 ~]# systemctl status httpd

# 重启httpd
[root@cm1 ~]# systemctl restart httpd

# 安装createrepo
[root@cm1 ~]# yum install createrepo -y

修改配置文件 /etc/httpd/conf/httpd.conf,在<IfModule mime_module>中添加支持.parcel文件类型,用于远程下载parcel文件。

[root@cm1 ~]#  vi /etc/httpd/conf/httpd.conf
<IfModule mime_module>
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz .parcel
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>
[root@cm1 ~]#  systemctl restart httpd

11、配置web服务

在准备工作中,我们下载了cdh安装包。

我把安装包放在了/opt/app/cdh路径下,在安装完httpd服务后,直接将/opt/app/cdh目录移动到/var/www/html目录下

[root@cm1 ~]# mv /opt/app/cdh /var/www/html

移动之后,看看对应的目录下有什么文件

[root@cm1 ~]#  tree /var/www/html
/var/www/html
└── cdh
    ├── CDH6.3.2
    │   ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
    │   ├── CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
    │   └── manifest.json
    ├── CM6.3.1
    │   ├── allkeys.asc
    │   ├── cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
    │   ├── cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
    │   ├── cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
    │   ├── cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
    │   └── enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
    ├── JDK
    │   └── oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
    └── mysql
        └── mysql57-community-release-el7-9.noarch.rpm

接下来我们就可以在网页上看到对应的文件了

访问:http://192.168.231.201/cdh/CM6.3.1/

可以看到下图所示内容

现在我们需要通过createrepo来创建CM6.3.1目录的repo

# 首先移动到/var/www/html/cdh/CM6.3.1目录下

[root@cm1 ~]# cd /var/www/html/cdh/CM6.3.1

# 然后执行createrepo命令

[root@cm1 CM6.3.1]# createrepo .

# 然后去网页上去看是否有对应的repodata文件夹生成
访问:http://192.168.231.201/cdh/CM6.3.1/

# 然后制作本地repo源
在/etc/yum.repos.d目录下创建cm-local.repo配置文件,添加如下内容:

[root@cm1 chd]# cd /etc/yum.repos.d
[root@cm1 yum.repos.d]# vi cloudera.repo
[Cloudera_Manager]
name=Cloudera_Manager_6.3.1
baseurl=http://cm1/cdh/CM6.3.1
enabled=1 # 启用yum
gpgcheck=0 # 不检查检查gpg

# 制作完成后,将cloudera.repo文件拷贝到其他节点的/etc/yum.repos.d目录下,或手动在其他节点都写入一个cloudera.repo文件。

# 在cm2和cm3机器上,执行以下语句
[root@cm2 ~]# scp -r root@192.168.231.201:/etc/yum.repos.d/cloudera.repo  /etc/yum.repos.d/
[root@cm3 ~]# scp -r root@192.168.231.201:/etc/yum.repos.d/cloudera.repo  /etc/yum.repos.d/

# 查看当前所有yum源

[root@cm1 ~]# yum repolist

                

12、安装第三方依赖包

每个节点都执行一遍以下语句,cm1已经安装了httpd,再执行以下语句时会检测到,自动跳过,不用担心有影响。

[root@cm1 ~]# yum install -y chkconfig bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi portmap /lib/lsb/init-functions httpd mod_ssl openssl-devel python python-psycopg2 MySQL-python libxslt zlib sqlite fuse fuse-libs redhat-lsb

Cloudera Manager安装:

1、创建安装目录:

在三台机器cm1、cm2、cm3上,都创建/opt/cloudera-manager目录

[root@cm1 ~]# mkdir /opt/cloudera-manager

将ClouderaManager rpm安装包“cm6.3.1-redhat7.tar.gz”上传至cm1节点的目录“/software”下,并且解压到目录“/opt/cloudera-manager”下,在cm1节点执行命令如下:

[root@cm1 software]# tar -zxvf ./cm6.3.1-redhat7.tar.gz -C /opt/cloudera-manager/

2、rpm安装包分发:

将解压后的文件分发到其他Agent节点,所有的Agent节点都需要分发,只需要发送cloudera-manager-agent与cloudera-manager-daemons安装包即可。执行如下命令:

#将安装包分发到cm2节点
[root@cm1 x86_64]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cm2:/opt/cloudera-manager/
[root@cm1 x86_64]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cm2:/opt/cloudera-manager/

#将安装包分发到cm3节点
[root@cm1 x86_64]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cm3:/opt/cloudera-manager/
[root@cm1 x86_64]# scp /opt/cloudera-manager/cm6.3.1/RPMS/x86_64/cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cm3:/opt/cloudera-manager/

3、在CM server服务节点上安装CM server:

在cm1节点上安装daemons、servers RPM包,由于安装过程中会检查系统中的依赖包,如果没有会报错,可以安装时指定 --nodeps 不检查依赖关系,但建议在虚拟机准备工作中将第12步的依赖都安装好,执行时最好不要指定 --nodeps,看看缺了什么依赖包,根据提示再安装上就行。命令如下:

[root@cm1 ~]# cd /opt/cloudera-manager/cm6.3.1/RPMS/x86_64
#后面可以跟上 --nodeps 不检查依赖
[root@cm1 x86_64]# rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm1 x86_64]# rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

以上命令执行完成之后,会自动创建目录“/opt/cloudera”,自动将RPM包安装到这个目录下。

4、在CM Agent节点上安装CM Agent:

在cm1,cm2,cm3节点上安装daemons、agent RPM包,这里由于已经第3步骤在cm1中已经安装过daemons,不必重复安装,只需要在cm1节点上安装agent RPM安装包即可。

#在cm1节点上安装agent 可以指定 --nodeps 不检查依赖
[root@cm1 x86_64]# rpm -ivh ./cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

#在cm2cm3节点上安装 daemons agent
[root@cm2 cloudera-manager]# rpm -ivh ./cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm2 cloudera-manager]# rpm -ivh ./cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

5、配置CM Agent的Server host:

在所有的Agent节点上,修改Agent的配置文件“/etc/cloudera-scm-agent/config.ini”,修改“server_host=cm1”,指定所有Agent节点的Server节点为cm1。

[root@cm1 ~]# vi /etc/cloudera-scm-agent/config.ini
# 修改server_host=cm1,指定所有Agent节点的Server节点为cm1
server_host=cm1

6、配置CM Server 数据库:

在cm1 Server节点上,修改“/etc/cloudera-scm-server/db.properties”文件,配置内容如下:

[root@cm1 ~]# vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=cm1
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=123456
com.cloudera.cmf.db.setupType=EXTERNAL

将“mysql-connector-java-5.1.26-bin.jar”上传至cm1节点的/usr/share/java/目录下,如果没有目录需要先创建目录,并且修改jar包名称为“mysql-connector-java.jar”。

# 每台机器都操作一遍
[root@cm1 ~]# mkdir -p /usr/share/java
[root@cm1 ~]# ln -s mysql-connector-java-5.1.26-bin.jar mysql-connector-java.jar

登录mysql数据库,执行如下命令:

[root@cm1 ~]# mysql -u root -proot
mysql> grant all on *.* to 'cmf'@'%' identified by '123456' with grant option;
mysql> quit

在CM Server节点cm1上执行如下命令初始化数据库:

[root@cm1 ~]# cd /opt/cloudera/cm/schema/

#【-u用户,-p密码 ,数据库类型,数据库,用户,密码】
[root@cm1 schema]# sh ./scm_prepare_database.sh -ucmf -p123456 mysql cmf cmf 123456

7、准备CDH Parcels本地源:

在Server节点cm1上“/opt/cloudera/parcel-repo”目录下,上传如下文件即可。

CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
manifest.json

8、启动CM Server、CM Agent:

在Server节点启动ClouderaManager Server,分别在Agent节点启动ClouderaManager Agent:

# cm1 节点上启动 Server 服务
[root@cm1 ~]# systemctl start cloudera-scm-server
# 因为server服务启动较慢,确保server服务启动后,再执行启动agent
# cm1cm2cm3 节点上启动 Agent 服务
[root@cm1 ~]# systemctl start cloudera-scm-agent

注意:Server启动比较慢,需要等待一会才能访问对应的web界面,可以查看启动日志,Sever启动的日志默认在路径“/var/log/cloudera-scm-server/cloudera-scm-server.log”下。Agent启动的日志默认在路径“/var/log/cloudera-scm-agent/cloudera-scm-agent.log ”下。可以通过以上日志来检查启动中是否有错。

查看启动日志/var/log/cloudera-scm-server/cloudera-scm-server.log,无异常表示启动成功。

[root@cm1 ~]# tail -3 /var/log/cloudera-scm-server/cloudera-scm-server.log
2023-08-22 22:11:22,656 INFO WebServerImpl:org.eclipse.jetty.server.AbstractConnector: Started ServerConnector@30096cd2{HTTP/1.1,[http/1.1]}{0.0.0.0:7180}
2023-08-22 22:11:22,656 INFO WebServerImpl:org.eclipse.jetty.server.Server: Started @39407ms
2023-08-22 22:11:22,656 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.

注意:在这里我报错了,报错信息如下,原因是访问不到虚拟机准备步骤中第11步网页中的manifest.json文件,目前第11步虽然搭建了,但repo文件只指明了CM6.3.1文件夹,而manifest.json文件在CDH6.3.2目录下,不过不要紧,因为我们在第7步的时候,往“/opt/cloudera/parcel-repo”目录下也导了一遍文件,所以这个报错可以不管:

ERROR ParcelUploadService com.cloudera.parcel.components.ParcelUploaderImpl : Unable to retrieve remote parcel repository manifest

Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装。

至此,Cloudera Manager的安装完成。

CDH安装:

1、登录Cloudera Manager的webui页面

Cloudera Manager的webui界面登录地址为cm1:7180【注:是本机访问,如果本地电脑的hosts文件域名cm1未配置,那就用ip地址192.168.231.201,windows的hosts文件地址:C:\Windows\System32\drivers\etc\hosts】,默认的用户名和密码都是admin。输入完成后,点击登录。

2、选择安装CDH节点

登录之后,一直选择“继续”即可:

选择Cloudera Express,点击“继续”,弹出页面后继续点击“继续”:

弹出如下页面,该页面是为CDH指定主机,可以使用“模式”通配来选择主机,也可以选择“当前管理的主机”,这里“当前管理的主机”中有节点内容的原因正是由于之前我们在这三台节点配置过agent。如果未来集群增加机器,可以在新主机中搜索添加,后期会自动将agent安装到选中的新节点。

这里我们选择“当前管理的主机”中的所有节点,点击“继续”

3、集群安装

选择CDH版本为CDH6.3.2,点击“继续”,如下图:

点击“继续”之后,Cloudera Manager主节点会将下载好的CDH分发到各个Agent节点,这时可以在cm1,cm2,cm3节点上看到路径/opt/cloudera/parcel-cache目录中有Cloudera Manager主节点传过来的CDH安装包,同时在完成传输之后,每个Agent节点还会将CDH安装包解压到/opt/cloudera/parcels路径下,此时,界面显示如下:

点击“继续”,显示正在检查主机健康状况,稍等片刻,会显示检查结果:

点击检查结果,查看检查主机出现的问题:

这里建议swappiness=10的时候表示最大限度使用物理内存。由于透明超大页面已知会导致意外的节点重新启动,可以在每台节点中执行如下命令:

#在 cm1,cm2cm3节点上执行如下命令
[root@cm1 ~]# echo 10 > /proc/sys/vm/swappiness
[root@cm1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@cm1 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

在集群执行完命令后,在检查主机正确性后面点击“重新运行”即可解决:

最后,点击“继续”,进入“集群设置”。

4、集群设置

在进入的集群设置界面中,点击“自定义服务”,选择“HDFS”、“YARN”、“Zookeeper”进行安装,注意:这里提示还会安装Cloudera Management Service ,用于后期的监控、报告、事件和警报。

以上点击“继续”,进入“角色分配”页面,显示的是Cloudera Manager自动划分的集群分配,当然这里也可以自己分配节点。如下图所示:

继续点击“继续”,进入“审核更改页面”,在这里可以手动修改一些配置文件,如下图所示:

继续点击“继续”,进入执行集群命令,启动各个组件页面,当所有组件启动完成之后,如下图示:

点击“继续”,完成集群设置。

5、CHD主界面

6、安装hive

1、选择集群,添加hive服务
2、添加服务向导

选择HDFS,点击“继续”:

选择默认角色配置即可:

点击“继续”之后,需要配置Hive依赖的mysql数据库,需要在cm1节点上连接mysql,执行创建数据库及分配权限语句:

[root@cm1 ~]# mysql -u root -proot
mysql> create database hive DEFAULT CHARACTER SET utf8;
mysql> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
mysql> flush privileges;  --重新加载授权表

在弹出的页面中选择数据库,填写用户名及密码,点击“测试连接”,测试数据库连接成功后,点击“继续”:

点击继续之后,设置hive的数据目录及端口,默认即可,点击继续之后等待Hive安装完成即可。

7、impala介绍和安装

1、impala简介

impala由Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。 基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点。是CDH平台首选的PB级大数据实时查询分析引擎。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点就是基于内存处理数据,查询速度快。

Impala与Hive都是构建在Hadoop之上的数据查询工具各有不同的侧重适应面,但从客户端使用来看Impala与Hive有很多的共同之处,如数据表元数据、ODBC/JDBC驱动、SQL语法、灵活的文件格式、存储资源池等。

Impala与Hive在Hadoop中的关系下图所示。Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询,Impala给数据分析人员提供了快速实验、验证想法的大数据分析工具。可以先使用hive进行数据转换处理,之后使用Impala在Hive处理后的结果数据集上进行快速的数据分析。

2、impala安装
1、选择集群,添加impala服务
2、添加服务向导

在弹出的窗口中选择impala,点击“继续”:

角色按照默认配置即可,点击“继续”:

选择impala的数据目录,默认即可,点击“继续”->“完成”,完成impala的安装:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值