天天看点

大数据平台搭建

本次在服务器上安装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 [email protected]:/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 [email protected]:~ 传递共匙

从节点主机 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 [email protected]:/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 [email protected]:/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#';
           
大数据平台搭建

搭建成功,不过内存不足

大数据平台搭建

希望有更好建议的可以分享

继续阅读