Centos7.3离线安装CDH-5.15.2

本文档详细介绍了如何在Centos7.3环境下离线安装CDH-5.15.2。内容包括概述、部署环境、软件版本以及一系列的前期准备工作,如关闭防火墙、设置主机名、配置hosts文件、安装JDK、配置免密登录等。此外,还涉及到CM和CDH的下载、上传、配置数据库、分发软件、创建用户、启动服务及访问CM等关键步骤。
摘要由CSDN通过智能技术生成

一、概述

CDH是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,全称Cloudera’s Distribution, including Apache Hadoop。

CDH提供了Hadoop的核心可扩展存储(HDFS)和分布式计算(MR),还提供了WEB页面进行管理、监控。

二、部署环境

ip地址主机名系统
192.168.12.43server1CentOS-7.3-x86_64-DVD-1611.iso
192.168.12.45server1CentOS-7.3-x86_64-DVD-1611.iso
192.168.12.46server1CentOS-7.3-x86_64-DVD-1611.iso

 

三、软件版本

>>mysql数据库版本: 5.7

>>cm版本: cm  5.15.2

>>cdh版本: cdh 5.15.2

四、前期准备工作

 1)关闭防火墙(3台)

systemctl stop firewalld

systemctl disable firewalld

  2)关闭selinux(3台)

修改配置文件/etc/selinux/config(重启生效)

将selinux=enforcing 改为selinux=disabled

   3)设置主机名(3台)

Hostnamectl set-hostname server1/server2/server3

vi /etc/sysconfig/network    

HOSTNAME=server1

   4)配置host文件(3台)

vi  /etc/hosts   根据自己的ip 进行相应配置 

配置完之后,可以在同一台机器上ping 不同的域名,查看是否有响应.表明配置成功

  5)更新yum源(本地镜像源)

参考另一篇博客(由于是内网安装,搭建了本地的yum源,方便以后安装依赖)

  6)安装JDK(3台)

  7)配置免密登陆,保证主节点机器免密登录其他机器

cd   ~

生成公钥和私钥

ssh-keygen -t rsa  一路回车就好

将公钥拷贝到要免密登录的目标机器上(在主节点执行)

ssh-copy-id  server1

ssh-copy-id  server2

ssh-copy-id  server3

  8)在主节点上安装mysql,配置相应的用户权限(也可以使用yum安装mysql)

参考另一篇博客

 9)下载第三方依赖(3台)

 yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb mod_ssl httpd nfs-utils rpcbind ntp

10) 时钟同步(详情见另一篇文档,ntp时间服务器配置)


                                                                                     开始安装


一、下载cm

cm下载地址:http://archive.cloudera.com/cm5/cm/5/

cdh下载地址:http://archive.cloudera.com/cdh5/parcels

二、上传

上传cloudera-manager-centos7-cm5.15.2_x86_64.tar.gz到/opt/software并解压

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

三、配置cm agent

修改文件/opt/module/cloudera-manage/cm-5.12.2/etc/cloudera-scm-agent/ config.ini

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

 server_host=server2(主节点hostname)

四、配置cm的数据库

1>拷贝mysql jar文件到目录 /usr/share/java/

mkdir /usr/share/java/

cp /opt/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar /usr/share/java

 mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar

• 注意jar包名称要修改为mysql-connector-java.jar

2>在mysql中创建cm库

 /opt/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql scm  –h主节点hostname  -uroot -p000000 --scm-host 主节点hostname scm

注解:     

      会让输入scm密码,自己任意输入(自己记住,后面要用),保证密码有大小写,特殊字符(由于我之前关掉了密码复杂度的验证,简单的也没关系)

       -u:database username

       -p:database password

     mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。

    scm:表示在mysql数据库中创建scm database   

    -h:database host 表示安装数据库的主机名 (我是在server2上安装的mysql数据库,所以我指定了server2)

    --scm-host cdh101 :cms的主机,一般是和mysql安装的主机是在同一个主机上。

执行完创建cm库的命令后,只有当看到all done, your scm database is configured correctly!这句话时,表明命令操作是成功的.

五、分发

分发cloudera-manage(在server2上执行命令,时间会稍长)

scp -r /opt 节点二:/opt

scp -r /opt 节点三:/opt

 六、其他文件放入到相同目录下

cp CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel manifest.json /opt/cloudera/parcel-repo/

mv CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha1 CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha  改名

cp CDH-5.15.2-1.cdh5.15.2.p0.3-el7.parcel.sha /opt/cloudera/parcel-repo/

七、 创建用户cloudera-scm(3台)

useradd --system --home=/opt/cm-5.15.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "cloudera scm user" cloudera-scm

         --system 创建一个系统账户

         --home 指定用户登入时的主目录,替换系统默认值/home/<用户名>

         --no-create-home 不要创建用户的主目录

         --shell 用户的登录 shell 名

         --comment 用户的描述信息

八、启动和关闭cm server&agent 服务 

 服务节点:(主节点)

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

 工作节点:       

/opt/cm-5.15.2/etc/init.d/cloudera-scm -agent start    (三个节点同时执行)

注意:启动过程非常慢,manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。

一段时间过后,可以使用下列命令查看7180端口是否已经启动:  netstat -anp | grep 7180   如果查看被占用则表示安装成功了!!!

[root@cdh101 init.d]# netstat -anp | grep 7180

tcp        0      0 0.0.0.0:7180                0.0.0.0:*                   listen      5498/java

九、访问

访问http://主节点:7180,(用户名、密码:admin)

 这个地方注意,需要在windows的hosts文件中配置ip地址和域名  

 

*如果只有出现一台的话,看下agent状态,如果没起来重新启动就好了

/opt/cm-5.15.2/etc/init.d/cloudera-scm -agent status

出现上述警告执行命令

sysctl vm.swappiness=10

在/etc/sysctl.conf加入该配置

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

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

在/etc/rc.local 加入配置

hive库和amon需要预先在mysql中创建

##amon

create database amon      DEFAULT CHARACTER SET utf8;

grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';

 

##hive

create database hive     DEFAULT CHARACTER SET utf8;

grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';

 

##oozie

create database oozie     DEFAULT CHARACTER SET utf8;

grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';

 

启动hive遇到的一些问题

mysql驱动包的改成5.x的

将mysql的hive库修改编码

ALTER DATABASE hive CHARACTER SET latinl

FLUSH PRIVILEGES;

启动之后报错:org.apache.hadoop.hive.metastore.HiveMeta MetaException(message:Version infomation not found int metastore)

   这个是hive中没有版本信息,是经常碰到的。因为首次使用hive,没有相应的版本信息。

.修改conf/hive-site.xml 中的 “hive.metastore.schema.verification” 值为 false 即可解决  MetaException(message:Version information not found in metastore. )”

当然,如果是cm中,修改通过截面修改一下hive.metastore.schema.verification,然后重启以下即可。

 

Caused by: javax.jdo.JDODataStoreException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

在启动hive的时候启动失败,通过日志,发现这个问题。查阅资料,发现修改配置文件中的datanucleus.autoCreateSchema 为true即可。这样会自动进行创建表操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值