Hadoop是抢手的Apache开源项目,本文集群搭建为四台机器

序言

记录下Hadoop集群的搭建过程及旅途踩过的坑,希望能对正值读书的同学有个帮扶,少走点弯路~

PS:为了方便个人博客运管理理,此文从CSDN迁移过来,属于个体实操纪录的笔记,持续更新~

PPS:本文集群搭建为四台机器,不提出大家如此弄,因为zookeeper发挥最大作用的配备是超乎2
的奇数台机器。

PPPS:分外请下方留言,我们相互沟通,分享使作者喜欢~~

  • 概述
  • 文件下载
  • 条件搭建
  • 安装Cloudera Manger
  • 日记查看
  • Q&A

① 、早先时期准备

  1. 安装环境
    系统陈设:

     系统:centos 7 最小安装版 64位
     内存:10G 10G 10G 8G
    

    四台机械组成小集群(物理机)

     CDH-DEV1 CDH-DEV2 CDH-DEV3 CDH-DEV4
    
  2. 亟待下载的安装包

    小心下载相应系统的安装包

         CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel
         CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1
         manifest.json
    
  3. Installing Cloudera Manager and
    CDH


2、环境布置

只顾有所操作都亟待运用root权限操作

  1. 主导配备(全部节点)

    修改 /etc/hostname

     CDH-DEV1
    

    修改
    /etc/hosts,此处一定要专注,不要依据网上有的表明,将127.0.0.1那一行里的localhost.localdomain改成主机名称,在安装Cloudera
    Agent的时候会识别不盛名称和IP

    image.png

修改 /etc/sysconfig/network

    NETWORKING=yes
    HOSTNAME=CDH-DEV1
  1. Java环境(全体节点)

    下载jdk-8u144-linux-x64.tar.gz
    解压到/usr/java(可依据个体习惯创立目录)

     tar xzvf jdk-8u144-linux-x64.tar.gz
    

    布局环境变量

     [root@CDH-DEV1 .ssh]# vim /etc/profile #在文件末尾添加下面三行
    
     export JAVA_HOME=/usr/java/jdk1.8.0_144
     export PATH=$JAVA_HOME/bin:$PATH
     export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    
     [root@CDH-DEV1 .ssh]# source /etc/profile #使生效
    
  2. SSH无密码登录(集群内节点可以互相无密码访问)

    思路:第3台机器配置authorized_keys,scp到第1台机器,将第②台机器的公钥添加到authorized_keys,然后将其scp到第叁台,以此类推,直到配置到最终一台机械,将最后一台机械的authorized_keys
    scp到具备节点,如下

    1)在主节点(CDH-DEV1)执行

     [root@CDH-DEV1 .ssh]# ssh-keygen -t rsa
     [root@CDH-DEV1 .ssh]# cat id_rsa.pub >> authorized_keys
     [root@CDH-DEV1 .ssh]# chmod 600 authorized_keys
     [root@CDH-DEV1 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh
    

    2)在CDH-DEV2执行

     [root@CDH-DEV2 .ssh]# ssh-keygen -t rsa
     [root@CDH-DEV2 .ssh]# cat id_rsa.pub >> authorized_keys
     [root@CDH-DEV2 .ssh]# chmod 600 authorized_keys
     [root@CDH-DEV2 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh
    

    3)在CDH-DEV2执行

     [root@CDH-DEV3 .ssh]# ssh-keygen -t rsa
     [root@CDH-DEV3 .ssh]# cat id_rsa.pub >> authorized_keys
     [root@CDH-DEV3 .ssh]# chmod 600 authorized_keys
     [root@CDH-DEV3 .ssh]# scp authorized_keys root@CDH-DEV4:~/.ssh
    

    4)在CDH-DEV2执行

     [root@CDH-DEV4 .ssh]# ssh-keygen -t rsa
     [root@CDH-DEV4 .ssh]# cat id_rsa.pub >> authorized_keys
     [root@CDH-DEV4 .ssh]# chmod 600 authorized_keys
     [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV1:~/.ssh
     [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV2:~/.ssh
     [root@CDH-DEV4 .ssh]# scp authorized_keys root@CDH-DEV3:~/.ssh
    
  3. 设置MySQL(主节点安装即可)

    设置步骤:
    (1)此处须要留意的是centos 7
    暗中同意安装的是mariadb,假设不卸载间接设置的话会报错,报错信息mariadb-libs is obsoleted by mysql-community-libs-5.7.9-1.el7.x86_64

     rpm -qa | grep mariadb #查看安装信息
     rpm -e mariadb-libs* --nodeps #根据查找到的软件包信息卸载
    

    (2)安装MySQL(必须按以下依次安装)

     rpm -ivh mysql-community-common-5.7.20-1.el7.x86_64.rpm
     rpm -ivh mysql-community-libs-5.7.9-1.el7.x86_64.rpm
     rpm -ivh mysql-community-client-5.7.9-1.el7.x86_64.rpm
     rpm -ivh mysql-community-server-5.7.9-1.el7.x86_64.rpm
    

    (3)基本设置

     service mysqld start #启动服务
     vim /var/log/mysqld.log  #查看初始密码
     mysql -uroot -p   #登录
     set password = password('test01.') #设置密码
    
     #授权用户root使用密码passwd从任意主机连接到mysql服务器
     GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;
     flush privileges;
    

    (4)建数据库(用于末端组件安装)

     create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
     create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
  4. 关门防火墙(全数节点)
    centos 7 默许使用的是firewall,不是iptables

     systemctl stop firewalld.service
     systemctl mask firewalld.service
    
  5. 闭馆SELinux(全部节点)

     [root@CDH-DEV1 .ssh]# vim /etc/selinux/config
    
     设置SELINUX=disabled
    
  6. 配备NTP服务(全体节点)

     安装
     [root@CDH-DEV1 .ssh]# yum install ntp
     设置开机启动
     [root@CDH-DEV1 .ssh]# chkconfig ntpd on
     服务启动
     [root@CDH-DEV1 .ssh]# service ntpd start
    
  7. 持有节点上开创用户

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

概述

大数目时期,Hadoop是走俏的Apache开源项目,公司大多基于其商业化从而满意本身的数量作业供给。CDH(Cloudera’s
Distribution, including Apache
Hadoop),是Hadoop众多分层中的一种,由Cloudera维护,整合Hadoop及一多重数据服务,关于CDH,官网给予的解说如下:

Critical Capabilities for Data Warehouse Database Management Systems

官网提供安装包、安排手册以及API表明
设置进度参考:
http://blog.csdn.net/jdplus/article/details/45920733
http://blog.csdn.net/a921122/article/details/51939692

依照其上,实行适度的改动和全面

三、安装

  1. 安装Cloudera Manager Server 和Agent

(1)将下载好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的公文夹为clouderacm-4.13.0

(2)为Cloudera
Manager建立数据库,此处供给前边下载好的mysql-connector-java-5.1.44-bin.jar

scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/

/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

(3)配置Agent

vim opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini
server_host=CDH-DEV1

#拷贝到其他节点
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev2:/opt/
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev3:/opt/
[root@CDH-DEV1 parcel-repo]# scp -r /opt/cm-5.13.0/ root@cdh-dev4:/opt/

(4)准备parcels,将CDH相关文件拷贝到主节点/opt/cloudera/parcel-repo/

#相关文件    
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel
CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1
manifest.json

#操作
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/opt/cm-5.13.0/share/cmf/lib/
scp mysql-connector-java-5.1.44-bin.jar root@CDH-DEV1:/usr/share/java/

需要将CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1改成CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha,不然安装时会重新下载,很重庆大学!!

[root@CDH-DEV1 parcel-repo]# mv CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha1 CDH-5.13.0-1.cdh5.13.0.p0.29-el7.parcel.sha

(5)启动

#主节点
/opt/cm-5.13.0/etc/init.d/cloudera-scm-server start

#主节点及其他节点
/opt/cm-5.13.0/etc/init.d/cloudera-scm-agent start

启航需求点时间,能够查看数据库scm中的hosts表,假使内部出现节点音讯表示server运转完毕

  1. 起来设置Hadoop集群

签到界面,暗中同意登录用户名和密码都以admin

image.png

挑选安装版本

image.png

为CDH群集安装钦定主机

那边是在现阶段管理的主机里挑选机器,不要在新主机里搜寻,此外这些地点显得的主机消息一定要对,笔者起头的时候因为主机名配置出标题,导致力不从心分辨主机名称和IP,纵然agent的uuid是分配到了四台机器上,可是后边的安装不可能进展。

image.png

群集安装

image.png

群集安装–安装钦点parcel

分红时间受带宽影响,笔者的是千兆调换机组成的局域网,速度还是能,应该不到十分钟

image.png

自笔者批评主机正确性

image.png

第四个警示直接在富有节点上实施echo 10 > /proc/sys/vm/swappiness
其次个警示遵照地点的证实,在颇具节点上执行那两条命令
echo never > /sys/kernel/mm/transparent_hugepage/defrag >> /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled >> /etc/rc.local

群集设置–选取设置服务–按需选取
群集设置–自定义剧中人物–私下认可即可
群集设置–数据库设置

image.png

此处hue老出难点,平素化解不了,为了整条线走下去,而且目测hue基本用不到,所以选择了放弃安装hue.
贴一下网上找的多少个缓解办法,小编都试了,没有化解,不清楚什么样难点,以往研讨研究

群集设置–审查–私下认可即可
群集设置–第③次设置–私下认可即可

起来设置服务
那里hive
,oozie会安装失利,退步音信如下。因为我们选择了MySQL作为hive元数据存款和储蓄,须要将mysql驱动拷贝到hive和oozie目录下

image.png

image.png

解决方法(须要在享有节点上推行)

cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /opt/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/lib/hive/lib/
cp /opt/cm-5.13.0/share/cmf/lib/mysql-connector-java-5.1.44-bin.jar /var/lib/oozie/        

安装到位

image.png

文件下载

  1. Cloudera Manager
    地址:http://archive.cloudera.com/cm5/cm/5/
    这边下载的是5.13.1的版本,http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.13.1\_x86\_64.tar.gz
  2. CDH安装包
    地址:http://archive.cloudera.com/cdh5/parcels
    本文基于CentOS7,下载的parcels包及manifest文件对应的本子为e17:
    CDH-5.13.1-1.cdh5.9.0.p0.23-el7.parcel
    CDH-5.13.1-1.cdh5.9.0.p0.23-el7.parcel.sha1
    manifest.json
  3. JDBC
    http://download.softagency.net/MySQL/Downloads/Connector-J/
    mysql-connector-java-5.1.39.tar.gz

    note : JDBC近来早已有6.x,但与CDH
    5.x存在不匹配,那里提供5.1.39下载包

肆 、踩过的坑

  1. 数据库配置
    难点讲述:开首给Cloudera
    Manager配置数据库的时候,找的是网上的吩咐,/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p --scm-host localhost scm scm scm,一直报错,不知道怎么样难题,报错音信java.sql.SQLException: Your password does not satisfy the current policy requirements,各个改密码复杂度及降低数据库密码复杂度供给都尤其,困惑是CDH版本更新命令参数发生了扭转
    焚林而猎办法,去掉一部分参数,
    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -uroot -p scm scm

  2. cloudera-scm-server启动,cm-5.13.0/etc/init.d/cloudera-scm-server:行109: pstree: 未找到命令,centos最小安装版缺乏软件包,安装即可,yum install psmisc

  3. 半路安装战败,重新安装

    关门全部服务

     #主节点
     [root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-server stop
     #主节点及其他节点
     [root@CDH-DEV1 opt]# /opt/cm-5.13.0/etc/init.d/cloudera-scm-agent stop
    

    删除agent uuid

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

    去除数据库scm
    895959.com,重新配置数据库
    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm
    开发银行Cloudera server和agent,依据事先步骤安装即可

环境搭建


5、参考网站

Installing Cloudera Manager and
CDH

Cloudera Manager
5和CDH5离线安装,CDH-5.7.1

离线安装Cloudera Manager 5和CDH5(最新版5.1.3)
完全教程

1. 互联网铺排(全体节点)

修改主机名:vim /etc/sysconfig/network

HOSTNAME=master

设置网络为运行后自动再三再四,相关的装置文件为vim
/etc/sysconfig/network-scripts/ifcfg-ethXX/

ONBOOT=yes

修改IP与主机名的相应关系:vim /etc/hosts

192.168.39.31 master
192.168.39.20 node1
192.168.39.23 node2

写在前面

码字不易,觉得好点个赞哈~~

2. 安装SSH无密码访问(全数节点)

执行一下指令,一路回车,生成无密码的密钥对。

# ssh-keygen -t rsa

将公钥添加到认证文件中, 并设置authorized_keys的拜会权限

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 ~/.ssh/authorized_keys

透过scp命令将各节点的印证文件拷贝到全体别的节点使得各节点能够相互访问。

3. 设置Oracle Java(全部节点)

Linux恐怕自带OpenJDK,但运维CDH5须要采纳Oracle的JDK,须求Java
7以上版本的援助。

1. 卸载自带的OpenJDK 使用下述命令查询相关的java包

# rpm -qa | grep java

使用-e选项填入包名卸载

# rpm -e --nodeps packageName

2. 安装Oracle java Oracle的官网下载jdk的rpm安装包,并接纳rpm -ivh
packageName安装
3. 安插java环境变量 修改环境变量,vim
/etc/environment(和/etc/profile分化,大家可自动去网上搜索)
添加如下(使用rpm安装的java在/usr/java/jdk1.8XXXX)

export JAVA_HOME=/usr/java/jdk1.8XXXX

执行命令使环境变量生效

# source /etc/environment

4. 装置配备MySQL(主节点)

安装mysql

# yum -y install mysql mysql-server mysql-devel

启动mysqld

# service mysqld start

开机运行

# chkconfig mysqld on

安装root用户密码

# mysql -u root -p xxxxxx

跻身mysql命令行,创立以下数据库:

#hive 
> createdatabase hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
> createdatabase amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue
> createdatabase hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity oozie (可选)
> createdatabase oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

授权root用户在主节点拥有具有数据库的造访权限

> grant all privileges on *.* to'root'@'master' identified by'xxxx'with grant option;
> flush privileges;
> 

5. 关门防火墙和SELinux

关闭防火墙


1.关门集群拥有服务器的防火墙

[root@ip-172-31-6-148~]# chkconfig iptables off
[root@ip-172-31-6-148~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@ip-172-31-6-148 ~]# 

2.检查集群拥有服务器防火墙是不是关闭

[root@ip-172-31-6-148~]# service iptables status
iptables: Firewall is not running.
[root@ip-172-31-6-148~]# 

禁用SELinux


1.在集群拥有节点执行如下命令

[root@ip-172-31-6-148~]# setenforce 0

2.修改集群拥有节点配置文件/etc/selinux/config

[root@ip-172-31-6-148~]# vim /etc/selinux/config 

# This file controls the state ofSELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policyis enforced.
#     permissive - SELinux printswarnings instead of enforcing.
#     disabled - No SELinux policy isloaded.
SELINUX=disabled
# SELINUXTYPE= can take one of thesetwo values:
#     targeted - Targeted processes areprotected,
#     mls - Multi Level Securityprotection.
SELINUXTYPE=targeted

3.表达是或不是禁止使用成功

[root@ip-172-31-6-148~]# sestatus -v
SELinux status:                 disabled
[root@ip-172-31-6-148~]# 

6. 布局时钟同步


假如商行有友好的NTP Server则足以集群中有着节点可配置集团NTP
Server,假诺没有团结的NTP服务器则在集群中选择一台服务器作为NTP
Server,其余服务器与其保障同步,配置如下:

1.在集群拥有节点安装NTP服务

[root@ip-172-31-6-148~]# yum -y install ntp

2.精选集群一台服务器作为NTP Server,配置如下

[root@ip-172-31-6-148~]# vim /etc/ntp.conf

#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 iburst
server  127.127.1.0     #local clock
fudge   127.127.1.0 stratum 10

3.集群别的节点与其同台,配置如下:

[ip-172-31-5-190 ~]# vim /etc/ntp.conf

# Use public servers from thepool.ntp.org project.
#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 iburst
server 172.31.6.148

4.完成以上配置后,在集群拥有节点执行如下命令

[root@ip-172-31-6-148~]# chkconfig --add ntpd
[root@ip-172-31-6-148~]# chkconfig ntpd on
[root@ip-172-31-6-148~]# service ntpd restart
Shutting down ntpd:                                        [  OK  ]
Starting ntpd:                                             [  OK  ]
[root@ip-172-31-6-148~]# 

5.验证怀有节点NTP是还是不是同步

[root@ip-172-31-5-190~]# ntpq -p
     remote           refid      st t when pollreach   delay   offset jitter
==============================================================================
*ip-172-31-6-148210.23.25.77     2 u 448 1024  377    0.255   3.245   7.859
[root@ip-172-31-5-190~]# 

Cloudera Manager安装与集群配置

1. 主节点CM安装

解压:tar xzvf
cloudera-manager*.tar.gz将解压后的cm-5.9和cloudera目录放到/opt目录下。
建立数据库:找到前边下载的mysql-connector-java-5.1.39.tar.gz,解压后将mysql-connector-java-5.1.39-bin.jar放到/opt/cm-5.9/share/cmf/lib/中。
初阶化数据库:

# /opt/cm-5.9/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode1 -uroot -p123456 --scm-host node1 scm scm scm

note:在这里后面的参数分别是:数据库类型 数据库名称 数据库主机名 数据库用户名 密码 --scm-host cmserver主机名 scm scm scm

2. Agent配置
修改/opt/cm-5.9/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
同步Agent到别的全数节点: scp -r /opt/cm-5.9 root@node2:/opt/
在有着节点创设cloudera-scm用户

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

3. 安装CDH5
1. 准备Parcels
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需求手动创造)。
连锁的公文如下:
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1
manifest.json
最终执行命令,重命名.sha文件

# mv CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha1 CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.sha

2. 启动CM

# /opt/cm-5.7.1/etc/init.d/cloudera-scm-server start
# /opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start

其他命令还有stop(截至), status(状态), restart(重启)

4. CDH集群配置
Cloudera Manager Server和Agent都运转今后,就足以开始展览CDH5的装置配备。

开辟浏览器,访问master:7180/cmf/login

是因为CM
Server的启航须求花点时间,那里也许要等待一会才能访问成果,大概必要3-6秒钟,暗许的用户名和密码均为admin

check:本机能够先curl -i
master:7180/cmf/login测试,有重返结果后,在浏览器端,输入ip:7180/cmf/login进行配置

note:
此处注意,若本机可curl连接上,但别的主机连接不上,考虑:主机防火墙是还是不是正规关闭;两台主机是还是不是在同3个局域网

895959.com 1

pic1 . 进入页

895959.com 2

pic2. CDH版本(CDH Express免费, Enterprise收费)

895959.com 3

note:以下图借用CM 5.7安装图

当各Agent节点不奇怪运行后,能够在此时此刻保管的主机列表中看到对应的节点。选取要安装的节点,点持续。
下一步,出现parcel自检查和测试包名,借使地点Parcel包配置无误,选指标版本(例如CM5.7.1),间接点继续就可以了(若没有出现对应版本,则重启CM
server和agent)。

895959.com 4

pic3. parcel包版本检查和测试
持续,假设布署本地Parcel包无误,那么下图中的已下载,应该是须臾间就做到了,然后正是耐心等待分配进度就行了,那一个历程的进程就取决于节点之间的传输速度。

895959.com 5

现阶段受管:如果在设置的时候出现难题,如网络连接中断,机器死机,继续设置的时候恐怕会油然则生查询不到机械,并且依照ip搜索机器的时候,出现“当前受管”的情景为“是”,安装失败的机器不可能再选取了。

895959.com 6

895959.com 7

时至后天,全部节点安排到位

下一步主计算机检索查,蒙受以下难点:

895959.com 8

Cloudera 提议将 /proc/sys/vm/swappiness 设置为 10。当前安装为 60。使用
sysctl 命令在运作时更改该装置并编制 /etc/sysctl.conf
以在重启后保存该装置。

# echo 10 > /proc/sys/vm/swappiness

第一个警示,提示执行命令:

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

施行实现,重启后,警告依旧,如今不处理。

持续之后,进入到设置服务页面

895959.com 9

note:从此间初步,全部的劳动,既可以由此下述自助来设置一多如牛毛服务;也足以手动在CM管理页面2个一个抬高

在此以前设置时选用3次性安装一层层服务,由于并未新建hue数据库导致hue服务安装不上,所在此之前边选拔二个二个安装,在初期搭建环境时这样更好,起码出现难点得以锁定是哪些服务。

分步安装服务手续为:
点击页面上Cloudera MANAGE福特Explorer,回到主节点页面

895959.com 10

并发cluster1群集1,点击下拉,接纳“添加服务”

895959.com 11

895959.com 12

HDFS,肺痈E, HUE,Oozie, YA奇骏N,
ZOOKEEPELacrosse是大旨Hadoop的多少个服务,分别安装,由于那些节点存在依靠关系,需注意先后顺序(当然,安装时CM会警告),顺序是:
Zookeeper, hdfs, yarn, hive, oozie, hue

只顾:在设置hive, hue和oozie时,要将mysql驱动jar拷贝到相应地点

# cp /opt/cm-5.9/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib/  
# cp /opt/cm-5.9/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23 /lib/hue/lib/  
# cp /opt/cm-5.9  /share/cmf/lib/mysql-connector-java-*-bin.jar /var/lib/oozie/

按需安装完服务后,可在集群界面(即Cloudera MANAGEPRADO)看一下集群的场所
[图形上传失败…(image-73a4ff-1513586472070)]

绿色:良好
风骚:运转不良
辛巳革命:存在问题

翻看日志

CM即便配置麻烦,但日志齐全,各类操作,都能找到相应的运营日志,日志对于合作、调节和测试和查阅职务进程都有相当的大的协理

群集日志入口为

895959.com 13

各服务节点也有日记入口,援救日志筛选
分成stdout(全部日志), stderr(错误日志), 在细节上支撑分级别(INFO, TRACE,
DEBUG等)筛选

Q&A

ps. 那部分有截取网上的缓解方案,也有协调遭遇的题材

  1. 在计划到位之后,会产出大批量题材,在那之中有雅量告诫,是由于var/log/*的权力难点导致的。
    在master上,运行chmod -奥迪Q5 777对应的公文夹修改权限即可。

  2. 并发oozie和hive不能打响运行
    貌似是因为紧缺jdbc,复制到相应地方即可,地方请。恐怕是由于mysql数据库中的表造成的,大概是表已经存在了

  3. service monitor和host monitor都爱莫能助起动
    诚如也是由于var/log/*的权杖难题导致的

  4. service monitor和host monitor通常运行,不过无法获得到图片数据
    撤销admin重新进入,可能等一下

  5. hdfs不可能健康运维
    恐怕是因为/dfs的权位原因,提升/目录的权限

  6. hdfs和yarn的端口不再是玖仟和10020,暗中同意的是8020和8021

  7. 比方运用Windows远程调试,请保管host文件(C:/Windows/System32/drivers/hosts)和集群上的host文件内容同样。

  8. 长机崩溃怎么办?
    相似的话崩溃了,直接重启就好。不太早晚记得要重新启航cm的agent和server服务

  9. 通过CM启动Hive报错 org.apache.hadoop.hive.
    metastore.HiveMetaException: Failed to load driver
    那种情状,是不够jdbc驱动,添加jdbc驱动到对应的lib下边。hive的lib路径是/opt/cloudera/parcels/CDH-5.9.0-1.cdh5.9.0.p0.23/lib/hive/lib

  10. 停放好lib之后,运行hive,接着出现java.sql.SQLException:Column name
    pattern can not be NULL or empty.
    缘由是,一开始采纳的jdbc
    lib是6.x的新式版本,但5.x和6.x在接连时针对一些暗中认可值的检查和测试值不一样,将CM内用到的有所jdbc
    lib修改为5.x后头消除了那个错误

  11. 起步hdfs后,报告警方:群集中有70多少个副本不足的块,百分比副本不足的块:百分之百。临界阈值:4/10
    消除方案:通过命令更改已经上传的文书的副本数(使用hdfs用户)

12.python连接hive时, Could not start SASL: Error in sasl_client_start
(-4) SASL(-4): no mechanism available: no
安装3个库

cyrus-sasl-plain
cyrus-sasl-devel
cyrus-sasl-gssapi