在Linux下CDH安装
cdh搭建
**
准备工作:相关安装包
创建虚拟机,安装CenOS7的镜象文件,主机要不低于8G,两个子机不低于3G,因为内存小了安装的集群可能没法使用。这里以两台为例。
一、基础配置
1.配置网络:采用Nat方式联互联网。
3.开启网卡:ifup ens33
4.测试:ping www.baidu.com //如果可以ping通,说明网络已经配置好了
5.修改yum源:
1)首先备份文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
访问:https://mirrors.ustc.edu.cn/help/centos.html (也可以用其他的CentOS 源)
把对应自己版本的内容粘贴进去。
2)vi /etc/yum.repos.d/CentOS-Base.repo
3)yum makecache //(用时较长)是将服务器上的软件包信息下载到本地缓存,以提高搜索安装软件的速度
3. yum install wget (weget是一个下载工具,可以下载一些软件或从远程服务器恢复备份到本地服务器,wget支持HTTP,HTTPS和FTP协议,可以使用HTTP代理,wget可以在用户退出系统的之后在后台执行)
4. yum install vim (vim是常用的编辑器,是vi的升级版)
5. yum install openssh-clients(相当于windows中的xshell)
二.配置JDK
1.进到usr目录下: cd /usr
2.创建文件夹: mkdir java
3.将JDK包传到该目录下: rz
4.解压:tar -zxvf jdk的名字
5.vim /etc/profile
最后添加环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_181
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
6.执行命令让刚刚配置的jdk起作用: source /etc/profile
7.执行命令 java -version
出现
java version “1.8.0_181”
Java™ SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot™ 64-Bit Server VM (build 25.181-b13, mixed mode)
说明jdk配置成功。
8.vim /etc/hostname(修改主机名,每台主机都要做,按自己的需要修改)
使用命令:hostname $(cat /etc/hostname) 刚设置的主机名会立即生效
9.vim /etc/hosts(修改hosts文件,如果只修改主机了就用命令scp /etc/hosts root@cm8:/etc/(将修改后的hosts文件传到另外一台机器上,传送过程需要输入密码),例如下面内容)
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
222.22.91.87 cm7
222.22.91.88 cm8
10.关闭防火墙:systemctl stop firewalld
如果想开机禁止启动防火墙 :systemctl disable firewalld
然后保证主机之间互ping 主机名,互ping ip能够ping通
三.禁用透明大页面.(每台主机都要做)
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。
比如要免密码登录222.22.91.88(cm2),则在cm1上执行:
ssh-copy-id 222.22.91.88
五.安装MySQL。并配置数据库。
在安装前先去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
为了方便,把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.开始安装
进入目录src下: cd /usr/local/src
用wget下载安装包:wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
安装 :rpm -ivh mysql57-community-release-el7-8.noarch.rpm
安装mysql-sever:yum -y install mysql-server
3.重启MySQL:systemctl restart mysqld.service
(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)
4.查看默认密码:grep “password” /var/log/mysqld.log
5.使用默认密码登陆:mysql -u root -p
6.进入命令行后,首先修改密码
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.在所有agent节点,执行命令(主机不做):
vim /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent/config.ini
修改server_host为server节点的主机名,我的就是server_host=cm7
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.在主节点,启动CM server
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-server start
12.在所有节点,启动CM agent
/opt/cloudera-manager/cm-5.14.0/etc/init.d/cloudera-scm-agent start
13.稍等一会,访问地址:serverip:7180(比如:222.22.91.87:7180),会出现登录界面,用户名密码都是admin。接下来就是一步一步的配置。配置完后成功的界面如下图:(我的222.22.91.87:7180)
**
hue报错
**
httpd是Apache超文本传输协议(HTTP)服务器的主程序,直接执行程序即可启动该服务。
在联网状态下直接输入下面命令就可安装:
yum -y install httpd
SSl 证书安装