CDH安装与配置及相关大数据组件实践

CDH安装与配置及相关大数据组件实践

一、CDH 介绍

CDH(Cloudera’s Distribution Including Apache Hadoop)是一个基于 Web 用户界面的大数据平台版本。它支持大多数 Hadoop 组件,包括 HDFS、MapReduce、Hive、Pig、HBase、Zookeeper、Sqoop 等。其优点是大大简化了大数据平台的安装过程,使用起来也较为简单。

二、Cloudera Manager 的功能

  1. 管理
    可以对集群进行管理操作,例如添加、删除节点等。
  2. 监控
    全面监控集群的健康情况,包括各种设置的指标和系统运行状况。
  3. 诊断
    当集群出现问题时,能够对问题进行诊断,并给出相应的建议解决方案。
  4. 集成
    将多个组件进行整合。

三、国内大数据开发环境平台方案对比

  1. 手动安装各个软件(如学习时的方式,hadoop 开源免费)
    • 问题:安装过程繁琐,存在版本差异问题,并且缺少集群软、硬件监控功能。
  2. 使用 CDH、HDP、星环等大数据平台
    • 优势:能够快速搭建软件环境。
    • 劣势:收费。
  3. 使用阿里云(dataworks / e - mapreduce)、华为云、腾讯云、亚马逊云等云平台

四、CDH 安装步骤

(一)安装依赖包

yum install -y cyrus - sasl - plain cyrus - sasl - gssapi portmap fuse - libs bind - utils libxslt fuse
yum install -y /lib/lsb/init - functions createrepo deltarpm python - deltarpm
yum install -y mod_ssl openssl - devel python - psycopg2 MySQL - python

(二)安装 httpd(仅在部署本地 yum 源的机器上安装)

yum install httpd
yum install createrepo

(三)修改主机名,配置 hosts

  1. 修改主机名
hostnamectl set - hostname hadoop01
  1. 配置 hosts 文件
vi /etc/hosts
172.16.35.101 hadoop01

(四)关闭防火墙和配置免密登录

  1. 关闭防火墙
    • 查看防火墙状态
systemctl status firewalld.service
- 执行关闭命令
systemctl stop firewalld.service
- 再次查看防火墙状态
systemctl status firewalld.service
- 执行开机禁用防火墙自启命令
systemctl disable firewalld.service
  1. 配置免密登录
ssh - keygen
ssh - copy - id hadoop01

(五)关闭 selinux(在配置文件中第一次设置时需重启服务器)

setenforce 0
vim /etc/selinux/config
将 SELINUX=enforcing 改为 SELINUX=disabled

(六)安装 httpd 服务、启动 httpd 服务

systemctl start httpd.service
cd /var/www/html/
mkdir - p cm6/6.2.1/redhat7/yum/RPMS/x86_64/
#上传 cm6 中的文件到/var/www/html/cm6/6.2.1/redhat7/yum/RPMS/x86_64 目录
#上传 allkeys.asc 文件到/var/www/html/cm6/6.2.1/目录下cd /var/www/html/
mkdir - p cdh6/6.2.1/parcels/
#上传 cdh6 中的文件到此目录 /var/www/html/cdh6/6.2.1/parcels/#在 windows 系统访问测试:http://hadoop01/cm6/6.2.1/redhat7/yum/RPMS/x86_64/#配置 windows 系统的本地 hosts
C:\Windows\System32\drivers\etc#CDH 伪分布式
172.16.35.101  hadoop01

(七)生成 repodata 目录

cd /var/www/html/cm6/6.2.1/redhat7/yum
createrepo.

(八)配置本地 yum 源

cd /etc/yum.repos.d/
vi cloudera - manager.repo
[cloudera - manager]
name=Cloudera Manager
baseurl=http://hadoop01/cm6/6.2.1/redhat7/yum/
gpgcheck=0
enabled=1yum clean all
yum list | grep cloudera

(九)创建 cloudera - scm 用户

#创建一个用户名,用户名是 cloudera - scm
useradd cloudera - scm
#给 cloudera - scm 用户添加一个密码
passwd cloudera - scm
#输入的密码
test123456#免密钥登录
echo "cloudera - scm ALL=(root)NOPASSWD:ALL" >> /etc/sudoers
su - cloudera - scm
exit

(十)安装 mysql 服务(略)

(十一)创建数据库,作为 CDH 的元数据库

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

create database scm DEFAULT CHARACTER SET utf8;
grant all PRIVILEGES on *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
grant all PRIVILEGES on *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;
grant all PRIVILEGES on *.* TO 'root'@'hadoop01' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges;

(十二)安装 Server 服务

yum install -y oracle - j2sdk1.8 - 1.8.0+update181 - 1.x86_64
yum install -y enterprise - debuginfo - 6.2.1 - 1426065.el7.x86_64
yum install -y cloudera - manager - server - 6.2.1 - 1426065.el7.x86_64
yum install -y cloudera - manager - server - db - 2 - 6.2.1 - 1426065.el7.x86_64

注意事项:如果在 yum 源中添加了新的包:

  1. 需要删除之前的 repodata 文件后,重新生成。
  2. 重启 httpd 服务。
  3. 清除 yum 缓存 yum clean all
    如果是集群,3 个节点都要执行:yum install -y oracle - j2sdk1.8 - 1.8.0+update181 - 1.x86_64
    配置 JDK 的环境变量:
# yum install -y oracle - j2sdk1.8 - 1.8.0+update181 - 1.x86_64 
# 上述命令可以安装 JDK
修改/etc/profile 增加下面的内容
JAVA_HOME=/usr/java/jdk1.8.0_181 - cloudera/
PATH=$PATH:$JAVA_HOME/bin

(十三)设置元数据库为 mysql

需要上传 mysql 驱动包(mysql - connector - java - 8.0.26.jar)jar 到/opt/cloudera/cm/lib 目录下。
设置元数据库为 mysql(前提是安装 ClouderaManager Server 服务)

/opt/cloudera/cm/schema/scm_prepare_database.sh - h localhost mysql scm root 123456
查看:cat /etc/cloudera - scm - server/db.properties

(十四)启动 server 服务进程(查看 7180 端口)

systemctl start cloudera - scm - server
查看启动日志:
tail - f /var/log/cloudera - scm - server/cloudera - scm - server.log
查看启动状态:
systemctl status cloudera - scm - server
查看端口
yum install net - tools
netstat - an | grep 7180

(十五)配置本地 parcel 包

注意:必须要在数据库初始化后,将 parcel 文件放置到/opt/cloudera/parcel - repo 目录中。

上传 cdh6 的 parcel 等文件到/opt/cloudera/parcel - repo
mv /var/www/html/cdh6/6.2.1/parcels/* /opt/cloudera/parcel - repo 
重命名密钥文件名
cd /opt/cloudera/parcel - repo/
mv CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774 - el7.parcel.sha1 CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774 - el7.parcel.sha

(十六)开始安装

访问 Server:http://hadoop01:7180/cmf/login,账号密码均为 admin

(十七)swappiness 和透明化

  1. 临时生效
sysctl - w vm.swappiness=10
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
  1. 永久生效
echo "vm.swappiness=10" >> /etc/sysctl.conf
echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >> /etc/rc.local
echo "echo never > /sys/kernel/mm/transparent_hugepage/enabled" >> /etc/rc.local

五、CM 的图形化安装

(一)登录后首先要做的工作

设置 Parcel 更新频率为 1 分钟。登录后,在新的页面中点击小包裹,再点击配置,将更新频率设置为一分钟。

(二)进行新建集群的操作

在跳转的欢迎界面,点击继续,接收协议,选择免费社区版。指定软件包的位置:http://hadoop01/cm6/6.2.1http://hadoop01/cdh6/6.2.1/parcels/。如果中途出现问题(如安装一半内存不足报错)再次安装时,需要删除安装锁:

rm - rf /tmp/scm_prepare_node.*
rm - rf /tmp/.scm_prepare_node.lock

等待安装后,选择要安装的套餐。

(三)新服务的安装

  1. zookeeper 的安装
    在服务的选择页面中选择 zookeeper,然后在安装页面中直接点击【继续】按钮。安装好之后,如果要在服务器中测试 zookeeper 的运行情况,可以通过以下方式访问 zk 的客户端:
[root@hadoop01 ~]# find / - name zkCli.sh
find: ‘/proc/87190’: 没有那个文件或目录
/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/lib/zookeeper/bin/zkCli.sh
[root@hadoop01 ~]# /opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/lib/zookeeper/bin/zkCli.sh
  1. HDFS
    • 将 HDFS 配置项 dfs.permissions 改为 false,否则会因权限问题不能在 hdfs 中创建目录和文件。将 dfs.replication 设置为 1(因为安装的伪分布式,所以副本个数设置为 1)。
    • 关闭 safemode 模型:
[root@hadoop01 ~]# hdfs dfsadmin - safemode get
Safe mode is OFF
[root@hadoop01 ~]# hdfs dfsadmin - safemode leave
Safe mode is OFF
- 测试 HDFS:
hdfs dfs - mkdir /test
  1. yarn 的安装
    与 zk 一样,选择 yarn 安装,然后点击【继续】。yarn 安装之后需要设置参数:
yarn.nodemanager.resource.memory - mb = 4G
yarn.scheduler.maximum - allocation - mb = 2G

测验 yarn 的安装情况:
- 通过官方例子来处理,先查找 hdfs - site.xml 文件位置:

find / - name hdfs - site.xml
#大致的位置:
/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/etc/hadoop/conf.pseudo/hdfs - site.xml
/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/etc/hadoop/conf.impala/hdfs - site.xml
/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/etc/hadoop/conf.empty/hdfs - site.xml
- 取上述目录中的主目录:
cd /opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/
- 官方例子在以下目录:
/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774/jars  hadoop - mapreduce - examples - 3.0.0 - cdh6.2.1.jar
- 测试步骤:

创建测试文件:

vim testinput.txt
I love BeiJing
I love China
Beijing is the capital of China

创建 HDFS 目录并上传文件:

hadoop fs - ls /
hadoop fs - mkdir  /input
hadoop fs - put testinput.txt /input

运行 wordcount:

yarn jar /opt/cloudera/parcels/CDH/jars/hadoop - mapreduce - examples - 3.0.0 - cdh6.2.1.jar wordcount /input /output
hadoop fs - ls /output  //完成后查看输出目录
hadoop fs - cat /output/part - r - 00000   //查看输出结果
  1. hive 的安装
    • 创建数据库
mysql - uroot - p
create database hive;
- 需要上传 mysql 驱动包 jar 到/opt/cloudera/cm/lib 目录下(之前已传过则不用传),并复制到 hive 相关目录:
cp /opt/cloudera/cm/lib/mysql - connector - java - 8.0.26.jar /opt/cloudera/parcels/CDH/lib/hive/lib/

如果忘记导入,导入驱动包之后,点击 Resume 重新安装。如果出现错误:Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set,则需要变更 hive 的配置:

cd /etc/hive/conf
vim hadoop - env.sh
# 添加以下内容:
export HADOOP_HOME=/opt/cloudera/parcels/CDH - 6.2.1 - 1.cdh6.2.1.p0.1425774
source hadoop - env.sh

可以使用 Datagrip 或者 Dbeaver 连接 hive。
5. sqoop
- 创建数据库和表

mysql - uroot - p
create database test1;
create table t_user
(id bigint auto_increment,name varchar(127) not null,age bigint null,class varchar(255) null,primary key (id)
);

创建测试文件:

vim text.txt
leo|12|class1
leo1|13|class2
leo2|14|class3
leo3|15|class4
leo4|16|class5
leo5|17|class6

复制 mysql 驱动包到 sqoop 相关目录:

cp /opt/cloudera/cm/lib/mysql - connector - java - 5.1.40.jar /opt/cloudera/parcels/CDH/lib/sqoop/lib/

执行数据导出操作:

sqoop export \
--connect jdbc:mysql://hadoop01:3306/test1 \
--username root \
--password 123456 \
--table t_user \
--columns 'name,age,class' \
--export - dir /data \
--input - fields - terminated - by '|' \
--num - mappers 1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/886266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《网络硬件设备完全技术宝典》

《网络硬件设备完全技术宝典》 网卡 集线器 交换机 路由器 双绞线 光缆 无线接入点AP 交换机技术与选择策略 冗余链路技术 由于物理链路和网络模块的损坏都将导致网络链路的失败,因此两个设备之间,特别是核心交换机与汇聚交换机之间的单链路…

Win10下使用Anaconda安装GPU版本PyTorch

PyTorch是一个开源机器学习框架,最初来自Meta Ai。如果你想研究人工智能或从事人工智能项目方面的工作,那么在本地机器上使用PyTorch设置开发环境对于许多项目来说都是必不可少的。GPU(图形处理单元)是一种专用处理器,…

灰狼优化算法

灰狼优化算法(Grey Wolf Optimizer,GWO)是一种群智能优化算法,由澳大利亚格里菲斯大学学者Mirjalili等人于2014年提出。该算法灵感来源于灰狼群体的捕食行为,通过模拟灰狼的社会等级分层、跟踪、包围和攻击猎物等步骤来…

Chromium 中sqlite数据库操作演示c++

本文主要演示sqlite数据库 增删改查创建数据库以及数据库表的基本操作,仅供学习参考。 一、sqlite数据库操作类封装: sql\database.h sql\database.cc // Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-sty…

Docker部署Kafka集群,增加 SASL_SSL认证,并集成到Spring Boot,无Zookeeper版

1,准备好Kafka 镜像包: bitnami/kafka:3.9.0 镜像资源包 2,准备好kafka.keystore.jks 和 kafka.truststore.jks证书 具体操作可参考: Docker部署Kafka SASL_SSL认证,并集成到Spring Boot-CSDN博客 3,配置…

apipost下载安装教程、脚本详细使用教程

目录 apipost脚本使用教程 缘由: 实现流程: 1、设置接口需要的URL: 2、boby: 3、预执行操作: 4、断言 5、执行结果: 什么是ApiPost? 下载以及安装: apipost使用文档介绍:…

Python Web 应用开发基础知识

Python Web 应用开发基础知识 引言 随着互联网的快速发展,Web 应用程序的需求日益增加。Python 作为一种简单易学且功能强大的编程语言,已经成为 Web 开发中广受欢迎的选择之一。本文将深入探讨 Python Web 开发的基础知识,包括常用框架、基…

SpringBoot多环境+docker集成企业微信会话存档sdk

SpringBoot多环境docker集成企业微信会话存档sdk 文章来自于 https://developer.work.weixin.qq.com/community/article/detail?content_id16529801754907176021 SpringBoot多环境docker集成企业微信会话存档sdk 对于现在基本流行的springboot环境,官方文档真是比…

在openi平台 基于华为顶级深度计算平台 openmind 动手实践

大家可能一直疑问,到底大模型在哪里有用。 本人从事的大模型有几个方向的业务。 基于生成式语言模型的海事航行警告结构化解析。 基于生成式语言模型的航空航行警告结构化解析。 基于生成式生物序列(蛋白质、有机物、rna、dna、mrna)的多模态…

【论文分享】基于街景图像识别和深度学习的针对不同移动能力老年人的街道步行可达性研究——以南京成贤街社区为例

全球老龄化趋势加剧, 许多城市中老年人数量不断增加,而现有街道和社区基础设施往往未能满足其步行安全和便利需求。本次我们给大家带来一篇SCI论文的全文翻译,该论文通过探讨不同步行能力的老年人对城市步行环境的需求,提供了关于如何改善城市…

Android Osmdroid + 天地图 (二)

Osmdroid 天地图 (二) 前言正文一、定位监听二、改变地图中心三、添加Marker四、地图点击五、其他配置① 缩放控件② Marker更换图标③ 添加比例尺④ 添加指南针⑤ 添加经纬度网格线⑥ 启用旋转手势⑦ 添加小地图 六、源码 前言 上一篇中我们显示了地图…

CSS基础知识04

文本溢出通常是指在限定的空间内不能容纳所输入的文字,导致文字超出了容器的边界 一、文本溢出 1.1.css属性处理 所用到的属性 属性属性值overflowvisible:默认值,内容不会被修剪,会呈现在元素框之外。hidden:内容会…

gitlab和jenkins连接

一:jenkins 配置 安装gitlab插件 生成密钥 id_rsa 要上传到jenkins,id_rsa.pub要上传到gitlab cat /root/.ssh/id_rsa 复制查看的内容 可以看到已经成功创建出来了对于gitlab的认证凭据 二:配置gitlab cat /root/.ssh/id_rsa.pub 复制查…

Modbus TCP转Modbus ASCII解决方案

Modbus TCP和Modbus ASCII是两种不同的通信协议。Modbus TCP是一种二进制协议,Modbus ASCII是一种基于文本的协议。二者不能直接转换,因为它们的数据表示方式、消息结构、字符编码等都不相同。 如果你需要将Modbus TCP转换为Modbus ASCII,你…

十三、注解配置SpringMVC

文章目录 1. 创建初始化类,代替web.xml2. 创建SpringConfig配置类,代替spring的配置文件3. 创建WebConfig配置类,代替SpringMVC的配置文件4. 测试功能 1. 创建初始化类,代替web.xml 2. 创建SpringConfig配置类,代替spr…

全新升级!立迈胜STMP57系列防水一体化步进伺服电机:IP65+多圈绝对值编码器+EtherCAT通信+内置刹车

在这个科技日新月异的时代,每一步创新都意味着行业的一次飞跃。 回想当初,我们做防水电机的初衷只是因为客户的应用场景涉水,从而定做了IP65防护等级的一体式电机。 后来发现很多客户也有类似的需求,比如机械加工、户外照明、自…

5G CPE:为什么活动会场与商铺的网络成为最新选择

在快节奏的现代社会中,无论是举办一场盛大的活动还是经营一家繁忙的商铺,稳定的网络连接都是不可或缺的基石。然而,面对复杂的布线难题或高昂的商业宽带费用,许多场所往往陷入两难境地。幸运的是,5G CPE(Cu…

React-redux 实战案例,自定义useSelector

创建一个新的 React 工程,并配置 Redux 和 Ant Design,你可以按以下步骤操作。我将使用 create-react-app 脚手架工具来快速创建一个基于 TypeScript 的 React 项目 1. 创建新项目 使用 create-react-app 创建一个新的 React 项目,带 TypeS…

【C++】list 类深度解析:探索双向链表的奇妙世界

🌟快来参与讨论💬,点赞👍、收藏⭐、分享📤,共创活力社区。 🌟 如果你对string,vector还存在疑惑,欢迎阅读我之前的作品 : 之前文章🔥&#x1…

uniapp如何i18n国际化

1、正常情况下项目在代码生成的时候就已经有i18n的相关依赖,如果没有可以自行使用如下命令下载: npm install vue-i18n --save 2、创建相关文件 en文件下: zh文件下: index文件下: 3、在main.js中注册&#xff1a…