CDH集群搭建(CDH 6.0.1)
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-server中export 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)相关推荐
- cdh集群搭建(6.3)
如果你的虚拟机给的内存少于14G,不用往下看了,机器压力非常大,建议先装内存条. 我们做大数据的,机器就是要大硬盘,大内存,高核cpu,其他无所谓,如果要做机器学习,那你显卡还得很好. cdh的好处, ...
- RocketMQ集群搭建-4.2.0版本
首发于我的博客: www.liutf.com/ 首发链接:www.liutf.com/posts/14196- 背景 由于公司内部用的RocketMQ消息中间件是个单点实例,随着业务发展,越来越多的应 ...
- Redis集群搭建失败 connected_slaves:0
问题 在Linux中搭建Redis主从复制集群搭建时,显示连接不上 connected_slaves:0 解决方案: 1.查看配置文件(redis.conf)中主从关系配置是否正确 slaveof 1 ...
- redis主从搭建和分片集群搭建
文章目录 redis主从搭建 搭建一主一从: 下载安装redis:两台机器都需要操作 权限认证 理解主从复制原理.同步数据集 全量同步三个阶段: 增量同步: 心跳检测 redis哨兵模式 部署方案 搭 ...
- Hadoop详解(五)——ZooKeeper详解,ZooKeeper伪分布搭建和集群搭建,Hadoop集群搭建,sqoop工具的使用
ZooKeeper简介 什么是ZooKeeper? ZooKeeper是Google的Chubby一个开源的实现,是Hadoop分布式协调服务. 它包含了一个简单的原语集,分布式应用程序可以基于它实现 ...
- 大数据测试平台搭建记录(CDH集群)
大数据测试平台搭建记录(CDH集群) 服务器ip密码 关闭防火墙以centos7为例: systemctl stop firewalld.service systemctl disable firew ...
- CDH大数据平台搭建之KAFKA集群搭建
CDH大数据平台搭建之KAFKA集群搭建 一.安装规划 二.下载KAFKA 三.安装及配置 1.先安装zookeeper 2.解压 3.新建文件夹 4.修改config目录server.propert ...
- 3.环境搭建-Hadoop(CDH)集群搭建
目录 目录 实验环境 安装 Hadoop 配置文件 在另外两台虚拟机上搭建hadoop 启动hdfs集群 启动yarn集群 本文主要是在上节CentOS集群基础上搭建Hadoop集群. 实验环境 Ha ...
- 阿里云搭建CDH集群配置邮箱告警
阿里云搭建CDH集群配置邮箱告警 1.阿里云默认禁止25端口号.申请阿里云开通 2.配置邮箱服务 3.cdh页面配置告警 申请开通25端口号 申请一个邮箱 开通服务smtp服务 记住授权码 cdh配置 ...
最新文章
- Docker概述和安装部署
- 内存中原码,反码,补码,查看数值范围,,或,异或,取反,左右移位操作
- TIMING_03 时序分析原理
- MySQL8.0: Serialized Dictionary Information(SDI) 浅析
- 千兆光纤收发器调整措施
- python—装饰器
- Manjaro下安装VirtualBox
- Java并发线程之线程池
- 算法笔记_172:历届试题 波动数列(Java)
- php字符串替换多余逗号_PHP字符过滤函数去除字符串最后一个逗号(rtrim)_php技巧...
- 如何鉴别项目经理/软件设计师的水平
- PS中新建文件的一些常用预设信息
- 计算机网络技术——VLAN划分
- Android 暗黑模式适配
- Pandas数据分析——Task2
- 记一次挖矿病毒应急处置全过程挖矿处置基本操作
- Fiddler 抓包HTTPS包,抓手机包
- AES-GCM模式代码演示
- AI 助力垃圾分类(百度云API接口+摄像头实现)
- linux文件增量备份,linux 文件增量备份 用tar实现
热门文章
- 7.3 数字化的资产管理
- Android 最简单的自定义证件照Mask之一
- javascript-鄙人常用的功能函数
- 审视AI界的“SOTA成瘾”丨AI学者万字论述
- ClickME 隐私策略
- openEuler-risc-v学习笔记
- Q2净利润同比下降1%,甲骨文转型之路错搭“老爷车”?
- 对垒以太网10BASE-T1S,CAN XL能后来居上么?
- C++设计模式8--装饰模式 Decorator --动态的增减功能
- Conflux CTO 伍鸣博士出席 2019 CAN 大会