超详细!搭建本地大数据研发环境(16G内存+CDH)(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 超详细!搭建本地大数据研发环境(16G内存+CDH)(二)

三、使用CDH搭建Hadoop集群环境


CDH(Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。

我们使用CDH6.3.2的版本进行安装。

CDH分为Cloudera Manager管理平台和CDH parcel(parcel包含各种组件的安装包),需要先安装CM,再安装parcel。

CM 6.3.1,CDH 6.3.2 (6.3.3版本及以上的要收费了)

组件版本支持情况

https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_63_packaging.html#cdh_630_packaging

准备工作

1、修改文件打开限制

vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* soft nproc 131072

2、关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

3、修改主机名及hosts

依次修改主机名
vi /etc/hostname
修改hosts文件
vi /etc/hosts
192.168.137.101 node01
192.168.137.102 node02
192.168.137.103 node03
生效
source /etc/hosts

4、免密设置

node01 设置

ssh-keygen -t rsa
一路回车
ssh-copy-id node02
ssh-copy-id node03
输入密码

5、安装jdk

scp jdk-8u221-linux-x64.rpm node02:/opt/
scp jdk-8u221-linux-x64.rpm node03:/opt/
rpm -ivh jdk-8u221-linux-x64.rpm
java -version
vim /etc/profile
# 末尾追加以下内容
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
echo $JAVA_HOME

6、关闭selinux

//临时生效selinux设置
setenforce 0
//修改配置文件
vi /etc/selinux/config
把SELINUX=enforcing修改为SELINUX=disabled

7、安装ntp服务

// 安装 ntp 服务
yum install -y ntp
// 开启并设置开机自启ntp服务
systemctl start ntpd
systemctl enable ntpd
// 查看ntp服务状态
systemctl status ntpd

8、node01安装Mysql

移除mariadb  
yum remove mariadb-libs.x86_64
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall ./mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
service mysqld start 
# 查看临时密码
grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -uroot -p
# 输入刚才的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Bigdataflowing@123';
# 新建scm用户
CREATE USER 'scm'@'%' IDENTIFIED BY 'Bigdataflowing@123';
grant all privileges on *.* to 'scm'@'%' with grant option;
flush privileges;

新建CDH所需的数据库:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE reports DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
create user 'root'@'localhost' identified by  'Bigdataflowing@123';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;

9、各节点准备mysql8的驱动

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar -zxf mysql-connector-java-5.1.46.tar.gz
mkdir /usr/share/java/
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

安装CDH

1、配置本地yum源

node01 安装httpd createrepo并设置开机自启动:
yum -y install httpd createrepo
systemctl start httpd
systemctl enable httpd
将包放在目录下
mkdir -p /var/www/html/cloudera-repos/cm6
将文件传入此目录下
createrepo .
配置本地yum源
备份  cp -r /etc/yum.repos.d  /etc/yum.repos.d.bak
cd /etc/yum.repos.d/
vim cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://node01/cloudera-repos/cm6
gpgcheck=0
enabled=1
yum clean all && yum makecache

验证成功,浏览器访问 http://192.168.127.101/cloudera-repos/cm6/

image.png

分发包
scp -r cloudera-manager.repo root@node02:$PWD
scp -r cloudera-manager.repo root@node03:$PWD
其他节点
yum clean all && yum makecache

node01安装cloudera manager server

yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
安装完CM后/opt/ 下会出现cloudera目录,上传cdh parcel 文件到/opt/cloudera/parcel-repo/
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*

初始化数据库

cd /opt/cloudera/cm/schema/   
./scm_prepare_database.sh -h localhost -P 3306 mysql scm scm Bigdataflowing@123
成功消息
[main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

3、node02 node03安装agent

yum install -y cloudera-manager-daemons cloudera-manager-agent
配置Agent文件:vim /etc/cloudera-scm-agent/config.ini
将 server_host=localhost
更改为: server_host=node01

启动

server 和agent 一起启动,报错看log /var/log/cloudera-scm-server

node01

systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server

node02 node03

systemctl start cloudera-scm-agent & systemctl enable cloudera-scm-agent

访问网址 http://192.168.137.101:7180/cmf/login成功!

账号密码 admin/admin

image.png

那么CDH管理工具已经安装完成,下面我们使用CDH安装Hadoop集群环境。


四、安装部署HADOOP大数据集群


开始安装image.png

同意条款

image.png

选择安装版本,可以选择试用或者免费版

image.png

开始安装,输入集群名称

image.png

选择主机

image.png

这里有坑,直接选择后边没法改存储库

这里可以点上方按钮进入主页,先删除主机,再加回来image.png

image.png

按下面设置好,大部分已经默认

image.png

JDK已经安装 不用选image.png

机器账号密码

image.png

这里会做一些检测,基本是一些警告,选择 i understand 继续。

image.png

下面进入到组件的安装,由于内存有限,我们选择自定义服务,先只安装hdfs和hive,zookeeper,其他的组件后续也可以增加。

image.png

要设置节点的分配,尽量平均就可以。image.png

这里全部连node01的mysql库

image.png

一些hdfs设置,可以默认image.png

等待安装中。。

image.png

安装基本完成。

image.png

安装完成!可以愉快的玩耍了。

image.png


踩坑大全


1、客户机操作系统已禁用 CPU,请关闭或重置虚拟机。

大部分是Vmvare版本及镜像问题,使用Vmvare16.1.2版本

2、mysql版本:'for the right syntax to use near 'identified by 'password' with grant option'

问题分析:mysql版本8.0.13,在给新用户授权时,发生了变化:

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'password' with grant option' at line 5, Time: 0.000000s

出错的语句:

grant all privileges on . to 'root'@'172.16.10.203' identified by 'password' with grant option

修正后的语句:分开三次执行

创建账户

create user 'root'@'172.16.10.203' identified by 'password'

赋予权限,with grant option这个选项表示该用户可以将自己拥有的权限授权给别人

grant all privileges on . to 'root'@'172.16.10.203' with grant option

改密码&授权超用户,flush privileges 命令本质上的作用是将当前user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里

flush privileges;

3、missing requires of libmysqlclient.so.18()(64bit)

错误提示安装依赖的库文件没有找到:libmysqlclient.so.18()(64bit)

解决: 缺少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm这个包

wget http://www.percona.com/redir/downloads/Percona-XtraDB-Cluster/5.5.37-25.10/RPM/rhel6/x86_64/Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm

4、cm启动后无法访问

centos7会开启ipv6,需要禁用掉

vi /etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

grub2-mkconfig -o /boot/grub2/grub.cfg

5、Parcel hash file missing: CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha

缺少CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha文件,添加到指定目录

6、Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was

14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

yum源有问题,修改 /etc/yum.repos.d下yum配置文件

7、无法安装 cloudera-manager-agent 包

查看log看具体报错信息

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
3月前
|
数据采集 搜索推荐 Java
Java 大视界 -- Java 大数据在智能教育虚拟学习环境构建与用户体验优化中的应用(221)
本文探讨 Java 大数据在智能教育虚拟学习环境中的应用,涵盖多源数据采集、个性化推荐、实时互动优化等核心技术,结合实际案例分析其在提升学习体验与教学质量中的成效,并展望未来发展方向与技术挑战。
|
3月前
|
传感器 分布式计算 大数据
“用大数据盯着天看地”——聊聊环境监测的精准化升级
“用大数据盯着天看地”——聊聊环境监测的精准化升级
104 0
|
4月前
|
传感器 机器学习/深度学习 算法
Java 大视界 -- Java 大数据在智能农业温室环境调控与作物生长模型构建中的应用(189)
本文探讨了Java大数据在智能农业温室环境调控与作物生长模型构建中的关键应用。通过高效采集、传输与处理温室环境数据,结合机器学习算法,实现温度、湿度、光照等参数的智能调控,提升作物产量与品质。同时,融合多源数据构建精准作物生长模型,助力农业智能化、精细化发展,推动农业现代化进程。
|
6月前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
1172 23
|
6月前
|
Arthas 监控 Java
Arthas mc(Memory Compiler/内存编译器 )
Arthas mc(Memory Compiler/内存编译器 )
186 6
|
SQL 机器学习/深度学习 分布式计算
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
大数据-81 Spark 安装配置环境 集群环境配置 超详细 三台云服务器
627 1
|
8月前
|
机器学习/深度学习 存储 PyTorch
PyTorch内存优化的10种策略总结:在有限资源环境下高效训练模型
在大规模深度学习模型训练中,GPU内存容量常成为瓶颈,特别是在训练大型语言模型和视觉Transformer时。本文系统介绍了多种内存优化策略,包括混合精度训练、低精度训练(如BF16)、梯度检查点、梯度累积、张量分片与分布式训练、
342 14
PyTorch内存优化的10种策略总结:在有限资源环境下高效训练模型
|
7月前
|
弹性计算 固态存储 ice
阿里云服务器ECS内存型2核16G、4核32G和8核64G配置实例、费用和性能参数表
本文整理了2025年阿里云服务器租赁价格表,涵盖2核16G、4核32G和8核64G配置收费标准。CPU内存比为1:8,提供多种实例规格如ECS内存型r8i、通用算力型u1等。价格由CPU内存、公网带宽及系统盘组成,支持优惠折扣(年付6.7折起)。文中详细列出各配置参考价格、公网带宽与系统盘收费,并对比不同实例规格性能,如Intel Xeon和AMD EPYC处理器系列,帮助用户选择高性价比方案。具体价格以阿里云官网为准。
1027 4
|
12月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
787 4
|
存储 大数据 数据处理
大数据环境下的性能优化策略
大数据环境下的性能优化策略
432 2