CDH集群安装步骤

  • 参考文章
  • 安装前准备
    • 配置网络名称
    • 禁用防火墙
    • 设置SELinux模式
    • 启用NTP服务
    • 配置集群ssh免密登录
  • 安装
    • 安装jdk
    • 安装服务和配置TLS
      • 安装服务
      • 配置TLS
    • 安装并配置MySQL
      • 安装MySQL
      • 配置MySQL
    • 初始化数据库,启动服务
      • 初始化数据库
      • 启动服务

主要记录CDH安装过程,以及遇到的问题和解决方案。 未完待续

参考文章

官网:https://docs.cloudera.com/documentation/enterprise/6/latest/topics/introduction.html
他人博客:
https://blog.csdn.net/u010003835/article/details/85007946

安装前准备

配置网络名称

配置集群中每台主机(节点)的网络名称

hostnamectl set-hostname ***.***.com

然后在 /etc/hosts 文件中配置相关机器的域名 和 域名简写

x.x.x.x cdhNode1.example.com cdhnode1
x.x.x.x cdhNode2.example.com cdhnode2
x.x.x.x cdhNode3.example.com cdhnode3

我的配置如下:

并且测试各个主机之间能够互通
配置 /etc/sysconfig/network

HOSTNAME=cdhNode1.example.com

验证配置
uname -a 需要和 hostname 得到一致的域名

禁用防火墙

防火墙规则保存

iptables-save > /root/firewall.rule

禁用防火墙命令

查看防火墙状态
firewall-cmd --state
停止防火墙
systemctl stop firewalld.service
禁止防火墙开机启动
systemctl disable firewalld.service
开启防火墙开机启动
systemctl enable firewalld.service

设置SELinux模式

集群中每台主机都要设置
1、查看SELinux状态

getenforce

2、编辑 /etc / selinux / config 文件,将SELINUX=enforcing改为SELINUX=disabled或者SELINUX=permissive

vi /etc / selinux / config

3、立即禁用SELinux

setenforce 0

启用NTP服务

参考:https://blog.csdn.net/u010003835/article/details/84962098

配置集群ssh免密登录

参考:https://blog.csdn.net/u010003835/article/details/85006786
(暂时未做)

安装

安装jdk

参考:https://blog.csdn.net/weixin_42266606/article/details/80863781
说明:在CDH集群中的每台主机上操作此过程
注意:CDH官方推荐:使用JDK1.8u181
我采用的是手动安装方式:
我一开始安装的时JDK1.8u241,在启动时,会报一下错误


官网说明:

重新安装CDH官网推荐的jdk版本:https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

另外,jdk解压路径要在**/usr/java/**中,如果没有java目录,则新建一个Java目录。

l## 配置Repo
Cloudera已为用户准备了专用的程序仓库,需要将其下载下来
step1:

sudo wget https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/

step2:
Import the repository signing GPG key:

sudo rpm --import https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/RPM-GPG-KEY-cloudera

说明:在CDH集群中的每台主机上操作此过程

安装服务和配置TLS

安装服务

在集群中安装cloudera-manager-daemon、cloudera-manager-agent和cloudera-manager-server服务;
其中cloudera-manager-daemon、cloudera-manager-agent需要在每台主机上安装,cloudera-manager-server只需要在集群中作为管理节点的机器上安装。
采用yum方式安装:
安装命令:

先查看能否找到这些包:
yum search cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server主节点:
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server其他节点:
yum install cloudera-manager-daemons cloudera-manager-agent

设置服务开机自启

主节点:
sudo systemctl enable cloudera-scm-agent
sudo systemctl enable cloudera-scm-server其他节点:
sudo systemctl  enable  cloudera-scm-agent启动服务
systemctl start cloudera-scm-agent
systemctl start cloudera-scm-server关闭服务
systemctl stop cloudera-scm-agent
systemctl stop cloudera-scm-server查看服务状态
systemctl status cloudera-scm-agent
systemctl status cloudera-scm-server

注:一定要在网络好的地方下载!!!!
官网说明,若要使用oracle数据库,需要修改**/etc/default/cloudera-scm-serverexport CMF_JAVA_OPTS**开头行中的-Xmx2G改为-Xmx4G

配置TLS

暂时未配置
参考官网:https://docs.cloudera.com/documentation/enterprise/6/latest/topics/install_cm_server.html

安装并配置MySQL

只需要在主节点安装(NameNode所在节点)、

安装MySQL

安装命令:

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpmsudo rpm -ivh mysql-community-release-el7-5.noarch.rpmsudo yum update    该步骤耗时较长 20-30 min,并不必要sudo yum install mysql-serversudo systemctl start mysqld

配置MySQL

1、如果MySQL服务启动了,先关闭服务

sudo systemctl stop mysqld

2、将/var/lib/mysql目录下的ib_logfile0和ib_logfile1文件移出到/var/lib/mysql之外的备份位置,我是备份到了/var/lib/mysql-back/目录下(自己新建目录)。

3、修改/etc/my.cnf文件
这里采用了官网推荐的设置,修改前记得先备份。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M#log_bin should be on a disk with enough free space.
#Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1binlog_format = mixedread_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit  = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidsql_mode=STRICT_ALL_TABLES

4、设置MySQL服务开机自启动

sudo systemctl enable mysqld

5、开启MySQL服务

sudo systemctl start mysqld

6、设置MySQLroot密码和其他安全性设置
我给root设置的密码为:123456

sudo /usr/bin/mysql_secure_installation

刚安装的MySQL,root密码为空,所以系统提示输入密码时,直接按Enter键,剩下的按下面输入操作。

[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[...]
Disallow root login remotely? [Y/n] N
[...]
Remove test database and access to it [Y/n] Y
[...]
Reload privilege tables now? [Y/n] Y
All done!

7、配置集群中部署的每个服务创建数据库
给 mysql 增加必要的用户,用于其他组件 将 mysql 作为源数据库。

给每个数据库设置密码:123456,并使用utf8字符集

以root用户登录MySQL
mysql -u root -p建立数据库脚本
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY '123456';
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
GRANT ALL ON hive .* TO 'hive '@'%' IDENTIFIED BY '123456';

8、安装MySQL JDBC驱动程序

下载:mysql-connector-java-8.0.18.tar

将mysql-connector-java-8.0.18.tar解压到

tar zxvf mysql-connector-java-5.1.46.tar.gz

将JDBC驱动复制到**/usr/share/java/**目录下,没有该目录,需先新建

sudo mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
sudo cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

这一步遇到的问题:

官网推荐版本为:mysql-connector-java-5.1.46.tar.gz
我第一次安装了mysql-connector-java-5.1.46版本,导致在执行初始化数据库并启动数据库命令时,报一下错误:

[root@master01 ~]# /usr/share/cmf/schema/scm_prepare_database.sh -h xxx.xxx.xxx.xxx mysql cm cm root123
JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_171-amd64/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Unable to find JDBC driver for database type: MySQL
[                          main] DbCommandExecutor              ERROR JDBC Driver com.mysql.jdbc.Driver not found.
[                          main] DbCommandExecutor              ERROR Exiting with exit code 3
--> Error 3, giving up (use --force if you wish to ignore the error)

解决方案一:
        对mysql-connector-java.jar文件赋予777权限,–无效。

解决方案二:
        将mysql-connector-java-5.1.46源文件复制到mysql-connector-java.jar同目录下(/usr/share/java/)并赋予777权限。 --无效.。

解决方案三:
        在jdk配置文件中增加mysql-connector-java.jar所在路径。–无效。
解决方案四:导入与MySQL版本对应的JDBC驱动包。
MySQL官网给的对应关系,具体参考官网文档说明。

我安装的MySQL版本为:

根据上方的对应表,mysql-connector-java-5.1.46应该支持MySQL 5.6版本,理应没有问题。但是实际中还是报错。
于是我就换成mysql-connector-java-8.0.18版本,解决问题。

CDH官网给的说明是:
MySQL 5.6需要5.1驱动程序版本5.1.26或更高版本。但实际中,5.1.26版本不可行,所以建议直接用最新版本。

初始化数据库,启动服务

初始化数据库

sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm或sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h db01.example.com --scm-host cm01.example.com scm scm

启动服务

启动服务:
sudo systemctl start cloudera-scm-server重置启动失败的服务
systemctl reset-failed cloudera-scm-server.service查看服务启动日志:
sudo tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

1、启动完成,访问服务,ip为主节点ip,http://192.168.2.2:7180/

2、登录到Cloudera Manager管理控制台,默认用户名和密码为admin
        首先是接受协议和选择版本页面

        完成上面步骤之后,进入到安装向导界面。

CDH集群搭建(CDH 6.0.1)相关推荐

  1. cdh集群搭建(6.3)

    如果你的虚拟机给的内存少于14G,不用往下看了,机器压力非常大,建议先装内存条. 我们做大数据的,机器就是要大硬盘,大内存,高核cpu,其他无所谓,如果要做机器学习,那你显卡还得很好. cdh的好处, ...

  2. RocketMQ集群搭建-4.2.0版本

    首发于我的博客: www.liutf.com/ 首发链接:www.liutf.com/posts/14196- 背景 由于公司内部用的RocketMQ消息中间件是个单点实例,随着业务发展,越来越多的应 ...

  3. Redis集群搭建失败 connected_slaves:0

    问题 在Linux中搭建Redis主从复制集群搭建时,显示连接不上 connected_slaves:0 解决方案: 1.查看配置文件(redis.conf)中主从关系配置是否正确 slaveof 1 ...

  4. redis主从搭建和分片集群搭建

    文章目录 redis主从搭建 搭建一主一从: 下载安装redis:两台机器都需要操作 权限认证 理解主从复制原理.同步数据集 全量同步三个阶段: 增量同步: 心跳检测 redis哨兵模式 部署方案 搭 ...

  5. Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用

    ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...

  6. 大数据测试平台搭建记录(CDH集群)

    大数据测试平台搭建记录(CDH集群) 服务器ip密码 关闭防火墙以centos7为例: systemctl stop firewalld.service systemctl disable firew ...

  7. CDH大数据平台搭建之KAFKA集群搭建

    CDH大数据平台搭建之KAFKA集群搭建 一.安装规划 二.下载KAFKA 三.安装及配置 1.先安装zookeeper 2.解压 3.新建文件夹 4.修改config目录server.propert ...

  8. 3.环境搭建-Hadoop(CDH)集群搭建

    目录 目录 实验环境 安装 Hadoop 配置文件 在另外两台虚拟机上搭建hadoop 启动hdfs集群 启动yarn集群 本文主要是在上节CentOS集群基础上搭建Hadoop集群. 实验环境 Ha ...

  9. 阿里云搭建CDH集群配置邮箱告警

    阿里云搭建CDH集群配置邮箱告警 1.阿里云默认禁止25端口号.申请阿里云开通 2.配置邮箱服务 3.cdh页面配置告警 申请开通25端口号 申请一个邮箱 开通服务smtp服务 记住授权码 cdh配置 ...

最新文章

  1. Docker概述和安装部署
  2. 内存中原码,反码,补码,查看数值范围,,或,异或,取反,左右移位操作
  3. TIMING_03 时序分析原理
  4. MySQL8.0: Serialized Dictionary Information(SDI) 浅析
  5. 千兆光纤收发器调整措施
  6. python—装饰器
  7. Manjaro下安装VirtualBox
  8. Java并发线程之线程池
  9. 算法笔记_172:历届试题 波动数列(Java)
  10. php字符串替换多余逗号_PHP字符过滤函数去除字符串最后一个逗号(rtrim)_php技巧...
  11. 如何鉴别项目经理/软件设计师的水平
  12. PS中新建文件的一些常用预设信息
  13. 计算机网络技术——VLAN划分
  14. Android 暗黑模式适配
  15. Pandas数据分析——Task2
  16. 记一次挖矿病毒应急处置全过程挖矿处置基本操作
  17. Fiddler 抓包HTTPS包,抓手机包
  18. AES-GCM模式代码演示
  19. AI 助力垃圾分类(百度云API接口+摄像头实现)
  20. linux文件增量备份,linux 文件增量备份 用tar实现

热门文章

  1. 7.3 数字化的资产管理
  2. Android 最简单的自定义证件照Mask之一
  3. javascript-鄙人常用的功能函数
  4. 审视AI界的“SOTA成瘾”丨AI学者万字论述
  5. ClickME 隐私策略
  6. openEuler-risc-v学习笔记
  7. Q2净利润同比下降1%,甲骨文转型之路错搭“老爷车”?
  8. 对垒以太网10BASE-T1S,CAN XL能后来居上么?
  9. C++设计模式8--装饰模式 Decorator --动态的增减功能
  10. Conflux CTO 伍鸣博士出席 2019 CAN 大会