CDH基础环境搭建

简介

Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具,使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。

架构

[外链图片转存失败(img-ffX5Vie3-1563597395035)(1563588290640.png)]

(1)Cloudera Repository: 软件由Cloudera管理分布存储库(类似Maven)

(2)Server : 负责软件安装,配置,启动,停止服务,管理服务运行的群集

(3)Management Service : 由一组各种监控,警报和报告功能角色的服务

(4)Database : 存储配置和监视信息

(5) Agent : 安装在每台主机上,负责启动和停止的过程,配置监控主机

(6)Clients : 用于与服务器进行交互的接口(API和Admin Console)

搭建

免密登陆

配置三台虚拟机,并且设置ssh免密登陆

ssh-keygen -t rsa

然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)将公钥拷贝到要免密登录的目标机器上

[root@hadoop102 .ssh]$ ssh-copy-id hadoop102

[root@hadoop102 .ssh]$ ssh-copy-id hadoop103

[root@hadoop102 .ssh]$ ssh-copy-id hadoop104

重复1和2的操作,配置hadoop103对hadoop102、hadoop103、hadoop104三台服务器免密登录。

配置集群同步脚本

1)在/root目录下创建bin目录,并在bin目录下创建文件xsync,文件内容如下

[root@hadoop102 ~]$ mkdir bin

[root@hadoop102 ~]$ cd bin/

[root@hadoop102 bin]$ vi xsync

编写xsync脚本

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=1; host<4; host++)); do
 echo ------------------- testnote0$host --------------
  rsync -av $pdir/$fname $user@testnote0$host:$pdir
done
安装JDK(三台)

/opt目录下创建module和software文件夹,将jdk-8u144-linux-x64.tar.gz导入到hadoop102的/opt/software目录,tar
-zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/ ,配置环境变量

[root@hadoop102 software]$ vi /etc/profile

在profile文件末尾添加JDK路径

#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin

修改后的文件生效

source /etc/profile

测试JDK是否安装成功

[root@testnote01 module]# java -version
java version “1.8.0_181”

同步到其他机器

集群整体操作脚本

在/root/bin目录下创建脚本xcall.sh

[root@testnote01 bin]# vim xcall.sh

#! /bin/bash

for i in testnote01 testnote02 testnote03
do
        echo --------- $i ----------
        ssh $i "$*"
done

chmod 777 xcall.sh

如果xcall.sh jps 发现找不到命令

将/etc/profile文件追加到~/.bashrc后面

[root@hadoop102 module]# cat /etc/profile >> ~/.bashrc

[root@hadoop103 module]# cat /etc/profile >> ~/.bashrc

[root@hadoop104 module]# cat /etc/profile >> ~/.bashrc

因为jps不是系统命令

安装mysql,存储元数数据

查看mysql是否安装

[root@testnote01 bin]# rpm -qa|grep mysql
mysql-5.1.73-8.el6_8.x86_64
mysql-libs-5.1.73-8.el6_8.x86_64
mysql-server-5.1.73-8.el6_8.x86_64

如果安装MYSQL,先卸载,卸载后再查看

[root@testnote01 bin]# rpm -e --nodeps mysql-5.1.73-8.el6_8.x86_64
[root@testnote01 bin]# rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
[root@testnote01 bin]# rpm -e --nodeps mysql-server-5.1.73-8.el6_8.x86_64

上传mysql包,并解压

[root@testnote01 module]# unzip mysql-libs.zip
Archive: mysql-libs.zip
creating: mysql-libs/
inflating: mysql-libs/MySQL-client-5.6.24-1.el6.x86_64.rpm
inflating: mysql-libs/mysql-connector-java-5.1.27.tar.gz
inflating: mysql-libs/MySQL-server-5.6.24-1.el6.x86_64.rpm

进入mysql-lib目录下,安装mysql服务端

rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm

出现bug,mysql未卸载干净,参考https://www.cnblogs.com/javahr/p/9245443.html

然后重新安装服务端,查看产生的随机密码

[root@testnote01 mysql-libs]# cat /root/.mysql_secret

The random password set for the root user at Wed Apr 17 13:37:12 2019 (local time): 5JdUYDAhJUFXf444

启动mysql并查看状态

[root@testnote01 mysql-libs]# service mysql start
Starting MySQL. SUCCESS!
[root@testnote01 mysql-libs]# service mysql status
SUCCESS! MySQL running (1477)

安装mysql客户端

[root@testnote01 mysql-libs]# rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm

链接MySQL(密码替换成产生的随机密码)

[root@testnote01 mysql-libs]# mysql -uroot -p5JdUYDAhJUFXf444

修改密码

mysql> SET PASSWORD=PASSWORD(‘000000’);
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

mysql中user表中主机配置.配置只要是root用户和密码,在任何主机上都能登陆mysql数据库

进入mysql

[root@testnote01 mysql-libs]# mysql -uroot -p000000

显示数据库

mysql> show databases;

使用MYSQL

mysql> use mysql;

显示数据库中表

show tables;

展示user表的结构

mysql> desc user;

查询User表

select User, Host, Password from user;

修改user表,把Host表内容修改为%

mysql>update user set host=’%’ where host=‘localhost’;

删除root用户下的其他host

mysql> delete from user where Host=‘testnote01’;

mysql> delete from user where Host=‘127.0.0.1’;

mysql> delete from user where Host=’::1’;

刷新

mysql> flush privileges;

退出

mysql>quit;

创建CM用的数据库

在MySQL中依次创建监控数据库、Hive数据库、Oozie数据库、Hue数据库

1)启动数据库

[root@hadoop102 ~]# mysql -uroot -p000000

2)集群监控数据库

mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

3)Hive数据库

mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

4)Oozie数据库

mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

5)Hue数据库

mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

6)关闭数据库

mysql> quit;

下载第三方依赖

保证所有节点都有依赖环境

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite
cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

永久关闭SELINUX

修改配置文件/etc/selinux/config

[root@testnote01 mysql-libs]# vim /etc/selinux/config

将SELINUX=enforcing 改为SELINUX=disabled

同步/etc/selinux/config配置文件到所有机器

xsync /etc/selinux/config

所有机器全部重启

xcall.sh reboot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值