本次在服务器上安装2台虚拟机
分别是 sky174 sky175
利用cloudera manager 安装 CDH
都是离线的环境
项目所需的安装文件
CentOS-7-x86_64-DVD-1708
mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz
jdk-7u80-linux-x64.tar.gz
Cm 5.13.1
Cdh 5.13.1
cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz

前期准备工作:
修改 vi /etc/hosts (至关重要) 2台主机一致
在这里插入图片描述
修改 vi /etc/sysconfig/network
在这里插入图片描述在这里插入图片描述
Centos7 查看主机信息
hostnamectl --static set-hostname sky174
hostnamectl
reboot

第一步: 建立yum本地源
为离线安装提供 依赖
利用镜像 CentOS.iso搭建 Centos7.0
其次将本镜像文件 作为本地 yum源 挂载

镜像挂载yum源的核心步骤
上传镜像 iso1708.iso 于 media/cdrom
mount -o loop -t iso9660 iso1708.iso /media/cdrom
df -lhT
在这里插入图片描述
挂载成功
此时进入 cd /etc/yum.repos.d/
在这里插入图片描述
修改或删除 其它的repo 只保留 CentOS-Media.repo
编辑配置文件 vi CentOS-Media.repo
在这里插入图片描述
yum clean all
yum makecache
cd /etc/yum.repos.d/ 进行核心yum位置
ll 查看所有的 repo
只保留 CentOS-Media.repo 其它的可以删除 或是重命名
yum list 查看 yum源下所有的 依赖
yum list | grep mysql* yum源下的 mysql版本

当我们发现有多个挂载时,无法挂载到我们需要的yum源
umount cdrom/ 取消挂载
删除 yum.repos.d 下 多余的 repo

利用 yum.repos.d 安装perl 和 python 为后面的安装提供环境支持

第二步:安装 jdk1.7 以上 所有节点都需要安装
为cloudera manager安装提供支持
rpm -qa| grep jdk 查询原来自带的jdk
再执行命令:sudo yum remove XXX 卸载jdk
rpm -e --nodeps XXX 卸载方法之一
rpm -e xxx 卸载
解压
tar -zxvf xxx
修改配置文件
vim /etc/profile 修改环境变量

export JAVA_HOME=/usr/local/java7/jdk1.7.0_80
export JRE_HOME=/usr/local/java7/jdk1.7.0_80/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

source /etc/profile 重新加载配置文件
验证是否安装成功
java -version 查看
在这里插入图片描述
然后通过
scp -r jdk root@ip:/usr/local/mysql/jdk
复制到其它节点
source /etc/profile 重新加载配置文件
验证是否成功

**第二步:安装mysql ** 主节点安装
mysql 可以为 cloudera manager 提供数据库用来存储信息
文件上传 解压
安装指导
https://blog.csdn.net/dbdeep/article/details/75193924

配置(核心步骤)
必须找到 my.cnf

[mysqld]
user = mysql     (root不能启动 默认不能由root来启动)
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock   (这个位置非常重要)
[mysql]
socket = /tmp/mysql.sock

find / -name mysql.sock 找到 这个位置在linux系统上默认的位置
一定要找到默认的位置 并非我们自己创建

初始化操作
./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data

启动服务 mysql/bin ./mysqld
处理mysql启动报错 Table ‘mysql.plugin’ doesn’t exis
没有建表
此时没有启动mysql,更无法到创建表的步骤 分析是 配置文件出错

修改配置 再次初始化
启动服务 mysql/bin ./mysqld
[ERROR]Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
就是与配置文件中 mysql.sock 有关,这是 服务端与客服端 交互信息 存储位置
与权限有关 开启服务时 要向其写入权限,设置 chmod 777 /var/lib/mysql

1.依然 报错 其它地方有 mysql.sock 存在,就是mysql.sock配置路径并非系统默认的
find / -name mysql.sock 找到默认 修改配置
2. 就是服务没启动 已经有 mysql.sock ,删除默认位置所存在的mysql.sock
3. 再次初始化,重启服务 systemctl start mysqld
4.通过 netstat -tulpn 验证是否开启了 3306
5.用可视化工具 访问sky174的mysql数据库
在这里插入图片描述
6. 为任意主机远程访问授权
关闭防火墙
systemctl stop firewalld
systemctl status firewalld 查看状态是否关闭
用root登录免密
初始化后没有提示密码 就进入了 mysql
之后在mysql 里面再
set password =password(‘你的密码’);
flush privileges;
重启服务
7.为所有主机的root用户授权
mysql> mysql -u root -p
密码123456
mysql> use mysql;
mysql> select user,password,host from user;
为所有主机提供远程访问权限
mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’
-> WITH GRANT OPTION;
mysql> flush privileges;
8.再次连接

第三步: 安装ssh 和 ntp 所有节点都需要
参考文档
https://blog.csdn.net/zhou_0720/article/details/70211146
多节点免密连接
ssh-keygen -t rsa -P ‘’
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
scp ~/.ssh/id_rsa.pub root@172.22.3.175:~ 传递共匙

从节点主机 root操作
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys
在主次节点 产生共匙
cd .ssh
cat authorized_keys 查看 添加信息
开启服务
systemctl start sshd 并不是 systemctl start openssh
在这里插入图片描述

ntp 主次节点 时间同步
在主机 和 节点主机 分别安装 ntp
主节点 vi /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap

 **

server 127.127.1.0 # local clock      连接本地
     fudge 127.127.1.0 stratum 10

**

includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

systemctl start ntpd 开启服务
chkconfig ntpd on 开机就启动
在节点主机进行 ntpdate -u n1 手动同步
ntpq -p 查看状态
在这里插入图片描述
第四步:安装 cloudera manager
在这里插入图片描述
在这里插入图片描述
解压之后的目录结构

在这里插入图片描述
uuid会记录在cm数据库中,一旦手动修改 ,同一个主机会拥有多个uuid ,主机个数会与实际不符
但是由于节点的文件是主节点传递的,因此最后的处理是
删除节点的 cm_guid 保证与主节点不一样,不然会报运行错误
删除uuid,让节点自己开启 agent时,自己产生,与主机不一样,不然 主机个数可能与实际不一样
一旦 cm数据库信息不正常,可以删除,重新初始化
/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm

vi /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini 修改
所有节点的配置保持一致
在这里插入图片描述
主节点开启服务
/opt/cm-5.13.1/etc/init.d/cloudera-scm-server start
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
netstat -tulpn 查看运行的进程
netstat -ntlp | grep 7180
【注意】7180 端口 开启缓慢 大致2分钟以上 要等
在这里插入图片描述

在这里插入图片描述
其它节点开启服务
scp -r /opt/cm-5.1.3 root@n2:/opt/
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
在这里插入图片描述
每次执行
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent stop
agent.pid文件不会自动销毁
再次开启
/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent start
agent 死亡但是 pid仍 存在 (尚未能解决)
此时手动 干掉agent.pid ,发现服务再也启动不了,一直循环出错
ps -ef |grep agent
出现这种情况 我会 kill -9 端口
干掉服务
删除节点上的文件在这里插入图片描述
重新从 主节点 复制一份(如果有人解决,希望分享一波,感激不尽)
scp -r /opt/cm-5.1.3 root@n2:/opt/
主次节点服务正常开启后
ip:7180 进行 cloudera manager服务界面

依次 输入 admin admin 登录
下一步
在这里插入图片描述
激活过程
修改节点的hosts 带上域名,就像开始介绍的配置,不带域名,会一直在激活状态

选择安装的 parcels 默认路径 /opt/cloudera/parcels
进行CDH安装
因为在安装过程中需要数据库操作
需要 引入 mysql-connector-java-5.1.38.jar
分别 复制到 /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.38.jar

安装CDH切记 防火墙必须关闭
其次 安装 hive 时需要 引入 mysql-connector-java-5.1.38.jar
/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib
在这里插入图片描述

/usr/share/mysql/mysql-connector-java-5.1.38.jar 必须有jar包,不然不能成功测试连接数据库

1、Activity Monitor: ssd_amon (活动监控)
create database ssd_amon DEFAULT CHARACTER SET utf8;
grant all on ssd_amon.* TO 'amon'@'%' IDENTIFIED BY 'amon123#';
 
2、Hive Metastore: ssd_hive(数据仓库元数据)
create database ssd_hive DEFAULT CHARACTER SET utf8;
grant all on ssd_hive.* TO hive@'%' IDENTIFIED BY 'hive123#';

在这里插入图片描述

搭建成功,不过内存不足
在这里插入图片描述
希望有更好建议的可以分享

Logo

更多推荐