工欲善其事必先利其器,在通过大量的实践学习当前,须要有一个本地的研发环境来进行练手。曾经工作的能够不依赖于公司的环境,在家也能够随便的练习。而自学大数据的同学,也能够进行本地练习,大数据是一门偏实际的学科,在找工作之前进行一些实际操作,也更利于对大数据常识的了解。
本文将从头开始具体的记录整个大数据环境的搭建过程,本文所应用的笔记本电脑内存为16G,将应用CDH6.3.2治理整个大数据集群。
因为cloudera官网从2021年2月1日起全面移除的非订阅用户的下载链接,所以本文所有的安装包都曾经备份,能够关注 大数据流动 回复 CDH16G 获取。
本文共四个局部,肯定要保障每一个局部都装置胜利当前再向下进行。
首先要装置好VMwareWorkstation软件,随后新建三台centos零碎的虚拟机,在三台虚拟机中搭建CDH大数据管理工具,最初应用CDH搭建大数据集群。
一、装置VMwareWorkstation虚拟化软件
首先咱们应用VMwareWorkstation来疾速的进行虚拟机的新建。VMwareWorkstation是一款功能强大的桌面虚构计算机软件,咱们应用的版本为VMwareWorkstation 16.1.2。
1、关上安装程序,点击下一步。
2、抉择承受条款,点击下一步。
3、批改装置门路,增强型虚构键盘次要作用是进步安全性,这里不勾选。点击下一步。
4、将查看更新和体验晋升都去掉,点击下一步。
5、快捷方式看本人的状况抉择吧,点击下一步。
6、点击装置,开始进行虚拟机装置。
7、装置实现后点击 许可证 用注册机生成的密钥进行产品激活。
8、点击实现,功败垂成。VMwareWorkstation就胜利装置并激活了。
这样,第一局部VMwareWorkstation软件曾经搭建实现。
二、新建三台Centos虚拟机
首先筹备Centos7的镜像文件,CentOS-7-x86_64-DVD-1908.iso。
请留神三台虚拟机的CPU首次设置为1核,内存设置为4G(这样虚拟机占用12G,留出一些空间),硬盘为20G,这些当前也是能够批改的。
新建虚拟机
1、关上VMwareWorkstation,抉择新建虚拟机
2、抉择自定义装置,点击下一步。
3、这里不必批改,是VMware的版本和一些限度阐明,点击下一步。
4、这里先抉择稍后装置操作系统,点击下一步。
5、抉择零碎为Linux,版本为Centos7 64位,点击下一步。
6、批改虚拟机名称,地位,点击下一步。
7、CPU默认为1核,点击下一步。
8、内存设置为4GB,点击下一步。
9、网络应用默认的NAT,点击下一步。
10、I/O 应用默认
11、磁盘类型默认
12、创立新的虚构磁盘
13、设置磁盘大小为20GB
14、默认文件名
15、最初能够看到这些设置,点击实现。
16、虚拟机新建实现,能够持续编辑虚拟机,将装置镜像挂载。
装置Centos零碎
1、开启此虚拟机
留神:点击进入虚拟机操作,要退出来的话应用 Ctrl + Alt
2、抉择装置centos7
抉择语言
进行根本设置
设置明码 Bigdataflowing
提醒重启电脑
期待装置实现,实现后重启。进入操作系统
设置虚拟机网络
此时的虚拟机是无奈上网的,须要对网络进行设置。
首先设置主机的网络共享,再看一下vnet8的网络ip,我的是192.168.137.0
在vmvare的虚构网络编辑器中,设置ip
进入虚拟机进行网卡设置
进入网卡设置目录
cd /etc/sysconfig/network-scripts/
设置网卡
vi ifcfg-ens33
设置如下(重点是上面几个设置,固定IP)
BOOTPROTO=static
IPADDR=192.168.137.101
NETMASK=255.255.255.0
GATEWAY=192.168.137.1
ONBOOT=yes
设置实现后重启网卡
service network restart
重启后验证上网状况
ping www.baidu.com
xshell近程连贯机器
始终在虚拟机里操作是不不便的,所以咱们通过xshell进行近程连贯。网络已通,所以咱们用用户名明码连贯即可。
下面操作实现后,咱们能够应用vmvare的克隆性能,疾速的复制出其余两台虚拟机。不过要记得复制完当前。进入零碎把ip批改为不同的地址。
克隆虚拟机
克隆自 虚拟机中的以后状态
残缺克隆
克隆实现后,批改node02和node03的网络设置。
进入网卡设置目录
cd /etc/sysconfig/network-scripts/
设置网卡
vi ifcfg-ens33
设置如下(node02改成192.168.137.102 node03改成192.168.137.103 )
IPADDR=192.168.137.101
此时将三台虚拟机开启,最终的成果三台虚拟机失常运行,xshell能够近程同时操作这三台机器。
这样第二局部,三台centos虚拟机新建实现,上面咱们能够进行CDH环境的装置了。
三、应用CDH搭建Hadoop集群环境
CDH(Cloudera’s Distribution, including Apache Hadoop),是Hadoop泛滥分支中的一种,由Cloudera保护,基于稳固版本的Apache Hadoop构建,并集成了很多补丁,可间接用于生产环境。
咱们应用CDH6.3.2的版本进行装置。
CDH分为Cloudera Manager治理平台和CDH parcel(parcel蕴含各种组件的安装包),须要先装置CM,再装置parcel。
CM 6.3.1,CDH 6.3.2 (6.3.3版本及以上的要免费了)
组件版本反对状况
https://docs.cloudera.com/doc…
筹备工作
1、批改文件关上限度
vi /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* soft nproc 131072
2、敞开防火墙
systemctl disable firewalld
systemctl stop firewalld
3、批改主机名及hosts
顺次批改主机名
vi /etc/hostname
批改hosts文件
vi /etc/hosts
192.168.137.101 node01
192.168.137.102 node02
192.168.137.103 node03
失效
source /etc/hosts
4、免密设置
node01 设置
ssh-keygen -t rsa
一路回车
ssh-copy-id node02
ssh-copy-id node03
输出明码
5、装置jdk
scp jdk-8u221-linux-x64.rpm node02:/opt/
scp jdk-8u221-linux-x64.rpm node03:/opt/
rpm -ivh jdk-8u221-linux-x64.rpm
java -version
vim /etc/profile
# 开端追加以下内容
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
echo $JAVA_HOME
6、敞开selinux
//长期失效selinux设置
setenforce 0
//批改配置文件
vi /etc/selinux/config
把SELINUX=enforcing批改为SELINUX=disabled
7、装置ntp服务
// 装置 ntp 服务
yum install -y ntp
// 开启并设置开机自启ntp服务
systemctl start ntpd
systemctl enable ntpd
// 查看ntp服务状态
systemctl status ntpd
8、node01装置Mysql
移除mariadb
yum remove mariadb-libs.x86_64
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum localinstall ./mysql80-community-release-el7-1.noarch.rpm
yum install mysql-community-server
service mysqld start
# 查看长期明码
grep 'temporary password' /var/log/mysqld.log
# 登录
mysql -uroot -p
# 输出方才的明码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Bigdataflowing@123';
# 新建scm用户
CREATE USER 'scm'@'%' IDENTIFIED BY 'Bigdataflowing@123';
grant all privileges on *.* to 'scm'@'%' with grant option;
flush privileges;
新建CDH所需的数据库:
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE reports DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
create user 'root'@'localhost' identified by 'Bigdataflowing@123';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
9、各节点筹备mysql8的驱动
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar -zxf mysql-connector-java-5.1.46.tar.gz
mkdir /usr/share/java/
cp mysql-connector-java-5.1.46/mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
装置CDH
1、配置本地yum源
node01 装置httpd createrepo并设置开机自启动:
yum -y install httpd createrepo
systemctl start httpd
systemctl enable httpd
将包放在目录下
mkdir -p /var/www/html/cloudera-repos/cm6
将文件传入此目录下
createrepo .
配置本地yum源
备份 cp -r /etc/yum.repos.d /etc/yum.repos.d.bak
cd /etc/yum.repos.d/
vim cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://node01/cloudera-repos/cm6
gpgcheck=0
enabled=1
yum clean all && yum makecache
验证胜利,浏览器拜访 http://192.168.127.101/cloude…
散发包
scp -r cloudera-manager.repo root@node02:$PWD
scp -r cloudera-manager.repo root@node03:$PWD
其余节点
yum clean all && yum makecache
node01装置cloudera manager server
yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
装置完CM后/opt/ 下会呈现cloudera目录,上传cdh parcel 文件到/opt/cloudera/parcel-repo/
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/*
初始化数据库
cd /opt/cloudera/cm/schema/
./scm_prepare_database.sh -h localhost -P 3306 mysql scm scm Bigdataflowing@123
胜利音讯
[main] DbCommandExecutor INFO Successfully connected to database.
All done, your SCM database is configured correctly!
3、node02 node03装置agent
yum install -y cloudera-manager-daemons cloudera-manager-agent
配置Agent文件:vim /etc/cloudera-scm-agent/config.ini
将 server_host=localhost
更改为: server_host=node01
启动
server 和agent 一起启动,报错看log /var/log/cloudera-scm-server
node01
systemctl start cloudera-scm-server
systemctl enable cloudera-scm-server
node02 node03
systemctl start cloudera-scm-agent & systemctl enable cloudera-scm-agent
拜访网址 http://192.168.137.101:7180/c…胜利!
账号密码 admin/admin
那么CDH管理工具曾经装置实现,上面咱们应用CDH装置Hadoop集群环境。
四、装置部署HADOOP大数据集群
开始装置
批准条款
抉择装置版本,能够抉择试用或者免费版
开始装置,输出集群名称
抉择主机
这里有坑,间接抉择后边没法改存储库
这里能够点上方按钮进入主页,先删除主机,再加回来
按上面设置好,大部分曾经默认
JDK曾经装置 不必选
机器账号密码
这里会做一些检测,根本是一些正告,抉择 i understand 持续。
上面进入到组件的装置,因为内存无限,咱们抉择自定义服务,先只装置hdfs和hive,zookeeper,其余的组件后续也能够减少。
要设置节点的调配,尽量均匀就能够。
这里全副连node01的mysql库
一些hdfs设置,能够默认
期待装置中。。
装置根本实现。
装置实现!能够欢快的游玩了。
再揭示一下
因为cloudera官网从2021年2月1日起全面移除的非订阅用户的下载链接,所以本文所有的安装包都曾经备份,能够关注 大数据流动 回复 CDH16G 获取。
踩坑大全
1、客户机操作系统已禁用 CPU,请敞开或重置虚拟机。
大部分是Vmvare版本及镜像问题,应用Vmvare16.1.2版本
2、mysql版本:’for the right syntax to use near ‘identified by ‘password’ with grant option’
问题剖析:mysql版本8.0.13,在给新用户受权时,产生了变动:
1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘identified by ‘password’ with grant option’ at line 5, Time: 0.000000s
出错的语句:
grant all privileges on . to ‘root’@’172.16.10.203’ identified by ‘password’ with grant option
修改后的语句:离开三次执行
创立账户
create user ‘root’@’172.16.10.203’ identified by ‘password’
赋予权限,with grant option这个选项示意该用户能够将本人领有的权限受权给他人
grant all privileges on . to ‘root’@’172.16.10.203’ with grant option
改明码&受权超用户,flush privileges 命令实质上的作用是将以后user和privilige表中的用户信息/权限设置从mysql库(MySQL数据库的内置库)中提取到内存里
flush privileges;
3、missing requires of libmysqlclient.so.18()(64bit)
谬误提醒装置依赖的库文件没有找到: libmysqlclient.so.18()(64bit)
解决:
短少Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm这个包
wget http://www.percona.com/redir/…
rpm -ivh Percona-XtraDB-Cluster-shared-55-5.5.37-25.10.756.el6.x86_64.rpm
4、cm启动后无法访问
centos7会开启ipv6,须要禁用掉
vi /etc/default/grub
GRUB_CMDLINE_LINUX=”ipv6.disable=1 crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet”
grub2-mkconfig -o /boot/grub2/grub.cfg
5、Parcel hash file missing: CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
短少CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha文件,增加到指定目录
6、Could not retrieve mirrorlist http://mirrorlist.centos.org/… error was
14: curl#6 – “Could not resolve host: mirrorlist.centos.org; Unknown error”
yum源有问题,批改 /etc/yum.repos.d下yum配置文件
7、无奈装置 cloudera-manager-agent 包
查看log看具体报错信息