admin管理员组

文章数量:1651726

环境准备
环境系统: CentOS Linux release 7.3.1611 (Core)
java:
三个节点:
192.168.1.222 cdh01
192.168.1.223 cdh02
192.168.1.224 cdh03
前期准备
配置静态IP
vi /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens192
ONBOOT=yes
IPADDR=192.168.1.222
NETMASK=255.255.252.0
GATEWAY=192.168.1.1
DNS1=192.168.2.99
DNS2=192.168.2.98
重新启动网卡
service network restart
修改主机名
hostnamectl set-hostname cdh01 # 使用这个命令会立即生效且重启也生效
hostname # 查看主机名
hosts文件主机名与IP地址映射
vi /etc/hosts

关闭防火墙
systemctl status firewalld.service # 查看防火墙状态
systemctl stop firewalld.service # 停止防火墙
systemctl disable firewalld.service # 禁止防火墙开机启动
禁用SELinux
vi /etc/selinux/config
SELINUX=disabled

关闭swap
swapoff -a
关闭透明大页面
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
之后将操作加入
vim /etc/rc.local
然后执行命令
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重新启动
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
vim /etc/default/grub
GRUB_CMDLINE_LINUX后添加一个参数transparent_hugepage=never
修改前

修改后

然后执行命令 grub2-mkconfig -o /boot/grub2/grub.cfg

然后重新启动
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag

修改swappiness(必须以root用户登录)
echo “vm.swappiness=1” >> /etc/sysctl.conf # 永久修改

sysctl -p` # 查看
重启虚拟机
reboot
配置免密登录
ssh-copy-id -i .ssh/id_rsa.pub root@cdh01
或者用以下方法手动免密,
在用户目录下执行 ssh-keygen -t rsa

在其他节点同样执行此操作
切换到.ssh/目录下
cd .ssh/
然后把密钥文件重命名,并且复制到cdh01(主节点)的.ssh/目录下,其他节点类似
mv id_rsa.pub 2id_rsa.pub
scp 2id_rsa.pub gwnet@cdh01:/home/gwnet/.ssh/
在主节点上的.ssh/目录下查看,并且把3个节点上的密钥文件写到authorized_keys,再复制到其他2个节点上

查看authorized_keys,并给authorized_keys文件授权cat authorized_keys
chmod 600 authorized_keys
复制到另外2个节点上
scp authorized_keys cdh01:/root/.ssh/
在另外2个节点上同样需要授权
chmod 600 authorized_keys
测试连接(此时切换到其他节点就不需要再输入密码了)
安装JDK

  1. 创建jdk的目录,并解压
    mkdir /usr/java
    tar -xf jdk-8u161-linux-x64.tar.gz -C /usr/java
  2. 配置环境变量
    vim /etc/profile

set java

export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = . : {JRE_HOME}/lib export PATH=.: JREHOME/libexportPATH=.:{JAVA_HOME}/bin:$PATH

####################################################
cat >> /etc/profile <<EOF

set java

export JAVA_HOME=/usr/java/jdk1.8.0_161
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : {JAVA_HOME}/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib: J R E H O M E / l i b e x p o r t P A T H = . : {JRE_HOME}/lib export PATH=.: JREHOME/libexportPATH=.:{JAVA_HOME}/bin:$PATH
EOF
####################################################

source /etc/profile
3. 验证jdk是否安装成功
java -version

安装ntp服务
yum install -y ntp

主节点配置

从节点配置

启动ntp服务器
systemctl start ntpd.service
设置开机自启
systemctl enable ntpd.service
安装mysql数据库(主节点cdh01配置)

  1. 上传数据库安装包

  2. 卸载系统中自带的数据库
    rpm -qa | grep -i mar #查看系统自带的mysql安装包
    rpm -ev mariadb-libs-5.5.52-1.el7.x86_64 --nodeps # 卸载系统自带的安装包

  3. 安装mysql
    依次安装mysql安装包
    rpm -ivh mysql-community-common-5.7.23-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.23-1.el7.x86_64.rpm
    rpm -ivh mysql-community-client-5.7.23-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.23-1.el7.x86_64.rpm
    这个包以后会用到
    rpm -ivh mysql-community-libs-compat-5.7.31-1.el7.x86_64.rpm

如果出现下面错误
警告:mysql-community-server-5.7.23-1.el7.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 5072e1f5: NOKEY
错误:依赖检测失败:
net-tools 被 mysql-community-server-5.7.23-1.el7.x86_64 需要
yum install net-tools
4. 启动mysql服务
systemctl start mysqld.service
5. 修改密码并设置远程链接
grep ‘password’ /var/log/mysqld.log # 查看原始密码

修改初始密码及授权远程访问:
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘Mysql@123’;
grant all privileges on . to ‘root’@’%’ identified by ‘Mysql@123’ with grant option;
flush privileges;

  1. 创建数据库
    create database cmf DEFAULT CHARACTER SET utf8;
    create database amon DEFAULT CHARACTER SET utf8;
    grant all on cmf.* TO ‘cmf’@’%’ IDENTIFIED BY ‘Ruozedata123456!’;
    grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘Ruozedata123456!’;
    flush privileges;
    create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

安装 cloudera Manager
cloudera Manager 5.15.1下载地址
解压cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz(主节点cdh01 begin)。默认解压到/opt目录,如果解压到其他目录,安装时需要重启。
tar -xf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz -C /opt
上传mysql依赖包
cp /root/mysql-connector-java-5.1.38.jar /opt/cm-5.15.1/share/cmf/lib/
为了后面出错提前把文件复制
初始化数据库
/opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -pMysql@123 --scm-host localhost scm scm Mysql@123

修改agent的配置文件
将/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini中的server_host修改为主节点的主机名。
####################生产环境中主机名一般由客户指定,不要贸然填写cdh01##################

sudo vim /opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini

将/opt/ cm-5.15.1复制到其他节点上/opt目录(主节点cdh01 end)
scp -rp /opt/cm-5.15.1/ cdh02:/opt/
scp -rp /opt/cm-5.15.1/ cdh03:/opt/
创建用户 cloudera-scm 用户 (所有节点)
useradd --system --home=/opt/cm-5.15.1/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
修改权限
在/opt目录下执行(所有节点)
chown -R cloudera-scm:cloudera-scm *
将cdh的parcel包移动到/opt/cloudera/parcel-repo/(主节点cdh01)
CDH安装包下载地址

将上传的安装包CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 修改为CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha,如下图所示
注意包支持的系统看清楚是否是el7

启动server和agent
启动server
/opt/cm-5.15.1/etc/init.d/cloudera-scm-server start(主节点cdh01)
启动server时报错

上面的错误信息只需要安装pstree即可
yum install psmisc -y

查看server的状态,如果不是running,
ps -ef|grep supervisor
杀掉进程
[root@***** ~]# /data/cm-5.15.1/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 415532) is running…

安装对应的依赖
安装如需下图所示的软件包,否则在后面CM界面安装时会出现以下错误:
hue Unexpected error. Unable to verify database connection
需要安装的rpm包:libxslt-1.1.28-5.el7.x86_64.rpm 和 python-lxml-3.2.1-4.el7.x86_64.rpm

启动agent
在三台机器上分别执行 /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent start(所有节点)

查看server的状态,如果不是running,
ps -ef|grep supervisor
杀掉进程
[root@***** ~]# /data/cm-5.15.1/etc/init.d/cloudera-scm-server status
cloudera-scm-server (pid 415532) is running…

启动完成agent和server之后查询7180端口有没有启动
netstat -lnp |grep 80(所有节点)

访问http://192.168.1.222:7180
输入默认用户名admin 和 密码admin

继续下一步

建议选择免费版

继续下一步

输入安装cdh的各个节点IP或者主机名

选择你上传的Parcel包,这里选择CDH-5.15.1

如果没有找到安装包,如更改解压位置,不是/opt目录,点击更多选项,把/opt改为指定位置,重启生效

如果出现以下报错,你的安装包支持的系统错误,
查看这里与你的安装包是否对应

继续下一步

继续下一步(遇到警告的根据提示解决)

我这里选择含Hbase的内核,根据自己实际情况选择,我们通常选自定义服务,选zookeeper、yarn、hdfs就够用了

我这里默认,根据实际情况选择
然后下一步

出现此问题是因为缺少mysql-connector-java-5.1.38.jar,链接不上数据库

hue链接不上mysql错误日志信息:

解决方案是在安装mysql的时候安装 mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm

默认

等待步骤安装完成

如果出现报错一直往下点,查看详细日志,如图所示,8086端口和60020端口被占用,可以尝试kill – 9强制杀死进程,若进程会自动启动,yum安装直接systemctl直接关闭,编译安装,通过find查找安装路径,通过命令关闭,不熟悉的服务百度;
netstat -lntp|grep 60020
kill -9 26367

find / -name gse*
/usr/local/gse/agent/bin/gsectl stop


继续下一步
oozie的链接需要mysql-connector-java-5.1.38.jar


到这里,集群基本上安装完成了

注意: 添加 hive 不要忘记添加驱动哦
cp /root/cdh5.16.1/mysql-connector-java-5.1.47.jar /opt/cloudera/parcels/CDH-5.16.1-1.cdh5.16.1.p0.3/lib/hive/lib/
保存到我的笔记

本文标签: 步骤CDH