CDH5.5.X安装及出现的问题解决

一定要细心

CDH:(Cloudera`s Distribution ,inclluding Apache Hadoop),是Hadoop众多分支中的一个,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多的补丁,稳定

Cloudera Manager 则是为了便于在集群中进行 Hadoop 等大数据处理相关

的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark 等服务

的安装配置管理做了极大简化。

1、准备工作

cloudera-manager下载

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

cloudera-manager-centos7-cm5.5.x。tar.gz

tar -zxf 放入到/opt/

安装包下载http://archive.cloudera.com/cdh5/parcels/5.5.1.11/

CDH-5.5.X-1.cdh5.5.0.p0.8-el7.parcel

CDH-5.5.X-1.cdh5.5.0.p0.8-el7.parcel.sha1

manifest.json (用火狐下载,其他的浏览器只能查看,不能下载)

放入目录 /opt/cloudera/parcel-repo

 

1、linux的环境配置,关闭防火墙与selinux

在虚拟机中最小化方式安装的centos7中,无法上网,激活网卡,在文件、/etc/sysconfig/network-scripts/ifcfg-ens32中进入编辑模式,将ONBOOT=no 改为ONBOOT=yes,就OK

重新启动网卡:service network restart

查看是否关闭防火墙 firewall-cmd --state

关闭防火墙 systemctl stop firewalld.service

禁止开机启动 systemctl disable firewalld.service

关闭selinux

vim /etc/sysconfig/selinux

SELINUX=disabled

 

我之前安装测试的时候发现在安装的时候selinux没有关闭 没有出现什么问题 但是我建议关闭,因为不知道会出现什么问题

2、配置免密登录

#生成 ssh 免登陆密钥

ssh-keygen -t rsa (四个回车)

执行完这个命令后,会生成 id_rsa(私钥)、id_rsa.pub(公钥)

将公钥拷贝到要免密登陆的目标机器上ssh-copy-id root@ip

ssh-copy-id node-02

测试是否成功

ssh root@node01

3、配置IP,主机名,映射(一定要注释或删除ipv6)不要有下划线

vi /etc/hosts

hostname +名字

192.168.86.231 node1

192.168.86.231 node1

192.168.86.231 node1

192.168.86.231 node1

192.168.86.231 node1

 

vi /etc/sysconfig/network

各节点hostname修改

NETWOKING=yes

HOSTNAME=cdh2 master

(修改完必须重新启动)

从节点

NETWORKING=yes

HOSTNAME=本机IP

。。。。。。

 

 

 

4、更新glibc

yum install glibc.i686

修改yum源

 

yum install wget

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

yum clean all

yum makecache

 

 

5、jdk、 (一定是orcale jdk rpm 包)

rpm -qa|gerp java 删除原生依赖

yum -y remove

依赖安装(最好都执行一遍 ,因为你不知道你会缺哪个)

yum install -y chkconfig

yum install -y Python

yum install -y bind-utils

yum install -y psmisc

yum install -y libxslt

yum install -y zlib

yum install -y sqlite

yum install -y cyrus-sasl-plain

yum install -y cyrus-sasl-gssapi

yum install -y fuse

yum install -y portmap

yum install -y fuse-libs

yum install -y redhat-lsb

yum install -y bind-utils

yum install -y libxslt

yum install -y sqlite

 

 

 

rpm -qa |grep jdk 查找已安装的jdk

卸载

rpm -evh --nodeps

安装rpm -ivh

 

 

安装 rpm -ivh jdk-8u151-linux-x64.rpm

1、查看并卸载openjdk

  • 查看有哪些jdk包:rpm -qa|grep java

  • 卸载openjdk包

rpm -e --nodeps tzdata-java-2017b-1.el6.noarch rpm -e --nodeps java-1.8.0-openjdk-1.8.0.144-0.b01.el6_9.x86_64 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.144-0.b01.el6_9.x86_64 rpm -e --nodeps java-1.8.0-openjdk-devel-1.8.0.144-0.b01.el6_9.x86_64

2、下载oracle jdk

  • 查看linux版本:uname -r或者uname -a 或者 cat /proc/version

  • 去官网查找jdk版本:http://www.oracle.com/technet...

CDH5.5.X安装及出现的问题解决_第1张图片

  • 下载jdk:wget http://download.oracle.com/ot...

3、安装

  • rpm -ivh jdk-8u151-linux-x64.rpm

4、配置环境变量

  • 安装完成查看java路径

  • rpm包安装的不配置环境变量也可以使用,但是为了之后使用方便,还是配置一下比较好,在/etc/profile文件里追加如下内容:

JAVA_HOME=/usr/java/jdk1.8.0_151 JRE_HOME=$JAVA_HOME/jre CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_HOME CLASS_PATH PATH

  • 使环境变量生效:source /etc/profile

5、安装成功

  • 输入java -version、javac -version两个命令,命令执行成功,表示安装成功

scp -r z/ node02:$PWD

6、ntp服务安装

yum install -y ntp

chkconfig ntpd on

ntpdate cn.pool.ntp.org

 

//主节点master245修改vi /etc/ntp.conf

去掉注释:restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

service ntpd start

//子节点设置

ntpdate -u master245

service ntpd start systemctl start mysqld.service

chkconfig ntpd on

 

 

8、MySQL 5.7

set global validate_password_policy=0;

判断密码的标准就基于密码的长度了。这个由validate_password_length参数来决定。

select @@validate_password_length;

set global validate_password_length=1;

select @@validate_password_mixed_case_count;

set global validate_password_mixed_case_count=2;

select @@validate_password_length;

安装cm报错 是mysql的密码过于简单 上面是解决方案 详情见http://www.cnblogs.com/ivictor/p/5142809.html

进入mysql命令行,创建数据库

//hive

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

//activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

如果需要安装Oozie请创建

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

1). --hive 数据库

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

2). --集群监控数据库

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3). --hue 数据库

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

4). --oozie 数据库

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

解除 Linux 系统的最大进程数和最大文件打开数限制:

vi /etc/security/limits.conf

# 添加如下的行

* soft noproc 11000

* hard noproc 11000

* soft nofile 65535

* hard nofile 65535

说明:* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数

i) 特殊配置(CM 要求):

1、echo 0 > /proc/sys/vm/swappiness

2、echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

 

 

 

9、安装CM Server和Agent

 

1、vi /etc/sudoer 在 master 节点上

# Defaults requiretty

加一行:cloudera-scm ALL=(ALL) NOPASSWD: ALL

 

 

 

1 主节点解压安装

cloudera manager 的目录默认位置在/opt下,解压:将解压后的目录放在、opt目录下

2 为cloudera Mavager5创建数据库

在mysql官网砂锅面下载JDBD驱动http://dev.mysql.com/downloads/connector/j/,解压后,找到 mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.1.3/share/cmf/lib/中。

在主节点初始化CM5的数据库

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

3、Agent配置

修改/opt/cm-5.5.0/etc/clousera-scm-agent/config.ini中server_host为主节点的主机名

同步到Agent到其他节点

scp -r /opt/cm-5.5.0 root@cdh3:/opt/

 

4、在所有节点创建cloudera-scm用户

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

最后将CDH-5.5.0-1.cdh5.5.0.p0.8-el7.parcel.sha1 从命名CDH-5.5.X-1.cdh5.5.0.p0.8-el7.parcel.sha,

5、启动CM ServerAgent

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

/opt/cm-5.5.0/etc/init.d/cloudera-scm-server start(在每个节点上面启动)

注意 server 首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特

殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。可以查看

CM 日志。

tail -f /opt/cm-5.4.5/log/cloudera-scm-server/cloudera-scm-server.log

10、CDH5的安装配置

通过浏览器访问主节点7180端口测试(由于CM Server的启动需要花点时间,这里可能等待一会才能访问)

默认的密码均是admin

 

 

CDH5.5.X安装及出现的问题解决_第2张图片

 

 

 


 

CDH5.5.X安装及出现的问题解决_第3张图片

CDH5.5.X安装及出现的问题解决_第4张图片

 

CDH5.5.X安装及出现的问题解决_第5张图片

 

CDH5.5.X安装及出现的问题解决_第6张图片

 

CDH5.5.X安装及出现的问题解决_第7张图片

接下来是服务器检查,可能会遇到以下问题:

Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在

运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能

会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:

通过 echo 0 > /proc/sys/vm/swappiness 即可解决

 

 

CDH5.5.X安装及出现的问题解决_第8张图片

 

CDH5.5.X安装及出现的问题解决_第9张图片

 

 

解决:echo never > /sys/kernel/mm/transparent_hugepage/defrag

 

CDH5.5.X安装及出现的问题解决_第10张图片CDH5.5.X安装及出现的问题解决_第11张图片

 

如果没有什么特别需要的,按照默认即可

CDH5.5.X安装及出现的问题解决_第12张图片

CDH5.5.X安装及出现的问题解决_第13张图片

 

设置之后要设值namenode和secouderynamenode的物理内存,最低1G

 

 

 

 

CDH5.5.X安装及出现的问题解决_第14张图片

 

出现安装失败后重装

 

 

1、安装失败之后重装

1、删除Agent节点的UUID

rm-rf /opt/cm-5.1.3/lib/cloudera-scm-agent/*

2、清空主节点CM数据库

进入主节点的Mysql数据库,drop database scm;

3、删除Agent节点namenode和datanode节点信息

rm-rf /opt/dfs/nn/*

rm-rf /opt/dfs/dn/*

4、在主节点上重新初始化CM数据库

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

5、执行启动脚本

主节点:/opt/cm-5.1.3/etc/init.d/cloudera-scm-server start

从节点:/opt/cm-5.1.3/etc/init.d/cloudera-scm-server start

http://主节点IP:7180/cmf/login

1.段错误

访问的内存超过了系统所给这个程序的内存空间,由gdtr保存

[root@cdh2 ~]# /opt/cm-5.1.3/etc/init.d/cloudera-scm-agent start

Starting cloudera-scm-agent: /opt/cm-5.1.3/etc/init.d/cloudera-scm-agent: line 106: 5277 Segmentation fault nohup $AGENT_SCRIPT $CMF_AGENT_ARGS >> $AGENT_OUT 2>&1 < /dev/null

[FAILED]

 

错误:当程序试图访问了不被允许的内存区域,(比如,尝试写一块数据操作系统的内存,)或以错误的类型访问了内存区域(比如,尝试了一块只读内存),详细的说 段错误应该就是访问了不可访问的内存,这个内存要么不存在的 要么是受系统保护的。

解决:

1、装一个 wget "http://ftp.gnu.org/gnu/gdb/gdb-7.11.tar.gz"这个是帮助解决段错误的网址

2、提取它 tar -xvzf gdb-7.11.tar.gz

3、配置并编译 cd gdb-7.11.tar.gz ./configure make

4、安装GDB make install 默认情况下,这将在/ usr / local / bin和/ usr / local / lib中的libs中安 装gdb二进制文件

 

2.拒绝访问mysql数据库

错误 :你的密码太过于简单,5.7版本的密码策略,

解决:修改之后发现还是这个问题 ,在网上搜到修改mysql密码和密码策略之后就可以,但是这个还是没有解决这个问题 ,装的mysql5.6没有出现这个问题

3、cloudrea-scm-agent start 启动失败

查询日志 在/opt/cm-xxx/下面没有Agent目录

 

 

CDH5.5.X安装及出现的问题解决_第15张图片

解决:

删除~/.ssh/known_hosts文件,或者如果你可以判断出known_hosts中原ssh服务器的公钥,删去那部分,然后后再次建立新的连接,即可获得新的公钥。

 

集群添加新的节点、新增主机

 

 

CDH5.5.X安装及出现的问题解决_第16张图片

 

当ValueError: too many values to unpack
出现这个问题会导致parcel一直处于分发阶段

解决方案:
修改/usr/lib64/cmf/agent/build/env/lib/python2.7/site-packages/cmf-5.5.0-py2.7.egg/cmf/client_configs.py脚本的第444行代码.
修改为:(一定要粘贴复制,原因:python代码的格式要求比较严,)

for line in output.splitlines():

      if line.startswith("/"):

        if len(line.rstrip().split(" "))<=4:

          path, _, _, priority_str = line.rstrip().split(" ")

 

          # Ignore the alternative if it's not managed by CM.

          if CM_MAGIC_PREFIX not in os.path.basename(path):

            continue

 

          try:

            priority = int(priority_str)

          except ValueError:

            THROTTLED_LOG.info("Failed to parse %s: %s", name, line)

 

          key = ClientConfigKey(name, path)

          value = ClientConfigValue(priority, self._read_generation(path))

          ret[key] = value

 

        else:

          pass

    return ret

 

 

你可能感兴趣的:(CDH5.5.X安装及出现的问题解决)