CDH集群离线部署-6.3.1

这篇具有很好参考价值的文章主要介绍了CDH集群离线部署-6.3.1。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 文件下载

CDH 安装使用到的相关文件:链接: https://pan.baidu.com/s/1xDQD1Sa8s47Qiu_EFYdhUA?pwd=5mrt 提取码: 5mrt

CDH集群离线部署-6.3.1

2. 机器基础调整

所有机器都需要执行下面所有的步骤。

2.1. 准备机器

至少三台2核16G机器。

2.1.1. ECS 服务器

如果买的是 ECS 服务器,则需要:

  1. 修改 /etc/cloud/templates/hosts.redhat.tmpl 文件中的 manage_etc_hosts 为 False

    vim /etc/cloud/templates/hosts.redhat.tmpl
    
  2. 删除 /etc/cloud/cloud.cfg 文件中 manage_etc_hosts 这一行配置

    vim /etc/cloud/cloud.cfg
    

2.2. hosts⽂件

101.200.233.33 hadoop01
112.126.56.59 hadoop02
39.96.39.79 hadoop03

这里配置的是外网地址,如果是公司内部机器,配置内网地址即可。

所有节点都要配置,新加入节点之后,也要所有节点信息都配置上。

2.3. 防⽕墙

systemctl stop firewalld
systemctl disable firewalld
iptables -F
systemctl status firewalld

2.4. selinux

vim /etc/selinux/config

SELINUX=enforcing 改为 SELINUX=disabled,修改完成后重启生效。

运行以下命令,不用重启即可生效:

setenforce 0

查看状态

getenforce

CDH集群离线部署-6.3.1

2.5. 时区

查看当前时区设置

timedatectl

设置亚洲上海时区

timedatectl set-timezone Asia/Shanghai

2.6. 时钟同步

所有节点安装 ntp 服务

yum install -y ntp

新版本自带的配置文件已经设置好了很多可用的网络时钟同步服务器,以及网络丢失时,仍然可以使用硬件时间提供给其他节点进行时钟同步。

开启ntpd及查看状态

systemctl enable ntpd
systemctl restart ntpd
systemctl status ntpd

验证时间是否同步

ntpq -p

CDH集群离线部署-6.3.1

如果使用的是云主机,可能会出现以下错误

localhost: timed out, nothing received
Request timed out

可以关闭 ipv6,然后再次验证时间是否同步。关闭 ipv6 步骤如下:

永久关闭ipv6

在 /etc/sysctl.conf 中添加如下参数

vim /etc/sysctl.conf
# 禁用整个系统所有接口的IPv6,可以只简单的设置这一个参数,用来关闭所有接口的 IPv6
net.ipv6.conf.all.disable_ipv6 = 1
# 禁用某一个指定接口的IPv6(例如:eth0, eth1)
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.eth1.disable_ipv6 = 1

2.7. 设置swap空间

临时修改

sysctl vm.swappiness=0
# 查看是否修改成功
cat /proc/sys/vm/swappiness

永久修改

echo 'vm.swappiness=0' >> /etc/sysctl.conf
# 执行以下命令,可以让修改立即生效
sysctl -p

Cloudera建议将交换空间设置为0,过多的交换空间会引起GC耗时的激增。

2.8. 关闭大页面压缩

临时生效

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

永久生效

echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

给该文件赋予执行权限

chmod +x /etc/rc.local

2.9. 最大数限制

最大可打开文件数,进程数,内存占用调整

vim /etc/security/limits.conf
* soft nofile 65535
* hard nofile 1024999
* soft nproc 65535
* hard noroc 65535
* soft memlock unlimited
* hard memlock unlimited

查看是否生效

ulimit -a

CDH集群离线部署-6.3.1
主要要关注的是 open files 等。

2.10. 机器重启

重启机器,使上面的所有调整均生效。

3. 基础组件部署

3.1. JDK

参考文档:https://blog.csdn.net/u012443641/article/details/126147592

3.2. CDH环境变量

vim /etc/profile
# hadoop
export HADOOP_CLASSPATH=`hadoop classpath`
#hadoop 安装目录
export HADOOP_HOME=/opt/cloudera/parcels/CDH/lib/hadoop
export HADOOP_CONF_DIR=/etc/hadoop/conf
export HIVE_HOME=$HADOOP_HOME/../hive
export HADOOP_HDFS_HOME=$HADOOP_HOME/../hadoop-hdfs
export HADOOP_MAPRED_HOME=$HADOOP_HOME/../hadoop-mapreduce
export HADOOP_YARN_HOME=$HADOOP_HOME/../hadoop-yarn
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

3.3. mysql

参考文档:https://blog.csdn.net/u012443641/article/details/126147592

找一个节点安装上 mysql 服务即可。

由于该 CDH 版本已经比较老了,不支持 mysql8,安装 mysql-5.7.x 最新版即可。

4. CDH部署

4.1. mysql建库

创建 CDH 的元数据库和⽤户、amon 服务的数据库及⽤户。

使用 root 用户登录mysql,然后执行以下命令

-- 创建需要的数据库
create database cmf DEFAULT CHARACTER SET utf8;
create database amon DEFAULT CHARACTER SET utf8;
-- 创建用户并允许远程登录
create user 'cmf'@'%' IDENTIFIED WITH mysql_native_password by 'cmf';
create user 'amon'@'%' IDENTIFIED WITH mysql_native_password by 'amon';
-- 授权
grant ALL PRIVILEGES ON cmf.* to 'cmf'@'%';
grant ALL PRIVILEGES ON amon.* to 'amon'@'%';
flush privileges;

4.2. mysql驱动包

在 hadoop01 节点,也就是安装了 mysql 的节点上,放上 mysql java 驱动包。

mkdir -p /usr/share/java/

将 mysql java 驱动包拷贝到上面的目录,重命名文件,去掉版本号

cp mysql-connector-java-5.1.48.jar /usr/share/java/mysql-connector-java.jar

4.3. 离线部署cm服务

4.3.1. 上传rpm包

创建一个保存 rpm 包的目录

mkdir /opt/cloudera-manager

server 节点上传

​ cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm

​ cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

agent 节点上传

​ cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm

​ cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

4.3.2. 安装cm server

选择 hadoop01 为cm server,然后执行以下命令:

yum -y localinstall cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
yum -y localinstall cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

4.3.3. 安装cm agent

所有节点都要安装 agent。

注意:server 节点,上面已经安装过了 daemons,这儿不需要重新安装了。

yum -y localinstall cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
yum -y localinstall cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

4.3.4. agent配置修改

所有节点修改 agent 的配置,指向 server 的节点 hadoopa01。

一定要注意下面的 hadoop01 主机名,要修改为你的 server 节点所在的主机名。

sed -i "s/server_host=localhost/server_host=hadoop01/g" /etc/cloudera-scm-agent/config.ini

节点的主机名,如果第一次运行时没注意到,可以直接进入对应的配置文件进行修改。

4.3.5. 主节点修改server的配置

vim /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=hadoop01
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=cmf
com.cloudera.cmf.db.setupType=EXTERNAL

4.4. 部署离线parcel源

在 hadoop01 节点部署离线 parcel 源。

4.4.1. 安装httpd

yum install -y httpd

4.4.2. 部署离线parcel源

mkdir -p /var/www/html/cdh6_parcel
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /var/www/html/cdh6_parcel
cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 /var/www/html/cdh6_parcel/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
cp manifest.json /var/www/html/cdh6_parcel

移动 sha1 名称⽂件时,需要重命名,去掉最后的1,不然在部署过程中,CM 会认为如上⽂件下载不完整,会重新下载。

4.4.3. 启动httpd

systemctl start httpd

然后通过该链接查看是否可以访问:http://hadoop01/cdh6_parcel。

CDH集群离线部署-6.3.1

4.5. 启动Server

在 hadoop01 节点,也就是安装了 cm server 服务的节点运行以下命令

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

查看日志

cd /var/log/cloudera-scm-server
tail -f cloudera-scm-server.log

CDH集群离线部署-6.3.1

阿⾥云 web 界⾯,需要设置该 hadoop01 节点防⽕墙放开 7180 端⼝。

等待1min,打开 http://hadoop01:7180 页面,账号密码:admin/admin,不着急登录,启动完所有 agent 之后再登录。

如果打不开,去看 server 的 log,根据错误仔细排查错误。

4.6. 启动Agent

所有节点上都要执行:

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

4.7. 页面操作部署组件

http://hadoop01:7180/

账号密码:admin/admin

欢迎使⽤ Cloudera Manager,最终⽤户许可条款与条件,勾选。

CDH集群离线部署-6.3.1

欢迎使⽤ Cloudera Manager,您想要部署哪个版本?选择 Cloudera Express 免费版本。

CDH集群离线部署-6.3.1

在 CM ⾥添加⼀个集群

CDH集群离线部署-6.3.1

修改集群名称

CDH集群离线部署-6.3.1

这个名称会显示在主页面

CDH集群离线部署-6.3.1

添加需要管理的主机

CDH集群离线部署-6.3.1

如果有某些主机没有在这儿显示,则需要去对应主机上查看 agent 服务是否启动成功。

选择存储库

CDH集群离线部署-6.3.1

选择更多选项,我们使用 httpd 来安装

CDH集群离线部署-6.3.1

如果上面图片中配置正确,过一会儿,页面就会变成下面这样

CDH集群离线部署-6.3.1

勾选 CDH-6.3.2-1.cdh6.3.2.p0.1605554,然后继续安装。

安装Parcels

CDH集群离线部署-6.3.1

在这个页面一直等待即可,直到全部成功。

CDH集群离线部署-6.3.1

然后进行网络和hosts检查

CDH集群离线部署-6.3.1

然后通过显示检查器结果,来查看监察出的错误,并进行修复。

CDH集群离线部署-6.3.1

修复上面的错误:

  1. Psycopg2
    Psycopg2 这个错误,是和 pig、hue 等 sql 编写调用相关的,如果集群用到了这些,可以进行修复。注意需要在每台机器上执行。

    1. 安装服务

      yum install postgresql-server
      pip install psycopg2==2.7.5 --ignore-installed
      echo 'LC_ALL="en_US.UTF-8"' >> /etc/locale.conf
      su -l postgres -c "postgresql-setup initdb"
      
    2. 修改配置1

      vim /var/lib/pgsql/data/pg_hba.conf
      

      CDH集群离线部署-6.3.1

    3. 修改配置 2
      小集群(小于1000节点)配置如下,大集群(超过1000节点),参考官网:https://docs.cloudera.com/documentation/enterprise/6/latest/topics/cm_ig_extrnl_pstgrs.html#id_inq_bgy_52b

      vim /var/lib/pgsql/data/postgresql.conf
      
      max_connection = 100
      shared_buffers = 256MB
      wal_buffers = 8MB
      checkpoint_segments = 16
      checkpoint_completion_target = 0.9
      
    4. 重启

      systemctl enable postgresql
      systemctl restart postgresql
      
    5. 创建数据库
      根据需要参考官网创建即可。

选择服务

CDH集群离线部署-6.3.1

根据自己的集群需要选择需要安装的组件服务即可。

自定义角色分配

CDH集群离线部署-6.3.1

按照需要分配即可。

数据库设置

CDH集群离线部署-6.3.1

这儿使用的数据库为 amon。

审核更改

CDH集群离线部署-6.3.1

如果机器有多块磁盘,则需要更改 DataNode 数据目录,配置多个目录,使用英文逗号隔开,其他的按照需要配置即可。

注意配置的目录,需要有足够的磁盘空间。

首次运行

CDH集群离线部署-6.3.1

等待全部启动成功即可,如果有失败项,查看具体日志,然后排错即可。

启动成功

CDH集群离线部署-6.3.1

修复警告等

CDH集群离线部署-6.3.1

点开每一项警告,根据提示进行修改即可。

4.8. 新增节点

以下所有操作在新节点执行即可。

4.8.1. 基础调整

执行前面《机器基础调整》中所有步骤,并且部署 JDK。

4.8.2. 上传rpm包

创建一个保存 rpm 包的目录

mkdir /opt/cloudera-manager

上传
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
​ cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

4.8.3. 安装服务

安装 CDH 的 daemon 和 agent 服务。

yum -y localinstall cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
yum -y localinstall cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

4.8.4. 修改配置

修改 agent 的配置,指向 server 节点 hadoopa01

一定要注意下面的 hadoop01 主机名,要修改为你的 server 节点的主机名,如果第一次运行时没注意到,可以直接进入对应的配置文件进行修改

sed -i "s/server_host=localhost/server_host=hadoop01/g" /etc/cloudera-scm-agent/config.ini

4.8.5. 启动Agent

systemctl stop cloudera-scm-agent
systemctl enable cloudera-scm-agent
systemctl start cloudera-scm-agent
systemctl status cloudera-scm-agent

4.8.6. 验证

去CDH界面观察主机列表

CDH集群离线部署-6.3.1

检测到主机正常运行,需要一些时间,等待即可。

4.8.7. 加入集群

将新增主机加入集群。

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1

CDH集群离线部署-6.3.1
之后就可以在新主机上部署组件服务了。

4.8.8. 新增组件角色

所有机器新增组件角色,全部在 CDH 页面操作,主要新增角色为:

  1. 各种组件网关,已经在上面的新增主机步骤中包含了,可以选择已配置好的模板。主机模板也可以提前配置好。
  2. 主要启动角色:DataNodeNodeManager注意在新增完角色之后,需要切换都具体的角色页面查看组件服务是否正确启动,防止某些服务未启动。
    CDH集群离线部署-6.3.1
4.8.8.1. 特别注意

新增 yarn 角色后,需要新增对应新节点的角色组。

需要修改的配置有:节点分配给容器的内存、CPU,yarn 对节点 cpu 的使用限制。文章来源地址https://www.toymoban.com/news/detail-495104.html

到了这里,关于CDH集群离线部署-6.3.1的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CDH集群离线配置python3环境,并安装pyhive、impyla、pyspark

    背景: 项目需要对数仓千万级数据进行分析、算法建模。因数据安全,数据无法大批量导出,需在集群内进行分析建模,但CDH集群未安装python3 环境,需在无网情况下离线配置python3环境及一系列第三方库。 采取策略,使用外部联网linux环境创建python3虚拟环境,然后整体迁移

    2024年02月11日
    浏览(33)
  • 【分布式文件存储】MinIO部署及实现文件上传下载

    目录 概述 MinIO集群部署 准备docker-compose.yml 测试启动 MinIO用户管理 Buckets管理  创建Buckets MinIO客户端 引入依赖   文件上传下载Demo 调用API碰到的问题 MinIO | 高性能, Kubernetes 原生对象存储 MinIO是全球领先的对象存储先锋,目前在全世界有数百万的用户。 高性能 ,在标准硬件

    2024年02月07日
    浏览(46)
  • minio-docker单节点部署SDK测试文件上传下载

    目录 一,docker部署minio单节点单磁盘 二,SDK测试上传下载 1.拉取镜像 2.查看镜像 3.启动minio(新版本) 创建本机上的挂载目录,这个可以自己指定。 -d --restart=always是容器自启动,建议不要带。 增加这行参数,执行docker stop的时候不管用,他会立马又自己启动起来,只能强制删

    2024年04月28日
    浏览(23)
  • 修改yum下载文件的位置,指定安装位置

    yum update 的软件包,可以放在别的地方。即可。 修改/etc/yum.conf  指定安装位置

    2024年02月10日
    浏览(35)
  • DEV-C++下载、安装、使用教程(文件、项目)

    Hello,大家好,讲了这么多节课的C++课程,是时候来给你们分享DEV-C++怎么下载、安装啦! 目录 一、下载与安装 二、使用 2.1 创建一个源文件 2.2 创建一个项目 三、Debug  单步调试 四、参考 点击这里进入下载地址   1、找到下载的位置-右击.exe文件-以管理员身份运行。 2、如果

    2024年02月06日
    浏览(26)
  • CentOS如何使用Docker部署Plik服务并实现公网访问本地设备上传下载文件

    本文介绍如何使用Linux docker方式快速安装Plik并且结合Cpolar内网穿透工具实现远程访问,实现随时随地在任意设备上传或者下载或者共享文件! Plik是一个可扩展且友好的临时文件上传系统,类似于wetransfer。它具有强大的命令行客户端和易于使用的Web UI,支持多个数据后端(文

    2024年04月17日
    浏览(27)
  • 电脑提示“ureg.dll文件丢失”解决方法,ureg.dll文件下载修复安装教程

    ureg.dll是Windows操作系统中的一个动态链接库文件,主要与Microsoft Office软件相关,它基本上是为了支持和启动与Office相关的程序和功能。 如果ureg.dll文件丢失或损坏,可能会导致与Microsoft Office相关的程序或功能无法正常工作。对于用户来说,可能会遇到一些错误信息,例如“

    2024年01月16日
    浏览(52)
  • Python学习笔记:Requests库安装、通过url下载文件

    在pipy或者github下载,通常是个zip,解压缩后在路径输入cmd,并运行以下代码  安装完成后,输入python再输入import requests得到可以判断时候完成安装  2.通过url下载文件 使用的是urllib模块

    2024年02月10日
    浏览(27)
  • 小米手机使用FlutterDownloader下载安卓apk文件不能正常安装

    在Flutter项目中使用 flutter_downloader: ^1.9.1 下载apk文件,小米手机提示下载成功但是通知栏进度条卡住并且未跳出安装apk的窗口。 当前Android项目包名:com.app.update.demo 下载更新app提示“下载成功!”,但是执行语句 时报错: ResultType.fileNotFound 。下载保存地址为: /storage/emulated

    2024年02月13日
    浏览(47)
  • 关于k8s 安装Dashboard recommended.yaml下载失败以及calico.yaml 下载文件

    输入地址: https://www.ipaddress.com/ 查找 查询结果: 然后配置 linux 文件 vim /etc/hosts 然后再执行: calico.yaml 下载地址:https://docs.projectcalico.org/v3.8/manifests/calico.yaml

    2024年02月16日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包