Ubuntu16.04 离线安装CDH6.2.1

news2024/11/25 11:38:13

1. 离线包工作

  • 下载Cloudera Manager安装包,地址:https://archive.cloudera.com/cm6/6.2.1/repo-as-tarball/

    cm6.2.1-ubuntu1604.tar.gz
    
  • 下载CDH6.2.1安装包,地址:https://archive.cloudera.com/cdh6/6.2.1/parcels/

    CDH-6.2.1-1.cdh6.2.1.p0.1425774-xenial.parcel	2019-12-04 13:35	1.87GB
    CDH-6.2.1-1.cdh6.2.1.p0.1425774-xenial.parcel.sha1	2019-12-04 13:38	40B
    CDH-6.2.1-1.cdh6.2.1.p0.1425774-xenial.parcel.sha256	2019-12-04 13:37	64B
    manifest.json
    

2. 环境准备

集群都是Ubuntu16.04版本的

2.2 配置/etc/hosts映射,其中一台的示例

127.0.0.1       localhost

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.2.42 cldev-701-02
192.168.2.44 cldev-701-04
192.168.2.45 cldev-701-05
192.168.2.46 cldev-701-06
192.168.2.47 cldev-701-07
192.168.2.48 cldev-701-08
192.168.2.49 cldev-701-09
192.168.2.50 cldev-701-10
192.168.2.51 cldev-701-11
192.168.2.52 cldev-701-12
192.168.2.53 cldev-701-13
192.168.2.54 cldev-701-14
192.168.2.65 cldev-701-25
192.168.2.66 cldev-701-26
192.168.2.67 cldev-701-27
192.168.2.68 cldev-701-28
192.168.2.69 cldev-701-29
192.168.2.70 cldev-701-30
192.168.2.71 cldev-701-31
192.168.2.72 cldev-701-32
192.168.2.73 cldev-701-33
192.168.2.74 cldev-701-34

2.3 关闭防火墙

ufw status
ufw disable

2.4 配置ssh无密码登录

2.5 配置NTP服务,我使用的是公网的ip

/etc/ntp.conf

# /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help

# Enable this if you want statistics to be logged.
#statsdir /var/log/ntpstats/


# Specify one or more NTP servers.

# more information.
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

# Use Ubuntu's ntp server as a fallback.
#pool ntp.ubuntu.com

# Access control configuration; see /usr/share/doc/ntp-doc/html/accopt.html for
# details.  The web page <http://support.ntp.org/bin/view/Support/AccessRestrictions>
# might also be helpful.
#
# Note that "restrict" applies to both servers and clients, so a configuration
# that might be intended to block requests from certain clients could also end
# up blocking replies from your own upstream servers.

# By default, exchange time with everybody, but don't allow configuration.
restrict -4 default kod notrap nomodify nopeer noquery limited
restrict -6 default kod notrap nomodify nopeer noquery limited

# Local users may interrogate the ntp server more closely.
restrict 127.0.0.1
restrict ::1

# Needed for adding pool entries
restrict source notrap nomodify noquery

# Clients from this (example!) subnet have unlimited access, but only if
# cryptographically authenticated.
#restrict 192.168.123.0 mask 255.255.255.0 notrust


# If you want to provide time to your local subnet, change the next line.
# (Again, the address is an example only.)
#broadcast 192.168.123.255

# If you want to listen to time broadcasts on your local subnet, de-comment the
# next lines.  Please do this only if you trust everybody on the network!
#disable auth
#broadcastclient

#Changes recquired to use pps synchonisation as explained in documentation:
#http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm#AEN3918

#server 127.127.8.1 mode 135 prefer    # Meinberg GPS167 with PPS
#fudge 127.127.8.1 time1 0.0042        # relative to PPS for my hardware

#server 127.127.22.1                   # ATOM(PPS)
#fudge 127.127.22.1 flag3 1            # enable PPS API
server cn.pool.ntp.org

2.6 jdk环境

配置环境变量无效,java必须安装在/usr/java目录下

export JAVA_HOME=/usr/lib/jvm/java-8-oracle/
export PATH=$JAVA_HOME/bin:$PATH

2.7 创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)

mkdir -p /usr/share/java
mv /opt/mysql-j/mysql-connector-java-5.1.34.jar /usr/share/java/
cd /usr/share/java
mv mysql-connector-java-5.1.34.jar mysql-connector-java.jar

2.8 安装MySQL,并创建库

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
--hive库
create database hive DEFAULT CHARSET utf8 collate utf8_general_ci;
--report manager库
create database rman DEFAULT CHARSET utf8 collate utf8_general_ci;
--oozie库
create database oozie DEFAULT CHARSET utf8 collate utf8_general_ci;
--hue库
create database hue DEFAULT CHARSET utf8 collate utf8_general_ci;

grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
grant all on rman.* TO 'hive'@'%' IDENTIFIED BY 'hive';
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'hue';

3. 安装

3.1 制作离线源

#以下不管用 应直接修改 /etc/apt/sources.list
添加
deb [arch=amd64] http://192.168.2.65:8000/cm6/cm6.2.1/ xenial-cm6.2.1 contrib

sudo mkdir -p /var/www/html/cloudera-repos/cm6
# 解压下载的cm包
sudo tar -zxvf cm6.2.1-ubuntu1604.tar.gz -C /var/www/html/cloudera-repos/cm6
cd /var/www/html/cloudera-repos/cm6/cm6.2.1
sudo mv cloudera-manager.list /etc/apt/sources.list.d/
cd /etc/apt/sources.list.d/
# 修改源地址,将cloudera-manager.list里的内容改为如下
vi cloudera-manager.list
# Cloudera Manager 6.2.1
deb [arch=amd64] http://192.168.2.65:8000/cm6/cm6.2.1/ xenial-cm6.2.1 contrib

3.2 启动http服务

# 因为上面的地址根是/cm6/cm6.2.1,所以进到上一级目录,开始python3自带的http服务
cd /var/www/html/cloudera-repos
python3 -m http.server

3.3 安装Cloudera Manager

sudo apt-get install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server --allow-unauthenticated

安装完CM后/opt/ 下会出现cloudera目录,cloudera目录下有cm,cm-agent,parcel-repo,将下载的CDH包放到parcel-repo下

执行命令

sudo mv CDH-6.2.1-1.cdh6.2.1.p0.1425774-xenial.parcel.sha1 CDH-6.2.1-1.cdh6.2.1.p0.1425774-xenial.parcel.sha

3.4 执行cm数据库初始化

#先创建scm,用户授权
CREATE USER 'scm'@'%' IDENTIFIED BY 'scm';
grant all privileges on *.* to scm@'%' identified by 'scm';
flush privileges;

sudo /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm scm

注:这里使用mysql 5.7版本出现ssl连接问题,解决办法是修改mysqld.cnf文件或者my.cnf文件
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加skip_ssl 然后重启mysql

3.5 开启server服务,进入web界面

sudo service cloudera-scm-server start

打开http://192.168.2.65:7180,这里有可能需要等待一会儿才会出现界面,刚开始直接出现服务无响应,我以为出了什么问题,不得不吐槽下cloudera做的太差了,像ambari流程的流畅性就好多了

4、集群安装

一直到Specify Hosts,输入各个节点主机名,进行搜索,选中,然后继续
11.1、选择存储库
上传parcel文件到/opt/cloudera/parcel-repo文件夹

在这里插入图片描述

选项,这一步很迷,有时候你放在存储库的parcel版本刷不出来。

在这里插入图片描述
下一步,不安装jdk

提供ssh,如果是root直接用root,如果不是,需要有无密码执行sudo权限的用户。

下一步开始安装cloudera-manager-agent

4. 安装CDH

一路走到Welcome(Add Cluster-Installation)

  • 配置自己所要安装集群的机器hostname,每一行是一个主机,选择Parcel(默认就可以),JDK不选择安装Oracle Java SE开发工具,使用我们自己的JDK

  • Enter Login Credentials:这里因为我是用的普通用户,授予sudo权限,所以选择其他用户,选择所有主机接收相同私钥,我将cloudera-scm-master所在机器的id_rsa进行copy出来,上传

  • Install Agents:自动安装Agents,这里我碰到两个问题

    • 第一个是我配置的cloudera-manager.list里面的路径被改掉了,本来我配置的是有层级目录的,但是变成了,http://:,暂时不知道什么原因,导致allkeys.asc这个文件找不到,所以我修改了python3 http server的启动目录,进到allkeys.asc所在的目录,启动python3 -m http.server,安装成功。
    • 第二个是因为ERROR Failed to connect to previous supervisor,这个查看日志发现是端口冲突了,但是cloudera竟然没有写冲突的端口是什么…,真坑,后来发现是我安装的机器原来有一个集群,没有卸载干净,supervisor进程还残留着,杀掉集群节点上的这个进程就好了
  • Install Parcels:这里最开始是会变红的,然后再边绿,这里同样要吐槽下,什么鬼?为什么一开始是红的?导致一开始以为出错了,这个过程中遇到的错比较多,而且很坑,再次吐槽下cloudera manager做的真的不好。第一个是不知道为什么,这里卡了很久,查看日志发现HTTP Error 404: Not Found,这里本来/opt/cloudera/parcel-repo下会有个.torrent文件的,但是没有发现,不知道为什么…,我尝试了很多办法,包括在 cloudera-scm-server 主节点下手动把需的 parcel 包放到 /opt/cloudera/parcel-repo/ 下面,注意修改属组为 cloudera-scm,后台甚至重启了cloudera-scm-server,这导致了很大的文件,之前做的都操作步骤都没有了,需要从第一步走下来,但是第一步输入名称报集群名已存在,然后我重新初始化了cloudera-scm-server的数据库,不报集群名已存在了,但是有些节点说已经被使用了,然后进到cloudera-manager的主页,http://:7180/cmf/home,在主机地方,删除所有添加的节点重新来,这样竟然可以传输parcel了,很奇怪。但是报了一个新的异常:主机运行状况不良,解决办法在下面,这里删除了后,需要等待一段时间才会好,cloudera manager的心跳感觉很慢,改了错误之后,需要一段时间才能反映过来,这个过程中还有过Connection refused的错误,好像是其中的某一个节点连接不到master节点了,但是一段时间后又好了,就很坑

  • 过了上一步之后就好了,会进行检测是否主机都满足安装条件了,这里我遇到了一些版本不适用的检测问题,没有管它,直接往下走了

  • 组件安装,我选择的自定义服务,这里又有一个比较坑的地方,所有的cloudera manager的组件(Alert Publisher,Event Server,Host Monitor,Reports Manager,Service Monitor)安装节点必须选择cloudera-scm-server所在的节点,因为需要引用/opt/cloudera/cm下的lib包,我第一次弄错了,直接导致后面的很多初始化过不去,然后返回到上一步更改了这部分,但是初始化的时候还是用的老的配置,就很坑,然后是我进到cloudera manager主页,也就是http://:7180/cmf/home,把老的配置的机器上的cloudera manager的组件删掉,然后重启。数据库设置那里要注意数据库主机的名称,数据库名称和密码分别是之前配置的那些

问题解决

  1. Install Parcels报:主机运行状况不良,查看日志发现是agent和server的id对不上,CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的,因为之前频繁的重新安装导致的,解决办法:删除有问题节点下的lib/cloudera-scm-agent/下的cm_guid文件,然后重启

    cd /var/lib/cloudera-scm-agent/
    sudo rm -rf cm_guid
    sudo service cloudera-scm-agent restart
    

    https://docs.cloudera.com/documentation/enterprise/release-notes/topics/cm_rn_known_issues.html#rn_OPSAPS-34847

  2. cdh安装提示 当前受管,导致无法选择主机

​ 之前安装中断过,导致后面的安装中所有的主机处于 当前受管 状态,无法选择,进入之前创建的集群中(即namenode:7180/cmf/home),删除主机即可。

  1. 启动Spark失败,报日志目录不存在

    Caused by: java.io.FileNotFoundException: Log directory specified does not exist: hdfs://<ip>:<port>/user/spark/spark2ApplicationHistory
    	at org.apache.spark.deploy.history.FsHistoryProvider.org$apache$spark$deploy$history$FsHistoryProvider$$startPolling(FsHistoryProvider.scala:207)
    	at org.apache.spark.deploy.history.FsHistoryProvider.initialize(FsHistoryProvider.scala:153)
    	at org.apache.spark.deploy.history.FsHistoryProvider.<init>(FsHistoryProvider.scala:149)
    	at org.apache.spark.deploy.history.FsHistoryProvider.<init>(FsHistoryProvider.scala:77)
    	... 6 more
    Caused by: java.io.FileNotFoundException: File file:/user/spark/spark2ApplicationHistory does not exist
    	at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:598)
    	at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:811)
    	at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:588)
    	at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:425)
    	at org.apache.spark.deploy.history.FsHistoryProvider.org$apache$spark$deploy$history$FsHistoryProvider$$startPolling(FsHistoryProvider.scala:197)
    	... 9 more
    

    解决办法

    $ sudo -u hdfs hadoop fs -mkdir /user/spark
    $ sudo -u hdfs hadoop fs -mkdir /user/spark/applicationHistory
    $ sudo -u hdfs hadoop fs -chown -R spark:spark /user/spark
    $ sudo -u hdfs hadoop fs -chmod 1777 /user/spark/applicationHistory
    

    https://docs.cloudera.com/documentation/enterprise/5/latest/topics/admin_spark_history_server.html

  2. Yarn组件-》操作-》安装YARN MapReduce框架JAR,报异常说找不到class

    这是因为这个包在/opt/cloudera/cm的lib下,我的YARN没有安装在cm的Master节点,所以错误了,首先在出错的节点上创建目录/opt/cloudera/cm,然后将master节点上的lib包移过来就好了

  3. HDFS启动报错Canary test failed to find parent directory /tmp/.cloudera_health_monitoring_canary_files

    找不到/tmp目录,原因是我没有初始化好集群,所以切换到hdfs用户手动创建了/tmp目录,然后就好了

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

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

相关文章

分布式架构的演技进过程

最近看了一篇文章,觉得讲的挺不错,就借机给大家分享一下。 早期应用:早期的应用比较简单,访问人数有限,大部分的开发单机就能完成。 分离模型:在业务发展后,用户数量逐步上升,服务器的性能出现瓶颈;就需要将应用和数据分开存储,避免相互抢占资源。 缓存模式:随着系…

LeetCode746:使用最小花费爬楼梯

题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶部的最低花费。 代码 …

Qt 6.7 正式发布!

本文翻译自&#xff1a;Qt 6.7 Released! 原文作者&#xff1a;Qt Group研发总监Volker Hilsheimer 在最新发布的Qt 6.7版本中&#xff0c;我们大大小小作出了许多改善&#xff0c;以便您在构建现代应用程序和用户体验时能够享受更多乐趣。 部分新增功能已推出了技术预览版&a…

sql 注入 1

当前在email表 security库 查到user表 1、第一步&#xff0c;知道对方goods表有几列&#xff08;email 2 列 good 三列&#xff0c;查的时候列必须得一样才可以查&#xff0c;所以创建个临时表&#xff0c;select 123 &#xff09; 但是你无法知道对方goods表有多少列 用order …

操作系统之管程

目录 一. 为什么要引入管程二. 管程的定义与基本特征三. 扩展1:用管程来解决生产者和消费者问题四. 扩展2: Java中类似于管程的机制 \quad 一. 为什么要引入管程 \quad \quad 二. 管程的定义与基本特征 \quad \quad 三. 扩展1:用管程来解决生产者和消费者问题 \quad 很智能 \qu…

如何绘制厂区地图?厂区地图路线规划图怎么做的?

随着工业化的快速发展&#xff0c;工厂规模越来越大&#xff0c;厂内货车往往因路线不明兜转&#xff0c;造成物流效率低&#xff0c;甚至路线拥堵&#xff1b;其他也存在基于安全管理的人员定位&#xff0c;访客指引&#xff0c;厂区设备可视化管理等需求。这些需求都与空间位…

基于STM32的智能垃圾桶设计(论文+源码)_kaic

基于STM32的智能垃圾桶设计 摘 要 随着社会科学技术的迅猛进展&#xff0c;人们的生活质量和速度也在不断提高。然而&#xff0c;大多数传统的家庭垃圾桶已经过时且缺乏创新&#xff0c;缺乏人性化设计。它们使用起来不方便、不卫生&#xff0c;所有的生活和废物垃圾都被混合…

根据不同权限,显示不同的菜单界面

本节&#xff1a;根据不同权限&#xff0c;显示不同的菜单界面 1.写几个角色不同的路由路径配置&#xff0c;有的角色有页面的配置&#xff0c;有的角色就没那几个页面的配置。 根据提供的token来判断 2.然后进行路由比对

力扣刷题Day5——内涵动态规划讲解

题目1&#xff1a; 先来一道很简单的题目&#xff1a; 2697. 字典序最小回文串 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 为了得到字典序最小的回文字符串&#xff0c;对于回文串&#xff0c;就是需要左右的字符相等&#xff0c;而要最小的回文串&#xff…

【intro】GraphSAGE

论文 https://arxiv.org/pdf/1706.02216 abstract 大图中节点的低维embedding已经被证明在各种预测任务中非常有用&#xff0c;然而&#xff0c;大多数现有的方法要求在embedding训练期间图中的所有节点都存在;这些先前的方法属于直推式&#xff08;transductive&#xff09…

中仕公考:非应届生能考军队文职吗?

军队文职考试的招生对象主要针对普通高等学校的毕业生以及社会人才&#xff0c;报考条件中并没有限制考生必须是应届毕业生。所以&#xff0c;往届毕业生也是具备报考资格的&#xff0c;只需其满足相关的申请条件即可。 报考人员可大致分为三类&#xff1a;普通高校毕业生、社…

LabelImg下载及目标检测数据标注

为什么这一部分内容这么少会单独拎出来呢&#xff0c;因为后期会接着介绍YOLOv8中的其他任务&#xff0c;会使用其他软件进行标注&#xff0c;所以就单独区分开来每一个任务的标注方式了。 这一部分就介绍目标检测任务的标注&#xff0c;数据集是我从COCO2017Val中抽出来两类&a…

Edge的使用心得和深度探索-Sider: ChatGPT 侧边栏

作为一款备受欢迎的网络浏览器&#xff0c;Microsoft Edge在用户体验和功能方面都有着诸多优势。在长期的使用中&#xff0c;我总结出了三条使用心得&#xff0c;同时也发现了三个能够极大提高效率的功能。让我们一起深度探索Edge的潜力吧&#xff01; 使用心得&#xff1a; 界…

如果你已经掌握了C语言和C++,想要学习QT

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Qt的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;我认为这并不是难事。对于我来说&#xff0c;我…

4000定制网站,因为没有案例,客户走了

接到一个要做企业站点的客户&#xff0c;属于定制开发&#xff0c;预算4000看起来是不是还行的一个订单&#xff1f; 接单第一步&#xff1a;筛客户 从客户询盘的那一刻开始就要围绕核心要素&#xff1a;预算和工期&#xff0c;凡是不符合预期的一律放掉就好了&#xff0c;没必…

5月的现货黄金价格还会涨吗

近期美国经济陷入滞胀的预期升温&#xff0c;市场对美联储年内降息的预期有所走低&#xff0c;然而目前美国10年期国债的实际收益率已处于2%左右的历史高位&#xff0c;降息空间最终还是打开&#xff0c;带来实际利率的趋势下行——在去全球化的背景下&#xff0c;美元信用持续…

分布式锁之-mysql

使用mysql实现分布式锁的方式这里演示两种&#xff1a; 1:基于 MySQL 实现的乐观锁 2:基于 MySQL 实现的悲观锁 数据库脚本 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for product_stock -- -----------------------…

Redis如何避免数据丢失?——AOF

目录 AOF日志 1. 持久化——命令写入到AOF文件 写到用户缓冲区 AOF的触发入口函数——propagate 具体的实现逻辑——feedAppendOnlyFile 从用户缓冲区写入到AOF文件(磁盘&#xff09; 函数write、fsync、fdatasync Redis的线程池 AOF文件的同步策略 触发的入口函数——…

懒洋洋作业讲解

懒洋洋作业讲解 环境配置 1.软件下载&#xff1a;DCloud - HBuilder、HBuilderX、uni-app、uniapp、5、5plus、mui、wap2app、流应用、HTML5、小程序开发、跨平台App、多端框架 2.软件介绍 HBuilder是由DCloud&#xff08;数字天堂&#xff09;推出的一款面向HTML5的Web开发…