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


二、环境安插

留神有所操作都亟需拔取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到第三台,以此类推,直到配置到终极一台机器,将最终一台机器的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-5分钟,暗中认同的用户名和密码均为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管理页面一个一个添加

事先安装时精选一次性安装一多元服务,由于尚未新建hue数据库导致hue服务安装不上,所从前边选拔一个一个设置,在最初搭建环境时如此更好,起码出现难点可以锁定是哪位服务。

分步安装服务手续为:
点击页面上Cloudera MANAGE本田UR-V,回到主节点页面

图片 10

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

图片 11

图片 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 MANAGE奥迪Q5)看一下集群的风貌
[图表上传失利…(image-73a4ff-1513586472070)]

绿色:良好
香艳:运转不良
丁香紫:存在难点

翻看日志

CM纵然配置麻烦,但日志齐全,每种操作,都能找到呼应的运营日志,日志对于同盟、调试和查看职责进度都有很大的鼎力相助

群集日志入口为

图片 13

各服务节点也有日记入口,辅助日志筛选
分为stdout(所有日志), stderr(错误日志), 在细节上接济分级别(INFO, TRACE,
DEBUG等)筛选

Q&A

ps. 这一部分有截取网上的缓解方案,也有投机蒙受的题材

  1. 在陈设形成之后,会晤世大批量题材,其中有多量警告,是由于var/log/*的权力难题导致的。
    在master上,运行chmod -GL450 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的端口不再是9000和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后,报警:群集中有704个副本不足的块,百分比副本不足的块:100%。临界阈值:40%
    赶尽杀绝方案:通过命令更改已经上传的文本的副本数(使用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

相关文章