CDH6.2安装教程(详细步骤)

一.安装介绍

本文介绍CDH 安装,安装版本以当前最新版CDH 6.2为例。
本文介绍的安装方式为自建YUM源的离线安装方式

二.下载所需安装文件

CDH的离线安装需要下需以下文件:

三.确认主机安装环境

1.确认每台服务器的硬件是否满足要求:

空间要求: /var: 5GB /usr : 500MB CDH安装目录: 2GB

检查命令: df -h

内存要求: 4GB(min)

检查命令: free -m

2.检查系统版本:

检查命令:cat /etc/issue

需求版本:CentOS Linux release 7.3.1611 (Core), 支持7.X

3.检查服务器数据存储空间:
CDH的安装建议在每台服务器具有相同的数据存储路径, 并具可以有多个

四.规划集群部署

CDH建议最少3台服务器进行集群部署,本次安装采用三台服务器,规划:

主机名 IP 角色
master01 192.168.1.205 Hadoop Master,CM Server,数据节点,Mysql
slave01 192.168.1.206 数据节点,CMAgent
slave02 192.168.1.207 数据节点,CM Agent

五.修改主机名

使用命令

hostnamectl set-hostname xxx

分别修改三台主机的主机名,如:

hostnamectl set-hostname master01
hostnamectl set-hostname slave01
hostnamectl set-hostname slave02

六.更改主机HOSTS映射文件

将所有集群服务器的IP 主机名都写到/etc/hosts文件中,因为后面的安装服务器选择,都是通过主机名选择。如:在每台服务器的/etc/hosts中增加以下内容:


image.png

七.更改主机HOSTS映射文件

1.停掉系统防火墙服务命令:

systemctl disable firewalld
systemctl stop firewalld

2.停掉系统SELinux
使用以下命令查看SELinux是否开起:
如果输出为: Enable, 则SELinux为开启状态,则使用以下操作关闭:

  • 更改系统配置文件: /etc/sysconfig/selinux
    将行 SELINUX=enforcing 更改为: SELINUX=disabled
  • 重启系统: reboot

八.检查主机时间同步

  • CentOS 7默认以chronycd服务作时间同步,而不以ntpd作为同步服务
    1.所有服务器都以master01作为同步服务器,在所有服务器更改文件:


    image.png

    a) 文件为: /etc/chrony.conf
    b) 以#注释其它所有默认时间服务器
    c) 增加行server master01 iburst

2.在master01上同时更改如下配置:

image.png

image.png

\color{rgb(255,0,0)}{注意上面的IP段填写正确。}

3.启动服务:

systemctl restart chronyd
systemctl enable chronyd

4.检查服务状态:

chronyc sources
image.png

九.检查主机参数配置

1.设置 vm. swappiness 核心参数:
在 /etc/sysctl.conf文件中追加行:

vm.swappiness = 0

使参数生效,执行命令:

sysctl -p

2.设置hugepage相关参数,执行以下命令:

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

并将该命令,追加到 /etc/rc.local文件中,使系统重启时生效。

十.确认Python环境

1.通过以下命令确定python是否安装以及版本:

python -V

2.Python的版本要求为: 2.6.x, 2.7.x, 如果没有安装或版本不正确,则通过以下方式安装:
a) 创建安装目录:

mkdir /usr/local/python27

b) 解压步骤 2 下载的Python-2.7.11.tgz安装文件:

tar -xvf Python-2.7.11.tgz

c) 进到解压目录里面,然后执行下以命令进行编绎安装:

cd Python-2.7.11
./configure --prefix=/usr/local/python27

更改 Modules/Setup文件

# zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

改为:

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

去年前面的注释,增加编绎zlib模块,impala-shell命令会用到。

# make
# make install 

d) 修改老版本指向:

# mv /usr/bin/python /usr/bin/python_old
# ln -s /usr/local/python27/bin/python /usr/bin/python

e) 再次使用上面的命令确认是否安装完成

十一.安装依赖包

CDH 6.2安装需要以下依赖包:

  • Python: 2.6 或 2.7版本
  • perl
  • python-psycopg2 : 用于连接postgresql, 如果用Mysql数据库,就不用安装
  • iproute
    以上软件在安装系统时软件选择“Compute Node”时,已全部安装. 一般不用操作!如果出现差包的情况,可参考<十五.制作本地YUM源>, 先制作好YUM源后,使用YUM命令安装。

十二.安装数据库并创建用户和数据库

只需要在master01主机上安装即可
集群的安装需要一个关系型数据库进行配置数据的存储,CDH支持 Oracle , Mysql, Postgrest, 以及一个内置数据库。本将安装采用mysql进行存储,安装过程为:

1.检测和卸载已安装的MYSQL软件:


image.png

image.png
  • 注意:CentOS7默认安装了mariadb库,所以mysql及mariadb都要检测

2.解压下载的MYSQL安装文件:

# tar -xvf mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar

3.安装MYSQL(注意:命令在一行, 全部复制执行):

rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm mysql-community-common-5.7.26-1.el7.x86_64.rpm mysql-community-devel-5.7.2ommunity-devel-5.7.26-1.el7.x86_64.rpm mysql-community-libs-*.rpm mysql-community-embedded-*.rpm
image.png

4.启动MYSQL

# systemctl start mysqld
# systemctl enable mysqld

5.获取MYSQL的root初始临时密码,在日志文件 /var/log/mysqld.log

# grep 'temporary password' /var/log/mysqld.log

6.更改root用户初始密码:

# mysql -uroot -p

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_length=6;
Query OK, 0 rows affected (0.00 sec)

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)

7.在MYSQL中创建需要用到的数据库:

mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE rmon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 
mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

8.在MYSQL中创建集群所用的统一登陆用户授权:

mysql> CREATE USER 'cdh'@'%' IDENTIFIED BY '123456'; 
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL ON *.* TO 'cdh'@'%';
Query OK, 0 rows affected (0.00 sec)

十三.拷贝JDBC驱动包到每台服务器

将Mysql驱动包mysql-connector-java-8.0.16.jar拷贝到每台服务器下的目录: /usr/share/java/

# cp mysql-connector-java-8.0.16.jar /usr/share/java/mysql-connector-java.jar

\color{rgb(255,0,0)}{注意:拷上去的文件改了名字的,必须!}

十四.安装JDK

上传JDK安装文件: jdk-8u211-linux-x64.rpm 使用以下命令安装上面已下载的JDK:

# rpm -ivh jdk-8u211-linux-x64.rpm

配置JAVA环境变量, 在 /etc/profile中追加以下内容:

export JAVA_HOME=/usr/java/default
export CLASSPATH=./:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

如图,如用以下命令难JDK是否安装成功:

image.png

十五.制作本地YUM安装源

安装ClouderaManager需要同时制作本地系统ISO源以及CM安装文件源。
以下第 2), 3) 步除红字增加YUM源文件操作需要在每台服务器上增加,其它准备步骤只在Master01上执行即可
1.删除其它文件, 每台服务器上执行

# rm -rf /etc/yum.repos.d/*.repo

2.制作本地系统ISO源
a) 上传ISO文件并挂载系统iso包成虚拟设备:

# mkdir /iso
# mount -o loop ./CentOS-7-x86_64-DVD-1611.iso /iso

b) 启动HTTP服务

# cd /iso
#python -m SimpleHTTPServer 7900

注意:该命令会一直卡住,后面的操作需另开SHELL窗口

c) 每台服务器上增加以下内容(黄行不是)到文件: /etc/yum.repos.d/centos.repo

[root@master01 ~]# cat /etc/yum.repos.d/centos.repo 
[c7-media]
name=CentOS-$releasever - Media
baseurl= http://192.168.1.205:7900
gpgcheck=1
enabled=1
gpgkey= http://192.168.1.205:7900/RPM-GPG-KEY-CentOS-7

注意地址是否正确,可以手动在浏览器中打开地址测试

3.制作CM YUM源
a) 准备文件

# mkdir -p /var/www/html/
# unzip ./cloudera-repos.zip -d /var/www/html/
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

如果Linux能联网也可使用以下命令直接在线下载文件:

# wget --recursive --no-parent --no-host-directories https://archive.cloudera.com/cm6/6.2.0/redhat7/ -P                   /var/www/html/cloudera-repos
# wget https://archive.cloudera.com/cm6/6.2.0/allkeys.asc -P /var/www/html/cloudera-repos/cm6/6.2.0/
# chmod -R ugo+rX /var/www/html/cloudera-repos/cm6

b) 启动HTTP服务

# cd /var/www/html
# python -m SimpleHTTPServer 8900

c) 每台服务器上增加以下内容到文件: /etc/yum.repos.d/cloudera-repo.repo

[root@master01 ~]# cat /etc/yum.repos.d/cloudera-repo.repo 
[cloudera-repo]
name=cloudera-repo
baseurl=http://192.168.1.205:8900/cloudera-repos/cm6/6.2.0/redhat7/yum
enabled=1
gpgcheck=0

十六.安装Clouder Manger

1.在master01主机上执行以下命令, 同时安装CM Server和CM Agent

# yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

安装需要一会时间,会安装依赖包: 
image.png

2.在每台服务器执行以下命令安装Agent:

# yum install -y cloudera-manager-agent cloudera-manager-daemons
  1. 配置Agent文件: /etc/cloudera-scm-agent/config.ini
    将 server_host=localhost
    更改为: server_host=master01
    (Cm server所在主机)


    image.png

十七.初始化CM 的配置数据库(只在CM Server(master01)上执行)

执行脚本 scm_prepare_database.sh 进行初始化,命令格式:

# cd /opt/cloudera/cm/schema/   
# ./scm_prepare_database.sh -h master01 -P 3306 mysql scm cdh 123456

参数说明: -h MysqlHost -P MysqlPort dbType dbName dbUser dbPasswd
image.png

十八.移动Parcel文件到指标目录(只在CM Server上执行)

使用以下命令移动3个parcel文件到parcel-repo中:

# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel /opt/cloudera/parcel-repo/
# cp CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-6.2.0-    1.cdh6.2.0.p0.967373-el7.parcel.sha

注意:最后一个文件将.sha1名字改成了 .sha

十九.启动CM Server/ Agent

1.在Master01上启动CM Server

# systemctl start cloudera-scm-server
# systemctl enable cloudera-scm-server

2.在所有主机上启动CM Agent

# systemctl start cloudera-scm-agent
# systemctl enable cloudera-scm-agent

enable命令是启用开始起动

3.检查日志是起起动完成


image.png
  • 出现红色日志,说明起动完成,可以登陆WEB页面开始后面的操作

二十.登陆CM Server完成集群安装

  • 登录CM管理界面,最好使用Chrome浏览器,使用地址: http://192.168.1.205:7180/
    默认用户密码为admin/admin


    image.png
  • 登陆进去后,继续:


    image.png
  • Accept License, 继续:


    image.png
  • 下一页,选择安装cm版本,默认,继续即可:


    image.png
  • 集群安装欢迎, 继续:


    image.png
  • 集群名设置,默认即可,继续:


    image.png
  • 选择【当前管理的主机】中可以看到所有启动了CM Agent的服务器,并成功连接CM Server的服务器, 选择需要安装的服务器,点击继续:


    image.png
  • 选择对应的CDH parcel版本,点击继续:


    image.png
  • 如果这里没有Parcel可供选择,请检查第18步,并重启CM Server,在这一步,CM 会将parcel解压,并分发,安装到每一台选择的服务器中,如图:


    image.png
  • 检查主机正确性,如有错误,按照提示更改即可, 并点击完成:


    image.png

    可以执行Hosts检查,Network Performance不需要执行, Host 显示完整结果:


    image.png

    检查一般会有这两个警告,可以按提示修改,也可以在上面选择”I understand the risks” 忽略继续。
  • 选择需要安装的组件,可根据需要自定义选择:


    image.png

    服务在安装完成后,还可以增删

  • 选择角色分配:
    按照第 4 步角色规划:HDFS DataNode选择所有主机
    ZooKeeper按照建议(应选择大于3个并为单数的主机): 选择所有主机
    其它根据需要更改,注意角色均衡和性能:
    一般master角色选成master01
    图中红色为我更改过的部分


    image.png

    image.png

    image.png
  • 集群数据库设置:
    根据第12步创建的数据库,填写正确的数据库及用户,密码,然后测试连接:


    image.png

    如果有数据库不存在的,则按第12步新建数据库即可, 注意建库后重新执行Grant授权语句

  • 集群数据存储目录设置,根据需要设置各组件数据存储目录(测试默认即可):


    image.png

集群开始安装,并部署,启动服务:


image.png

image.png
  • 完成:


    image.png

二十一.CDH集群安装检查

登陆进CM管理界面,可以检查集群各组件运行情况,如:


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,542评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,596评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,021评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,682评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,792评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,985评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,107评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,845评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,299评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,612评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,747评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,441评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,072评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,828评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,069评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,545评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,658评论 2 350

推荐阅读更多精彩内容