序言@H_403_9@
本文集群搭建为三台机器,cdh版本为5.13.0,以下是安装过程中所用到的软件包等,可以自行下载。
一、前期准备
1.安装环境@H_403_9@
- 系统:centos7.5/最小安装版本/64位
- 内存:主节点 --> 32G/从节点 --> 16G
- 三台机器组成小集群(物理机)
- cdh01
- cdh02
- cdh03
- 需要下载的安装包
二、环境配置
注意:所有操作都需要使用root权限操作@H_403_9@
- 修改hosts(三台)
- 修改主机名
- vim /etc/sysconfig/network
-
NETWORKING=yes HOSTNAME=cdh01
- 修改selinux
- vi /etc/selinux/config
-
将selinux的值修改成disabled SELINUX=disabled
- 关闭防火墙
- systemctl stop firewalld
- systemctl disable firewalld
- systemctl status firewalld
-
三台机器设置免密登陆,打通ssh
- 思路:第一台机器配置authorized_keys,scp到第二台机器,将第二台机器的公钥添加到authorized_keys,然后将其scp到第三台,以此类推,直到配置到最后一台机器,将最后一台机器的authorized_keys scp到所有节点,如下(见1)
-
安装ntp时间同步
- 集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。具体思路如下:
主节点作为NTP服务器与外界对时中心同步时间,随后对所有数据节点节点提供时间同步服务。
所有数据节点节点以主节点为基础同步时间所有节点安装相关组件执行以下命令: - yum install -y ntp #安装ntp服务(所有节点)
- vim /etc/ntp.conf
- 主节点
-
driftfile /var/lib/ntp/drift restrict 127.0.0.1 restrict -6 ::1 # 允许内网其他机器同步时间 restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap # 中国这边最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn server 210.72.145.44 perfer # 中国国家受时中心 server 202.112.10.36 # 1.cn.pool.ntp.org server 59.124.196.83 # 0.asia.pool.ntp.org # 允许上层时间服务器主动修改本机时间 restrict 210.72.145.44 nomodify notrap noquery restrict 202.112.10.36 nomodify notrap noquery restrict 59.124.196.83 nomodify notrap noquery # 外部时间服务器不可用时,以本地时间作为时间服务 server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 includefile /etc/ntp/crypto/pw keys /etc/ntp/keys #只保留以上内容其他全部注释掉
- 从节点
-
driftfile /var/lib/ntp/drift restrict default kod nomodify notrap nopeer noquery restrict -6 default kod nomodify notrap nopeer noquery restrict 127.0.0.1 restrict -6 ::1 server cdh01 #改成自己的主节点名称 restrict 192.168.1.135 nomodify notrap noquery server 127.127.1.0 # local clock fudge 127.127.1.0 stratum 10 includefile /etc/ntp/crypto/pw keys /etc/ntp/keys #只保留以上内容其他全部注释掉
- 集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。具体思路如下:
- 设置开机启动ntp服务
- 关闭chronyd服务
- systemctl disable chronyd.service
- 开机自启动
- systemctl enable ntpd.service
- 关闭chronyd服务
- 开启ntp服务
- systemctl start ntpd
-
查看ntp运行状态
- ntpstat
-
出现
@H_403_9@即为同步成功
- 安裝jdk(所有节点)
-
- JDK 可以去官网下载 下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
(本次使用的是jdk-8u191-linux-x64.rpm) - rpm -ivh jdk-8u202-linux-x64.rpm
-
由于是RPM包并不需要我们来配置环境变量,我们只需要配置一个全局的JAVA_HOME变量即可,执行命令:
- echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
- JDK 可以去官网下载 下载地址:
-
主节点安装MysqL
- 卸载mariadb
- rpm -qa | grep mariadb #查看安装信息
-
rpm --nodeps -e 安装信息(mariadb-libs-5.5.56-2.el7.x86_64) #根据查找到的软件包信息卸载
- rpm --nodeps -e mariadb-libs-5.5.56-2.el7.x86_64
- rpm --nodeps -e mariadb-libs-5.5.56-2.el7.x86_64
-
yum -y remove + 包名
- yum -y remove mariadb-libs-5.5.56-2.el7.x86_64
-
安装MysqL
-
MysqL安装包下载
https://dev.MysqL.com/downloads/file/?id=474679
- 下载的安装包为:MysqL-5.7.21-1.el7.x86_64.rpm-bundle.tar
-
安顺序执行
-
tar -xf MysqL-5.7.21-1.el7.x86_64.rpm-bundle.tar
-
安装rpm -ivh MysqL-community-server-5.7.21-1.el7.x86_64.rpm的时候报错如下:
@H_403_9@
- 这个报错的意思是需要安装net-tools包和perl包:可以先yum安装一下。
- yum install net-tools #安装net-tools包
- yum install perl #安装perl包
- 这个报错的意思是需要安装net-tools包和perl包:可以先yum安装一下。
- 注:必须按以下顺序安装以下rpm包 - rpm -ivh MysqL-community-common-5.7.21-1.el7.x86_64.rpm
- rpm -ivh MysqL-community-libs-5.7.21-1.el7.x86_64.rpm
- rpm -ivh MysqL-community-client-5.7.21-1.el7.x86_64.rpm
- rpm -ivh MysqL-community-server-5.7.21-1.el7.x86_64.rpm
- rpm -ivh MysqL-community-libs-compat-5.7.21-1.el7.x86_64.rpm(compat解决hue数据库连接不上)
- rpm -ivh MysqL-community-devel-5.7.21-1.el7.x86_64.rpm #安装MysqLclient需要用到
-
安装rpm -ivh MysqL-community-server-5.7.21-1.el7.x86_64.rpm的时候报错如下:
- 启动MysqL
-
查看root初始密码
- cat /var/log/MysqLd.log |grep password
-
tar -xf MysqL-5.7.21-1.el7.x86_64.rpm-bundle.tar
-
MysqL安装包下载
-
-
-
-
授权用户root使用密码passwd从任意主机连接到MysqL服务器
- GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123‘ WITH GRANT OPTION;
- flush privileges;
-
创建所需要的数据库及用户
-
在MysqL连接工具下执行(否则可能会报错) create database Metastore default character set utf8; CREATE USER ‘hive‘@‘%‘ IDENTIFIED BY ‘hive‘; GRANT ALL PRIVILEGES ON Metastore. * TO ‘hive‘@‘%‘; create database hive default character set utf8; GRANT ALL PRIVILEGES ON hive. * TO ‘hive‘@‘%‘; create database cm default character set utf8; CREATE USER ‘cm‘@‘%‘ IDENTIFIED BY ‘cm‘; GRANT ALL PRIVILEGES ON cm.* TO ‘cm‘@‘%‘; create database am default character set utf8; CREATE USER ‘am‘@‘%‘ IDENTIFIED BY ‘am‘; GRANT ALL PRIVILEGES ON am. * TO ‘am‘@‘%‘; create database rm default character set utf8; CREATE USER ‘rm‘@‘%‘ IDENTIFIED BY ‘rm‘; GRANT ALL PRIVILEGES ON rm. * TO ‘rm‘@‘%‘; create database hue default character set utf8; CREATE USER ‘hue‘@‘%‘ IDENTIFIED BY ‘hue‘; GRANT ALL PRIVILEGES ON hue. * TO ‘hue‘@‘%‘; create database oozie default character set utf8; CREATE USER ‘oozie‘@‘%‘ IDENTIFIED BY ‘oozie‘; GRANT ALL PRIVILEGES ON oozie. * TO ‘oozie‘@‘%‘; flush privileges;
-
- GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘123‘ WITH GRANT OPTION;
-
授权root用户在主节点拥有所有数据库的访问权限
- grant all privileges on *.* to ‘root‘@‘cdh01‘ identified by ‘123‘ with grant option;
-
授权用户root使用密码passwd从任意主机连接到MysqL服务器
-
-
-
安装cm
- 下载cm5.13.0包
- http://archive.cloudera.com/cm5/cm/5/
- 将下载好的cloudera-manager-centos7-cm5.13.0_x86_64.tar.gz解压到主节点的/opt/,解压出来的文件夹为cloudera与cm-5.13.0
-
为Cloudera Manager建立数据库,此处需要前边下载好的MysqL-connector-java-5.1.47-bin.jar
-
主节点执行
-
/opt/cm-5.13.0/share/cmf/schema/scm_prepare_database.sh MysqL -uroot -p123 scm scm scm
-
-
配置Agent
-
vim /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini
-
server_host=cdh01
-
-
vim /opt/cm-5.13.0/etc/cloudera-scm-agent/config.ini
-
拷贝文件到其他子节点
- scp -r /opt/cm-5.13.0/ [email protected]:/opt/
- scp -r /opt/cm-5.13.0/ [email protected]:/opt/
- scp -r /opt/cm-5.13.0/ [email protected]:/opt/
-
所有节点上创建用户
-
useradd --system --home=/opt/cm-5.13.0/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
-
-
准备parcels,将CDH相关文件拷贝到主节点/opt/cloudera/parcel-repo/
- 下载cm5.13.0包
-
启动
-
#主节点 /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启动完成
-
- 开始安装Hadoop集群
-
启动成功后 浏览器访问:
- http://主节点ip:7180 (用户名、密码:admin)
- CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。步骤如下:
@H_403_9@
@H_403_9@
@H_403_9@
@H_403_9@
- 注意:此处需要勾选所有机器
@H_403_9@
- 注:此处按照自己下载的版本进行安装即可
@H_403_9@
@H_403_9@
-
第一个警告直接在所有节点上执行@H_403_9@
-
echo 10 > /proc/sys/vm/swappiness@H_403_9@
-
-
第二个警告按照上面的说明,在所有节点上执行这两条命令@H_403_9@
@H_403_9@
- 注:或可选择所有服务
@H_403_9@
@H_403_9@
@H_403_9@
- 此处hive ,oozie会安装失败,失败信息如下。因为我们使用了MysqL作为hive元数据存储,需要将MysqL驱动拷贝到hive和oozie目录下
@H_403_9@
@H_403_9@
@H_403_9@
-
启动成功后 浏览器访问:
- 到此安装完成!