Centos7 环境下安装CDH 首先要安装cloudera manager 然后通过cm的图形界面来安装CDH 和一些相关组件 需要安装mysql来存储cloudera manager的一些数据 也可以使用其他数据库
使用安装包方式进行安装 比yum方式安装速度快

服务端/Server:
Cloudera Manager 的核心。主要用于管理 web server 和应用逻辑。它用于安装软件,配置,开始和停止服务,以及管理服务运行的集群。

代理/agent:
安装在每台主机上。它负责启动和停止的进程,部署配置,触发安装和监控主机。

数据库/Database:
存储配置和监控信息。通常可以在一个或多个数据库服务器上运行的多个逻辑数据库。例如,所述的 Cloudera 管理器服务和监视,后台程序使用不同的逻辑数据库。

Cloudera Repository:由cloudera manager 提供的软件分发库。

客户端/Clients:
提供了一个与 Server 交互的接口。
Cloudera Manager包括server端和agent;server端主要作用是监控集群分发配置集群等,agent端主管集群各节点。
CDH是CM的安装包,本地或者云端,其中包括hadoop的生态系统需要的所有组件,通过Cloudera Manager统一管理和安装

集群使用vmware workstation 搭建模拟环境 网络配置使用NAT模式
集群主机设置 共三个服务器 cdh.master 设置为主服务器

ip地址 hostname CM管理软件
192.168.158.20 cdh.master Cloudera Manager Server&Agent ,mysql
192.168.158.21 cdh.slave1 Cloudera Manager Agent
192.168.158.22 cdh.slave2 Cloudera Manager Agent

以下操作为所有节点都需要执行的操作和准备的工具

步骤一 :首先要准备java环境 安装jdk 设置JAVA_HOME环境变量

/usr/java/jdk1.8.0_221

注意 jdk要安装在/usr/java/ 里 否则Cloudera Manager找不到会报错

java环境变量如下:

export JAVA_HOME=/usr/java/jdk1.8.0_221
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

步骤二:设置主机名 hostname

[root@localhost ~]# hostname                                      # 查看当前的hostnmae
localhost.localdomain
[root@localhost ~]# hostnamectl set-hostname cdh.master           # 使用这个命令会立即生效且重启也生效
[root@localhost ~]# hostname
cdh.master

步骤三: 设置hosts 修改/etc/hosts文件 改成如下内容:

192.168.158.20  cdh.master
192.168.158.21  cdh.slave1
192.168.158.22  cdh.slave2

注意:源文件内容需要删除 否则会出现错误 具体错误在本文最后常见问题里会说明

步骤三: 关闭防火墙

[root@localhost ~]# systemctl stop firewalld                           #关闭防火墙
[root@localhost ~]# systemctl disable firewalld                        #开机禁用防火墙
[root@localhost ~]# systemctl status firewalld                         #查看防火墙状态是否关闭

步骤四:关闭selinux

[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled

重启才能生效
重启后检查

[root@localhost ~]# sestatus -v
SELinux status:                 disabled                                #已经关闭

步骤五:所有节点设置ssh无密码登陆
所有节点都需要执行 生成秘钥 然后发送到其他所有节点 实现ssh免密码登录 如下是主节点的操作 其他节点也如此操作

[root@cdh ~]# yum -y install openssh-clients                 #安装ssh
[root@cdh ~]# ssh-keygen -t rsa                              #一直按回车 生成秘钥
[root@cdh ~]# ssh-copy-id cdh.slave1                         #发送到cdh.slave1节点
[root@cdh ~]# ssh-copy-id cdh.slave2                         #发送到cdh.slave2节点

步骤六:NTP服务器设置(用于不同节点间实现时间同步)

[root@localhost ~]# yum -y install ntp                   #安装ntp
[root@localhost ~]# vim /etc/ntp.conf                    #修改配置 设置
#注释掉所有server *.*.*的指向,新添加一条可连接的ntp服务器  我使用的是阿里云的NTP服务器
server ntp1.aliyun.com iburst
#在其他节点上把ntp指向master服务器地址即可
server 192.168.158.20 iburst
#安装完成后设置ntp开机启动并启动ntp
systemctl enable ntpd
systemctl start ntpd
#查看状态
systemctl status ntpd

步骤7:各节点下载cloudera manager 我用迅雷下载 并上传到个节点 速度比较快
下载地址:https://archive.cloudera.com/cm5/cm/5/

我下载的是:cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz

**下边开始配置主节点安装 Cloudera Manager Server ,Cloudera ManagerAgent ,mysql **

1,先安装mysql

#获取mysql rpm包
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
#安装rpm 这个rpm是为了更新yum源地址的
rpm -ivh mysql-community-release-el7-5.noarch.rpm
#使用yum在线安装
yum install -y mysql-server
#启动mysql
systemctl start mysqld

登录后修改root密码

use mysql;
update user set password=password('root') where user='root' and host='localhost';
FLUSH PRIVILEGES    #刷新立即生效

需要安装 MySQL JDBC Driver (mysql-connector-java-5.1.40.zip)

unzip mysql-connector-java-5.1.40.zip                   #解压
cd mysql-connector-java-5.1.40                          #进入目录
mkdir -p /usr/share/java/                               #驱动许放在此目录 cm会在此文件夹查找
cp mysql-connector-java-5.1.40-bin.jar /usr/share/java/mysql-connector-java.jar    #复制并修改名称

安装完mysql后 需要创建CDH服务所需的数据库和用户 后边安装时需要用到

Service Database Db-User
Cloudera manager server scm 由root用户初始化数据库时创建
Activity monitor amon amon
Reports manager rman rman
Hue hue hue
Hive metastore server metastore hive
Sentry server sentry sentry
Cloudera navigator audit server nav nav
Cloudera navigator audit server navms navms
Oozie oozie oozie
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'root';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'root';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'root';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY 'root';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'root';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'root';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'root';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'root';

挑个账号测试一下本地能否登陆 防止后期安装cdh 链接数据库时报错
如果 新建的用户本地登录不了 远程可以登录
解决办法:我用的mysql版本是5.6 安装完数据库后 需要删除匿名用户
用root登录mysql后执行

use mysql;                                   #选择mysql库
delete from user where user='';   #删除匿名用户
FLUSH PRIVILEGES;               #刷新缓存

2,Cloudera Manager 安装(主节点)
Cloudera Manager可以说是Cloudera系列产品和组件的核心,它负责统一配置管理CDH集群,基本上本篇文章都是围绕CM的安装部署来展开的,然后再通过CM去安装CDH及其其它相关组件。
在master节点安装Cloudera Manager Server并启动 ,cloudera-manager-daemons 是运行server和agent所需要的
刚才下载好的cloudera-manager包解压到/opt/目录下

tar -zxvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/

注意:在主机节点创建如下的目录,否则容易报错,7180端口起不来。
mkdir -p /var/lib/cloudera-scm-server
mkdir -p /var/lib/cloudera-scm-agent
mkdir -p /var/lib/cloudera-scm-server-db/data

3,初始化数据

cd /opt/cm-5.16.2/share/cmf/schema                              #进入目录
#初始化数据
#scm_prepare_database.sh [-数据库类型] [-h主机名 [-u用户名] [-p密码]      [主机地址] [创建的数据库名] [用户] [密码]
./scm_prepare_database.sh mysql -hlocalhost -uroot -proot --scm-host localhost scm root root

在master和node节点安装Cloudera Manager Agent

#因为Cloudera Manager Server 与Cloudera Manager Agent 在一个cm包中 所以除主节点外 其他节点都要解压安装cm包
tar -zxvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/
#修改 cloudera-scm-agent/config.ini中的server_host为主节点主机名
vim /opt/cm-5.16.2/etc/cloudera-scm-agent/config.ini
# 改成主节点主机名.
server_host=cdh.master# 各节点创建cm用户
useradd --system --home=/opt/cm-5.16.2/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
#如果没有安装psmisc 需要安装一下 (否则会报:cloudera-scm-agent:行109: pstree: 未找到命令)
yum install -y psmisc#主节点启动
/opt/cm-5.16.2/etc/init.d/cloudera-scm-server start
/opt/cm-5.16.2/etc/init.d/cloudera-scm-server stop #停止
#各节点启动
/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent start
/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent stop  #停止

下载CDH安装包
在 https://archive.cloudera.com/cdh5/parcels/5.16.2/ 找到文件对应的版本

使用迅雷下载红框内三个文件 然后上传到主机 目录:

[root@cdh parcel-repo]# pwd
/opt/cloudera/parcel-repo

上传完毕后修改目录文件权限属性

chown cloudera-scm:cloudera-scm -R /opt/cloudera/parcel-repo/   #修改权限属性
#注意 一定要修改sha1名称为sha
mv CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha
#修改后parcel-repo文件夹如下
-rw-r--r-- 1 cloudera-scm cloudera-scm 2132782197 8月  20 14:28 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel
-rw-r--r-- 1 cloudera-scm cloudera-scm         41 8月  20 14:32 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha
-rw-r--r-- 1 cloudera-scm cloudera-scm      66804 6月  18 21:18 manifest.json`在这里插入代码片`

主节点执行如下操作
优化交换分区

echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p

禁用透明大页面压缩

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

并将上面的两条命令写入开机自启动/etc/rc.local

CDH相关配置文件位置:

/etc/hadoop/conf

日志位置:

/opt/cm-5.16.2/log

数据库与日志相关配置文件在目录:

 /opt/cm-5.16.2/etc/cloudera-scm-server

登录web界面 安装cdh
http://192.168.158.20:7180
账号:admin
密码:admin

1.登录web界面 配置集群安装CDH

2 .选择部署的版本

3.继续下一步,选择安装的CM的版本

4.选择需要部署的主机

5.选择需要安装的clouderamanager版本 要选择与之前下载好的CDH的版本一致

6.percel文件下载并分发安装到集群所有节点上

7.开始分发安装到各节点

8.检查集群中主机环境

出现两个问题:
优化交换分区

echo "vm.swappiness = 10" >> /etc/sysctl.conf
sysctl -p

禁用透明大页面压缩

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

并将上面的两条命令写入开机自启动/etc/rc.local

9.群集设置 选择安装的服务组件

10.群集设置 自定义角色分配
(这里一般情况下默认即可,但是如果集群中某台电脑的配置严重不行的时候,建议少分配点任务)

11.数据库设置
注意:这个要与前面的mysql中建立hive,oozie,hue相对应,如果之前没有建立的话,会报错
强烈建议将各个数据库与相应角色实例置于同一主机上

12.审核更改,如果有特定目录的设定或者参数的设定,可以在这里进行更正

13.首次运行

14安装完毕 进入图形界面

常见问题:

在安装CDH时 查找不到节点如图所示:

查看日志:

cd /var/log/cloudera-scm-server
cat cloudera-scm-server.log

报如下错误

此错误 原因:/etc/hosts 如下设置

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 cdh.slave2
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 cdh.slave2
192.168.158.10  cdh.master
192.168.158.11  cdh.slave1
192.168.158.12  cdh.slave2

修改/etc/hosts 将 127.0.0.1 两行删掉, 保留内网IP和机器名的映射即可

192.168.158.10  cdh.master
192.168.158.11  cdh.slave1
192.168.158.12  cdh.slave2

然后主节点重启:systemctl status cloudera-scm-server
各节点重启:systemctl restart cloudera-scm-agent
问题解决

启动server log报错:

2019-08-21 09:02:12,762 ERROR SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: The server storage directory [/var/lib/cloudera-scm-server] doesn't exist.
2019-08-21 09:02:12,966 ERROR SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: No read permission to the server storage directory [/var/lib/cloudera-scm-server]
2019-08-21 09:02:12,966 ERROR SearchRepositoryManager-0:com.cloudera.server.web.cmf.search.components.SearchRepositoryManager: No write permission to the server storage directory [/var/lib/cloudera-scm-server]

解决: sudo mkdir /var/lib/cloudera-scm-server
注意:在主机节点创建上面的目录,否则会出错,7180端口起不来。
mkdir -p /var/lib/cloudera-scm-server
mkdir -p /var/lib/cloudera-scm-agent
mkdir -p /var/lib/cloudera-scm-server-db/data

首次运行安装时报错:Failed to install Oozie ShareLib.

在日志里搜索找到hdfs-site.xml安装位置然后修改:

vim /opt/cm-5.16.2/run/cloudera-scm-agent/process/49-oozie-OOZIE-SERVER-upload-sharelib/yarn-conf/hdfs-site.xml
#添加如下两项<property><name>dfs.client.block.write.replace-datanode-on-failure.enable</name><value>true</value></property><property><name>dfs.client.block.write.replace-datanode-on-failure.policy</name><value>NEVER</value></property>
#保存 然后返回安装界面 返回上一步 然后从新继续安装

问题原因:
无法写入;我的环境中有3个datanode,备份数量设置的是3。在写操作时,它会在pipeline中写3个机器。默认replace-datanode-on-failure.policy是DEFAULT,如果系统中的datanode大于等于3,它会找另外一个datanode来拷贝。目前机器只有3台,因此只要一台datanode出问题,就一直无法写入成功。
对于,dfs.client.block.write.replace-datanode-on-failure.policy,default在3个或以上备份的时候,是会尝试更换结点尝试写入datanode。而在两个备份的时候,不更换datanode,直接开始写。对于3个datanode的集群,只要一个节点没响应写入就会出问题,所以可以关掉

首次运行报错:Failed to create Oozie database tables.

解决办法:返回cloudera manager主页,查看已经有了oozie的服务,直接启动它!

数据库初始化报错

[                          main] DbProvisioner                  ERROR Exception when creating/dropping database with user 'scm' and jdbc url 'jdbc:mysql://cdh.master/?useUnicode=true&characterEncoding=UTF-8'
java.sql.SQLException: Access denied for user 'scm'@'cdh.master' (using password: YES)

之前安装完数据库 新建的用户本地登录不了 远程可以登录
解决办法:我用的mysql版本是5.6 安装完数据库后 需要删除匿名用户
用root登录mysql后执行

use mysql;                                   #选择mysql库
delete from user where user='';   #删除匿名用户
FLUSH PRIVILEGES;               #刷新缓存

问题解决

启动服务报错 pstree: 未找到命令
/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent:行109: pstree: 未找到命令
/opt/cm-5.16.2/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令
原因:缺少psmisc工具
解决方法:yum install -y psmisc

启动服务报错 无效的用户"cloudera-scm"
install: 无效的用户"cloudera-scm"

install- invalid user ‘cloudera-scm’
原因:没有创建cm所需要的 cloudera-scm用户
解决方法:

#所有节点都要创建cloudera-scm用户
useradd --system --home=/opt/cm-5.16.2/run/cloudera-scm-server --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

安装参考:https://www.jianshu.com/p/1ebc95382d6e
https://blog.csdn.net/czk740960212/article/details/80484671
https://blog.51cto.com/wzlinux/2321433?source=dra

Centos7 安装包方式(离线)安装cloudera manager 和 CDH相关推荐

  1. Linux下Centos7以rpm方式离线安装MySQL5.7教程以及部分报错解决方案

    Linux下Centos7以rpm方式离线安装MySQL5.7教程以及部分报错解决方案 参考文章: (1)Linux下Centos7以rpm方式离线安装MySQL5.7教程以及部分报错解决方案 (2) ...

  2. 安装 Cloudera Manager、CDH、KUDU 随手记

    转自:https://my.oschina.net/balajinima/blog/862969 一.关于CDH和Cloudera Manager CDH (Cloudera's Distributi ...

  3. java1.8离线安装包_离线安装JDK1.8

    CentOS7.8离线安装JDK1.8 操作系统:CentOS7.8 安装版本:JDK1.8 步骤: 1.查看CentOS自带的openJDK 命令:rpm -qa | grep java 2.卸载已 ...

  4. vs2019下载离线安装包并离线安装

    一般下载Visual Studio都是使用在线安装包.不过有时候我们需要下载离线安装包以到网不好的电脑使用或者供以后安装,则可以先下载离线包再离线安装.官方文档 1,下载vs安装程序 在官网下载对应版 ...

  5. python安装包的离线安装方法

    说明:python的离线安装有时候,由于不同模块有很多依赖包,所以很容易出错.python在线安装只需要"pip install 包名"会自动安装依赖包,所以一般不会出现安装问题. ...

  6. mysql 5.1.6 安装包_Centos6 离线安装 MySQL5.5.55-1(附带安装包及 Perl 依赖包)

    Centos6 离线安装 MySQL5.5.55-1(附带安装包及 Perl 依赖包) 资源包下载 https://pan.baidu.com/s/1U3myYp4GSmDUfZocMWI9FA 密码 ...

  7. adt linux 离线安装包,ADT离线安装

    前几天还原了一下系统,今天一打开eclipse,TNN,竟然找不到android工程了--我就打算重装一下ADT,在线安装的速度,大家都知道,我是真受不了啊,深受教育网的迫害,同在高校的同学们,~~~ ...

  8. lrzsz linux安装包,linux 离线安装lrzsz

    安装gcc环境 yum install --downloadonly --downloaddir=/usr/local/gcc gcc yum install --downloadonly --dow ...

  9. pip 下载离线安装包及离线安装地方三库

    1#查看安装的包 pip list #生成requirements.txt(记录所有依赖包 的版本号) pip freeze >requirements.txt requirements.txt ...

最新文章

  1. Paypal支付的退款refund之getAccessToken
  2. leetcode算法题--n个骰子的点数
  3. mysql 性能 比较好_MySQL性能优化的最佳20+条经验
  4. c#中将整数转化为字符串_在C#中将字符串转换为字节数组
  5. wxpython 调用子窗口_wxpython入门第一步(简单例子)
  6. 怎样分析java进程占cpu_java进程占用cpu过高分析是哪些线程
  7. framework7的改进,以及与vue组合使用遇到的问题以及解决方法 (附vue的原理)
  8. python 函数定义位置_PYTHON--函数定义
  9. DockerCon 2017报告:企业在关注吗?
  10. python简单爬虫代码-Python爬虫――写出最简单的网页爬虫
  11. Himall商城普通帮助类(四)
  12. mapminmax函数
  13. 程序使用微软雅黑作为默认字体在xp下的问题
  14. 打开21端口 linux,Linux开启FTP的21端口
  15. [HDU 5755] Gambler Bo (高斯消元)
  16. 云和恩墨 oracle 监控,产品速递 | 云和恩墨Bethune Pro2——数据库实时监控和智能巡检平台...
  17. 北京注册的公司如何缴纳公积金
  18. Luminati LPM在Linux下安装教程
  19. Setting学习(一)-静态界面
  20. 【python】抓小偷

热门文章

  1. 电力监控系统性能测试方案
  2. 移动App 安全测试
  3. IntellJ IDEA使用攻略
  4. 样本数据异常值处理的三种方法
  5. RS422串口测试工装研究
  6. 本科论文查重网站分享
  7. 数组 || 按行按列存储【转载】
  8. 2019年—颗粒归仓
  9. Debian 音量调节工具
  10. 11、项目规划篇-项目文档