目录

简介

环境及软件说明

环境说明

所需软件及说明

安装前的主机准备

一.安装JDK。(每台主机都要做)

二.配置主机名和hosts(每台主机都要做,并且根据各个主机情况做相应的修改)

三.禁止交换。(每台主机都要做)

四。禁用大页面.(每台主机都要做)

五。配置免密码登陆(每台主机都要做)

六。配置NTP服务。标准的做法是配置NTP服务器,但是这里为了方便就用简化的方式配置了。

七。安装MySQL。并配置数据库。

开始安装CM和CDH

部分WEB配置摘录及问题解决


简介

以前安装过CentOS5.11,是通过VNC桌面的方式安装,并且第一次安装过程失败过,感觉通过桌面方式安装不怎么好,步骤也感觉比较混乱。最近有空重新安装了一次,都是在命令行中进行,没有使用桌面,并且一次成功,现在恢复安装前的快照,重新来一次,并做记录。

环境及软件说明

环境说明

本人PC虚拟机VM12,里面安装了3台CentOS7.集群环境规划如下:

CPU

IP

主机名

角色

内存

1核心2线程

192.168.9.14

cdh1

CM server,agent

8G

1核心2线程

192.168.9.15

cdh2

agent

1.5G

1核心2线程

192.168.9.16

cdh3

agent

1.5G

我的笔记本电脑16G内存,只能上面这样规划了,最后CDH是能安装成功的,只不过没法用,资源太少了。-_-!

所需软件及说明

1.JDK1.8    下载地址:

链接:https://pan.baidu.com/s/1wiM5de1B8Tk67y1TyPQQUg 密码:skoe

说明:

去Oracle官网下,现在点击下载会让你登陆,这时可以右键迅雷下载,可以不用登陆;这里提供一个我的网盘下载链接,另外别用1.7

2.Cloudera Manager    下载地址:

https://archive.cloudera.com/cm5/cm/5/

说明:CM的各个平台,版本的包都在这里了,各取所需。根据我的环境,下载的是 cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz

3.CDH    下载地址:

http://archive.cloudera.com/cdh5/parcels/5.14/

说明:和上面CM一样,各取所需。需要下载3个文件,我下载的是 CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha1 (这个文件下载下来后,一定要把后缀 .sha1 改为 .sha), CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel, manifest.json

这里要注意CM和CDH,大版本应该要一致,比如CM为5.14,CDH也是5.14,至于如果不一致是否会出问题,比如CM为5.13,CDH为5.14,我没有试过,不知是否有同学当过小白鼠...

4.Mysql

如果你的机器能连接外网,那么这里可以暂时不用准备,下面联网安装。

如果不能连接外网,那么这里就可以先安装好MySQL(为了方便,安装在server上)。

5.数据库驱动    下载地址:

链接:https://pan.baidu.com/s/1yAS_LG88-uOInu5Ee4vzzQ 密码:1bf6

说明:注意默认的数据驱动是有版本号的,比如mysql-connector-java-xxx.jar,这里要把版本号去掉。这里提供一个我用的驱动

6.mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm    下载地址:

链接:https://pan.baidu.com/s/1PqHf3XCoAsDeEqwiDMH_5Q 密码:qgcq

说明:这是MySQL的一个组件的安装包,不是核心组件,不安装也不影响MySQL使用。但是如果缺少这个包,后面hue安装的时候很可能报错,所以先下载下来备用。

如果想找不同的版本,可以去MySQL官网找。

安装前的主机准备

一.安装JDK。(每台主机都要做)

过程:略

说明:可以不用卸载自带的openjdk,配好环境变量即可。

二.配置主机名和hosts(每台主机都要做,并且根据各个主机情况做相应的修改)

1.执行下面命令,配置静态IP等

 vim /etc/sysconfig/network-scripts/ifcfg-ens33

这是我的一个网卡信息,仅供参考,根据实际机器配置。主要关注BOOTPROTO,IPADDR,NETMASK,PREFIX等信息。

TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=cea3a5fa-ada9-4506-905f-66e93d7ed601DEVICE=ens33ONBOOT=yesIPADDR=192.168.9.14NETMASK=255.255.255.0PREFIX=24DNS1=8.8.8.8GATEWAY=192.168.9.2

2.执行命令,配置主机名,根据实际情况输入主机名

vim /etc/hostname

下面是我的一个主机的hostname文件内容:

cdh1

3.执行命令,根据实际情况修改主机名

hostname cdh1

4.修改hosts文件,输入IP和主机名

vim /etc/hosts

下面是我的hosts文件,仅供参考:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4::1         localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.9.14    cdh1192.168.9.15    cdh2192.168.9.16    cdh3

5.关闭防火墙.

systemctl stop firewalldsystemctl disable firewalld

6.重启机器。然后保证主机之间互ping 主机名,互ping ip能够ping通。

三.禁止交换。(每台主机都要做)

1.执行命令

vim /etc/sysctl.conf

增加一行:

vm.swappiness=0

2.执行命令:

sudo sysctl vm.swappiness=0

四。禁用大页面.(每台主机都要做)

1.执行命令:

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

2.执行命令,修改配置:

vim /etc/rc.local

增加两行:

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

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

3.执行命令,赋予权限

chmod +x /etc/rc.d/rc.local

五。配置免密码登陆(每台主机都要做)

1.执行命令,生成秘钥:

ssh-keygen -t rsacd ~/.ssh

2.拷贝到要免密码登陆的机器,要免密登陆那个机器,就写该机器的ip。这里我3台机器两两之间都做了免密登陆。

ssh-copy-id xxxx

比如要免密码登录192.168.9.15,则执行: ssh-copy-id  192.168.9.15

六。配置NTP服务。标准的做法是配置NTP服务器,但是这里为了方便就用简化的方式配置了。

1.执行命令,修改配置。

vim /etc/ntp.conf

我修改的配置如下,注意第一行配置根据自己centos的网关来配置。

restrict 192.168.9.0 mask 255.255.255.0 nomodify notrap # Use public servers from the pool.ntp.org project.# Please consider joining the pool (http://www.pool.ntp.org/join.html).#server 0.centos.pool.ntp.org iburst#server 1.centos.pool.ntp.org iburst#server 2.centos.pool.ntp.org iburst#server 3.centos.pool.ntp.org iburstserver 127.127.1.0fudge 127.127.1.0 stratum 10

2.执行命令

vim /etc/sysconfig/ntpd

增加一行:

SYNC_HWCLOCK=yes

3.重启ntp服务

systemctl restart ntpd.servicesystemctl status ntpd.service

七。安装MySQL。并配置数据库。

这里采用yum的方式安装,所以要联网。也可自行安装。为了方便,把MySQL安装在主节点Server上,但是注意最好别用太高版本的MySQL。这里安装的是MySQL5.7

1.检测是否有mariadb

rpm -qa | grep mariadb

如果有,就卸载

rpm -e --nodeps  mariadb-libs-5.5.56-2.el7.x86_64

2.开始安装,依次执行命令,根据提示信息操作

cd /usr/local/srcwget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpmrpm -ivh mysql57-community-release-el7-8.noarch.rpmyum -y install mysql-server

3.编辑配置。

vim /etc/my.cnf

如下是我的配置,可参照修改。

# For advice on how to change settings please see# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html[client]default-character-set=utf8[mysqld]character-set-server=utf8collation-server=utf8_general_ci#允许使用简单密码validate_password=off## Remove leading # and set to the amount of RAM for the most important data# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.# innodb_buffer_pool_size = 128M## Remove leading # to turn on a very important data integrity option: logging# changes to the binary log between backups.# log_bin## Remove leading # to set options mainly useful for reporting servers.# The server defaults are faster for transactions and fast SELECTs.# Adjust sizes as needed, experiment to find the optimal values.# join_buffer_size = 128M# sort_buffer_size = 2M# read_rnd_buffer_size = 2Mdatadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockserver_id = 1expire_logs_days = 3# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

4.重启MySQL:

systemctl restart mysqld.service

5.查看默认密码

grep "password" /var/log/mysqld.log  

6.使用默认密码登陆:

mysql -u root -p

7.进入命令行后

首先修改密码

alter user 'root'@'localhost' identified by 'Root!!2018';     

然后进行创建用户,授权等操作

grant all on *.* to 'root'@'%' identified by 'Root!!2018'  with grant option;  -- 授权CREATE USER 'scm'@'%' IDENTIFIED BY 'scm';  --创建一个新用户,就使用这个用户名,和密码,后面cm的元数据库会用到grant all on *.* to 'scm'@'%' identified by 'scm'  with grant option;  -- 授权CREATE USER 'lpy'@'%' IDENTIFIED BY 'lpy';  --创建一个新用户,用户名和密码可以自定义,后面安装hive,oozie会用到grant all on *.* to 'lpy'@'%' identified by 'lpy'  with grant option;   --授权flush privileges;    -- 刷新权限

8.用上面自定义的数据库用户lpy登陆,在MySQL中创建几个数据库备用,数据库名称可以自定义。

mysql -u lpy -pcreate database hive;create database hue;create database ooz;

9.使用scm用户登录MySQL,创建scm数据库备用。

mysql -u scm -pcreate database scm;

开始安装CM和CDH

1.在所有节点执行命令,创建目录:

sudo mkdir /opt/cloudera-manager

2.在所有节点,将下载好的cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz文件,上传到/opt目录下

3.在所有节点,解压该文件到/opt/cloudera-manager目录。

tar -zxvf /opt/cloudera-manager-centos7-cm5.14.1_x86_64.tar.gz -C /opt/cloudera-manager

4.在所有节点,创建用户,这是CM需要使用的用户

sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

5.在server节点,创建CM服务本地数据存放目录,并赋予权限

sudo mkdir /var/lib/cloudera-scm-serversudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server

6.在所有的agent节点,执行命令:

vim /opt/cloudera-manager/cm-5.14.1/etc/cloudera-scm-agent/config.ini

修改server_host为server节点的主机名,我的就是server_host=cdh1

7.在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下

8.在server节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型  database名称   数据库用户名   数据库密码

/opt/cloudera-manager/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh  mysql scm scm scm

注意:这条命令要执行成功,需要server和MySQL在一个节点上。如果不在一个节点上,需要使用-hmysqlserver命令指定MySQL主机位置,比如如果MySQL安装机器IP为192.168.9.20,那么执行命令为

/opt/cloudera-manager/cm-5.14.1/share/cmf/schema/scm_prepare_database.sh -h 192.168.9.20   mysql scm scm scm

如果出现如下提示,则证明CM元数据创建成功。

All done, your SCM database is configured correctly!

9.在主节点执行,创建CDH文件存放目录。

mkdir /opt/cloudera/cd /opt/clouderamkdir parcel-repo

10.将上面准备好的CDH的3个文件,上传至/opt/cloudera/parcel-repo路径下。

11.在server节点,启动CM server

/opt/cloudera-manager/cm-5.14.1/etc/init.d/cloudera-scm-server start

12.在agent节点,启动CM agent

/opt/cloudera-manager/cm-5.14.1/etc/init.d/cloudera-scm-agent start

13.稍等一会,访问地址:serverip:7180,出现界面如下,用户名密码都是admin。接下来就是一步一步的配置。

部分WEB配置摘录及问题解决

1.选择免费版:

2.点击当前管理的主机,这些就是启动了agent服务的主机,看看是否和自己预想的一样。

3.勾选主机

4.安装parcel包,这里一定要注意选择自己下载的CDH包的版本,如果选错了,那就要走网络下载,然后就等到明年吧...

5.然后就是的分发parcel包,解压激活了,等待自动完成。

6.主机检查,没有什么问题

7.安装服务。资源太少,只安装核心的Hadoop

8.根据实际情况分配角色

9.前面MySQL安装的时候,创建了一个自定义用户lpy,和几个数据库,现在用上了

这里为什么出错了呢?

通过查看日志:tail -f 300 /opt/cloudera-manager/cm-5.14.1/log/cloudera-scm-server/cloudera-scm-server.log

可以看到在说什么这个错误:

Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory

原因是:

/usr/lib64/mysql目录下没有libmysqlclient.so.18文件,可能可以看到libmysqlclient.so.20文件

原因是mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm没有安装(具体版本和你安装的MySQL版本有关)

解决办法是:

去MySQL官网,找到安装的对应MySQL版本的这个mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm包,只有几兆

然后下载下来上传到server上(我的server和MySQL安装在同一个节点上,如果server和MySQL不在同一个节点,那么可以尝试这两个节点都去安装一下),安装:

rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm

然后群集设置重新检测一下就OK。

怎么找rpm包,可以参考https://blog.csdn.net/smiles13/article/details/81460617

安装好后,再一次测试连接,已经通过:

10.审核更改,默认124,改小一点吧,其他的 默认就好

11.启动成功

12.集群主页

可以看到有很多错误信息,但是都是一些内存不足,磁盘不足的错误信息。原因就是因为资源太少,如果资源充足,是不会有这些错误的。OK,打完收工。

CentOS7安装CDH5.14过程全纪录相关推荐

  1. RHEL 5.4 下安装和使用 ntop 全纪录(ntop:Linux下可通过Web访问的网络流量监控工具)...

    RHEL 5.4 下安装和使用 ntop 全纪录 1. ntop介绍 Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观.详细.Ntop甚至可以列出每个节点计算 ...

  2. Centos7安装go1.14.4超级详细(两种安装方式)

    Centos7安装go1.14.4超级详细 一,命令安装: wget https://golang.google.cn/dl/go1.14.4.linux-amd64.tar.gz 2-解压go包到/ ...

  3. CentOS7安装mysql数据库完整过程以及安装中遇到的各种问题的解决方案

    1.首先下载mysql安装包 可以从官网下载:http://dev.mysql.com/downloads/mysql/(可以直接浏览器百度mysql官网的安装包,按照自己的需要选择相应的mysql版 ...

  4. CentOS7 安装CloudStack4.14.0

    https://blog.csdn.net/dandanfengyun/article/details/107220199#comments_13468183 按照4.13.1设置首先进行基本设置及基 ...

  5. centos7安装hadoop3详细过程及步骤(新手向)

    本文主要思路参考了https://blog.csdn.net/u013457387/article/details/87856770的方法,但个人在配置过程中遇到过很多的问题,最终配置成功并在此总结. ...

  6. Centos7安装Nginx1.14.0

    一.官网下载 http://nginx.org/en/download.html 版本说明: Nginx官网提供了三个类型的版本 Mainline version:Mainline 是 Nginx 目 ...

  7. 树莓派4b安装win11/10过程全教程(附蓝屏inaccessible boot device解决办法)

    由于之前树莓派跑的win11越来越慢,我就想着重装一下系统,在选择系统方面,网上找了好多资料,有推荐Raspbian的(已经装了一张tf卡了),Ubuntu的(体验超级差),还有Debian的.Cen ...

  8. Oracle11g导入DMP文件并导出为CSV文件过程全纪录

    最近课题组在和某航务管理局合作完成一个模拟仿真项目,对方发来某地一年的AIS数据,以DMP格式呈现,大小足有100多G.对于这批数据的处理首先需将其还原至数据库中,并以CSV文件格式导出,此项任务最终 ...

  9. CentOS7安装Oracle数据库的全流程

    一.准备工作 1.下载Oracle的安装介质 Oracle 11g R2 Linux版本有两个压缩文件包,都需下载安装才会完整. linux.x64_11gR2_database_1of2.zip l ...

最新文章

  1. 《DSP using MATLAB》示例Example7.23
  2. Qt运行时中文乱码的解决办法
  3. EPSON机械臂TCP通讯,实现手眼标定(附EPSON代码)
  4. 2019春第一次课程设计实验报告
  5. 【Java 并发编程】线程池机制 ( 测试线程开销 | 启动线程分析 | 用户态 | 内核态 | 用户线程 | 内核线程 | 轻量级进程 )
  6. 全国哀悼日,怎么让网站变灰色???
  7. 【转帖】dopod touch diamond 应用小常识:)
  8. rust军用船指令_RUST物品指令清单(英文版)
  9. python开源库生成式对抗网络_Python:使用Tensorflow开发一维生成对抗网络
  10. linux 批量同步,多主机目录到备份服务器批量同步脚本
  11. C++面试 语言基础
  12. EventBridge 事件总线及 EDA 架构解析
  13. 阿里巴巴首席技术官程立:我们相信并正在践行的“好科技”
  14. 基础知识—循环语句-while
  15. STM32F207和DM9161A的以太网实现方案
  16. js轮播图片小圆点变化_原生js实现轮播图的示例代码
  17. 计算机指令与运算基础原理笔记
  18. 科普下Tier1,Tier2,Tier3,Tier4 T1, T2, T3, T4
  19. 使用 OpenSSL 创建ssl证书
  20. 红黑树 - Wikipedia

热门文章

  1. 计算能力足够强大,所有加密算法原理上都会被破解吗
  2. 像科学家一样思考python_像计算机科学家一样思考Python(第2版)
  3. 分布式设计之边车模式(Sidecar)
  4. ABP+AdminLTE+Bootstrap Table权限管理系统第十一节--bootstrap table之用户管理列表
  5. ubuntu中伪分布式hadoop搭建
  6. html5拖拽换位效果演示,H5 实现div拖放位置互换
  7. CSS行高等于盒子的高度,能让文字在盒子里面垂直居中的原理
  8. 在网上卖药需要什么资质?入驻平台需要什么条件
  9. 《图解设计模式》-各章节的划分/学习设计模式之前
  10. 从POI兴趣点获取到ArcGIS中热力图制作