Hadoop是走俏的Apache开源项目,纪录下Hadoop集群的搭建进度及旅途踩过的坑

序言

记录下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


贰 、环境安排

专注有所操作都急需选择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无密码登录(集群内节点可以互相无密码访问)

    思路:第①台机器配置authorized_keys,scp到第叁台机械,将第①台机械的公钥添加到authorized_keys,然后将其scp到第3台,以此类推,直到配置到结尾一台机器,将最后一台机械的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
    重新配置数据库
    /opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -p scm scm
    起步Cloudera server和agent,依据事先步骤安装即可

条件搭建


⑤ 、参考网站

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-肆秒钟,私自认同的用户名和密码均为admin

check:本机可以先curl -i
master:7180/cmf/login测试,有再次来到结果后,在浏览器端,输入ip:7180/cmf/login进行安顿

note:
此处注意,若本机可curl连接上,但其它主机连接不上,考虑:主机防火墙是或不是健康关闭;两台主机是还是不是在同一个局域网

图片 1

pic1 . 进入页

图片 2

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

图片 3

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

当各Agent节点平常运行后,可以在当下管理的主机列表中看到相应的节点。接纳要设置的节点,点持续。
下一步,出现parcel自检测包名,假如当地Parcel包配置无误,选目标版本(例如CM5.7.1),直接点继续就能够了(若没有出现对应版本,则重启CM
server和agent)。

图片 4

pic3. parcel包版本检测
延续,假设安插本地Parcel包无误,那么下图中的已下载,应该是一念之差就马到功成了,然后就是耐心等待分配进程就行了,这一个进程的快慢就取决于节点之间的传输速度。

图片 5

此时此刻受管:假若在安装的时候现身难点,如网络连接中断,机器死机,继续设置的时候或者会冒出查询不到机械,并且依照ip搜索机器的时候,现身“当前受管”的图景为“是”,安装战败的机器不或许再选拔了。

图片 6

图片 7

迄今停止,全体节点布署到位

下一步主机检查,际遇以下难点:

图片 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

实施完成,重启后,警告还是,一时半刻不处理。

此起彼伏之后,进入到设置服务页面

图片 9

note:从这里起始,全数的劳务,既可以经过下述自助来安装一多种服务;也可以手动在CM管理页面3个两个添加

前面设置时选用一次性安装一文山会海服务,由于没有新建hue数据库导致hue服务安装不上,所将来边采纳贰个壹个安装,在最初搭建环境时这样更好,起码出现难点得以锁定是哪些服务。

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

图片 10

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

图片 11

图片 12

HDFS,HIVE, HUE,Oozie, YA中华VN,
ZOOKEEPE福特Explorer是大旨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 MANAGE福睿斯)看一下集群的场景
[图片上传失利…(image-73a4ff-1513586472070)]

绿色:良好
风流:运转不良
新民主主义革命:存在难点

查看日志

CM纵然配置麻烦,但日志齐全,每种操作,都能找到相应的运转日志,日志对于同盟、调试和查阅职务进程都有很大的协理

群集日志入口为

图片 13

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

Q&A

ps. 那部分有截取网上的缓解方案,也有谈得来蒙受的题材

  1. 在计划形成将来,会并发大量题材,其中有大气警戒,是出于var/log/*的权位难点造成的。
    在master上,运转chmod -安德拉 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四个副本不足的块,百分比副本不足的块:百分百。临界阈值:百分之四十
    焚林而猎方案:通过命令更改已经上传的文本的副本数(使用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

相关文章