【大数据学习之路】本地CDH的安装

本地CDH的安装

此次安装我使用的centos镜像版本为centos7,因为自身电脑配置原因我搭建了一台主机和一台子机。

一.网络的配置以及一些小工具的安装

1 配置网络:采用Nat方式联网。

2 vim /etc/sysconfig/network-scripts/ifcfg-ens33
在文件中加入以下内容

   ONBOOT=yes
   BOOTPROTO=static
   IPADDR=192.168.195.11
   NETMASK=255.255.255.0
   GATEWAY=192.168.195.2
   DNS1=202.196.32.1

3.开启网卡:ifup ens33

4.尝试测试:ping www.baidu.com

5.修改yum源:

因为国外的yum源速度太慢,在这里我换成了清华的yum源,
清华源地址:https://mirrors.tuna.tsinghua.edu.cn/

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-   Base.repo.backup

访问:https://mirrors.ustc.edu.cn/help/centos.html
把centos7版本的内容粘贴进去。
接下来用yum安装一些小工具

vi /etc/yum.repos.d/CentOS-Base.repo

yum makecache(用时较长)

yum install wget

yum install vim

yum install openssh-clients

二.配置JDK

1.执行以下操作

cd /usr
mkdir java
rz  (JDK包传到该目录下)
tar -zxvf jdk
vim /etc/profile

最后添加环境变量:

 export JAVA_HOME=/usr/java/jdk1.8.0_181
 export PATH=$JAVA_HOME/bin:$PATH 
 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

这里有时rz上传较慢,这里我采用scpy命令从另一台虚拟机上将jdk拷贝过来
2.执行命令

source /etc/profile

3.执行命令

 java -version

出现以下 提示说明成功

java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

三.克隆

在关机状态下克隆,并配置网络
(克隆机器)
1.将UUID删除,修改IP地址,加入mac地址HWADDR=(为真的mac地址)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

2.修改主机名,每台主机都要做

vim /etc/hostname

3.vim /etc/hosts(修改hosts文件,主机修改就行,下面是我的内容)

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.195.11 cdh1
192.168.195.12 cdh2

4.执行命令

scp /etc/hosts root@cdh2:/etc/(将修改后的hosts文件传到另外一台机器上,传送过程需要输入密码)
systemctl stop firewalld
systemctl disable firewalld(关闭防火墙)

5.重启机器。然后保证主机之间互ping 主机名,互ping ip能够ping通。(在服务器上搭建CDH时由于无法执行重启操作,我当时使用以下命令来使主机名生效)

hostname $(cat /etc/hostname)

四.禁止交换。(每台主机都要做)

1.执行命令:

 vim /etc/sysctl.conf
 增加一行:vm.swappiness=0

2.执行命令:

sudo sysctl vm.swappiness=0

五.禁用大页面.(每台主机都要做)

1.执行命令:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

2.执行命令,修改配置:

vim /etc/rc.local
增加两行:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

3.执行命令,赋予权限

chmod +x /etc/rc.d/rc.local

六.配置免密码登陆(每台主机都要做)

1.执行命令,生成秘钥:

ssh-keygen -t rsa
cd ~/.ssh

2.拷贝到要免密码登陆的机器,要免密登陆哪个机器,就写该机器的ip。这里我2台机器两两之间都做了免密登陆。
ssh-copy-id xxxx
在这里我做的操作是:

主机执行 ssh-copy-id 192.168.195.12
子机执行 ssh-copy-id 192.168.195.11

七.安装MySQL。并配置数据库。

为了方便,把MySQL安装在主节点Server上,但是注意最好别用太高版本的MySQL。这里安装的是MySQL5.7
1.检测是否有mariadb

rpm -qa | grep mariadb
如果有,就执行以下命令进行卸载
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2.开始安装,依次执行命令,根据提示信息操作。(这里需要安装一个mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm包,不然后期会报错)

cd /usr/local/src
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-server

3.重启MySQL:

systemctl restart mysqld.service

4.查看默认密码

grep "password" /var/log/mysqld.log

5.使用默认密码登陆:

mysql -u root -p

6.进入命令行后,首先修改密码(我修改的密码为123456)

alter user 'root'@'localhost' identified by '123456';

7.然后进行创建用户,授权等操作

grant all on *.* to 'root'@'%' identified by '123456' with grant option; -- 授权
CREATE USER 'scm'@'%' IDENTIFIED BY '123456'; --创建一个新用户,就使用这个用户名,和密码,后面cm的元数据库会用到
grant all on *.* to 'scm'@'%' identified by '123456' with grant option;-- 授权
CREATE USER 'lpy'@'%' IDENTIFIED BY '123456'; --创建一个新用户,用户名和密码可以自定义,后面安装hive,oozie会用到
grant all on *.* to 'lpy'@'%' identified by '123456' with grant option;--授权
flush privileges; -- 刷新权限

8.用上面自定义的数据库用户lpy登陆,在MySQL中创建几个数据库备用,数据库名称可以自定义。(这里我直接使用对应的服务名称来命名数据库)

mysql -u lpy -p
create database hive;
create database hue;
create database ooz;

9.使用scm用户登录MySQL,创建scm数据库备用。

mysql -u scm -p
create database scm;

八.开始安装CM和CDH

1.在所有节点执行命令,创建目录:

sudo mkdir /opt/cloudera-manager

2.在所有节点,将下载好的cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz文件,上传到/opt目录下(用rz命令)

3.在所有节点,解压该文件到/opt/cloudera-manager目录。

tar -zxvf /opt/cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz -C /opt/cloudera-manager

4.在所有节点,创建用户,这是CM需要使用的用户

sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.0/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

5.在主节点,创建CM服务本地数据存放目录,并赋予权限

sudo mkdir /var/lib/cloudera-scm-server
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server

6.在所有节点,执行命令:

vim /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent/config.ini
修改server_host为server节点的主机名,我的就是server_host=cdh1

7.在所有节点,将上面准备好的数据库驱动上传到/usr/share/java目录下

8.在主节点上执行命令。初始化数据库scm。mysql scm scm scm分别代表:数据库类型 database名称 数据库用户名 数据库密码

/opt/cloudera-manager/cm-5.14.0/share/cmf/schema/scm_prepare_database.sh mysql scm scm 123456

如果出现如下提示,则证明CM元数据创建成功。

All done, your SCM database is configured correctly!

9.在主节点执行,创建CDH文件存放目录。

mkdir /opt/cloudera/
cd /opt/cloudera
mkdir parcel-repo

10.将上面准备好的CDH的3个文件,上传至/opt/cloudera/parcel-repo路径下。
11.在主机192.168.195.11启动CM server

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server start

12.在主机192.168.195.11和子机192.168.195.12启动CM agent

/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent start

13.然后访问地址:192.168.195.11:7180(我自己的主机ip),出现界面如下,用户名密码都是admin,之后根据提示进行web 界面的配置和操作。
进入到登陆界面

14.配置完成后会进入显示所有信息的主界面,在主界面中可以进行添加服务操作
在这里插入图片描述

遇到的问题及解决方案

遇到的问题1: 国外的yum源下载速度有点慢,耗费时间较长
解决方案1: 改成了清华的yum源,速度有所提高

遇到的问题2: mysql在更改密码时有密码强度验证,设123456无法成功
解决方案2: 取消MySql密码强度验证功能

修改MySql配置文件(my.cnf)
一般情况下,MySql的配置文件 my.cnf 会在  /etc/ 目录下,如果没有,可以使用以下命令查找位置:
$ sudo find / -name my.cnf
编辑配置文件:
$ sudo vi /etc/my.cnf
在文件末尾添加以下内容:
plugin-load=validate_password.so 
validate-password=OFF
保存退出
重启MySQL:
systemctl restart mysqld.service

遇到的问题3: 配置NTP
解决方案3:
安装配置NTP的网址:https://www.cnblogs.com/linypwb/p/5532535.html
我找了很多有关NTP配置的相关教程,这个网址中的ntp安装讲解是比较好的。

遇到的问题4: 安装完成后,web 界面出现许多报错情况,提醒阈值问题
解决方案4: 经过检查发现,有些警告报错是由于未修改检测配置选项而出现的,进到CDH的web界面的/cmf/hardware/hosts/config页面,在其中修改其警告选项,这些警告和报错就会消失,例如主机网络接口速度阈值的警告问题,如下图所示,一些网络限制速度,即便网络速度正常,也会出现报错。

在这里插入图片描述

遇到的问题5: 在web界面进行配置是报出如下错误:Error loading MySQLdb module: libmysqlclient.so.18: cannot open shared object file: No such file or directory,原因是mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm没有安装
解决方案5: 去MySQL官网,找到安装的对应MySQL版本的这个mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm包,然后下载下来上传到server上(我的server和MySQL安装在同一个节点上,如果server和MySQL不在同一个节点,那么可以尝试这两个节点都去安装一下),安装:

rpm -ivh mysql-community-libs-compat-5.7.23-1.el7.x86_64.rpm
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值