写在前面
本文记录一次cdh的完整搭建流程,这里参考了一位老哥的笔记,附上链接:https://www.jianshu.com/p/3b3b733e339a,
老哥的笔记很详细,基本没有什么坑,因为笔记是我事后整理复盘的,下面的截图可以作为参考,不可尽信,需要稍作修改。
集群准备
192.168.150.88 cm-server
192.168.150.89 hadoop-1
192.168.150.90 hadoop-2
版本
组件 | 描述 |
---|---|
linux | Centos7.5 |
CM | 5.16.1 |
CDH | 5.16.1 |
MySQL | 5.6 |
JDK | 1.8.0_201 |
表格中的mysql和jdk版本仅做参考,可以有些许差异
软件包
Mysql rpm包:http://dev.mysql.com/get/Downloads/MySQL-5.6/MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tarjdbc
连接包mysql-connector-java-5.1.39-bin.jar: http://dev.mysql.com/downloads/connector/j/
CDH相关安装包:
下载地址:http://archive.cloudera.com/cm5/repo-as-tarball/5.16.1/
parcels包:
下载地址:http://archive.cloudera.com/cdh5/parcels/5.16.1/
虚拟机环境
首先在正常情况下安装好虚拟机,修改网络配置,保证能联网,linux网络配置可以看我另一篇文章:https://blog.csdn.net/weixin_42814075/article/details/97395386
以下提到的主从节点,请根据实际情况修改,我这里只是以主节点举例
1.1 修改主机名,主从
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=cm-server
vim /etc/hostname
cm-server
也可以直接通过如下命令,修改主机名
hostnamectl set-hostname <hostname>
1.2 配置地址映射,主从
vim /etc/hosts
192.168.150.88 cm-server
192.168.150.89 hadoop-1
192.168.150.90 hadoop-2
1.3 关闭防火墙,主从
systemctl status firewalld.service
systemctl disable firewalld.service
注意:修改完上述配置后重启
2.1 安装openssl,主从
yum install openssl
2.2 安装NTP时间同步服务,主从
检查是否已安装 rpm -qa | grep ntp
未安装则安装 yum install ntp ntpdate -y
2.3 关闭SELinux,主从
vim /etc/selinux/config
SELINUX=disabled
2.4 安装httpd服务,主
安装httpd服务 yum install httpd -y
开启httpd服务 systemctl start httpd.service
开机启动 systemctl enable httpd.service
测试httpd服务是否能使用:把HTTP样本放到/var/www/html目录里,在浏览器输入
http://服务器IP ,看是否能进入HTTP样本网页
2.5 SSH免密登录,主
生成公钥和私钥
ssh-keygen -t rsa -f ~/.ssh/id_rsa
连续三次回车即可,再查看.ssh目录下,会生产两个文件:id_rsa和id_rsa.pub,其中id_rsa表示私钥,id_rsa.pub表示公钥
将公钥id_rsa.pub复制到自己和其他机器
ssh-copy-id cm-server
ssh-copy-id hadoop-1
ssh-copy-id hadoop-2
以上只是cm-server—>cm-server 、hadoop-1、hadoop-2,有需要的可以自行扩展
安装jdk,主从
一般虚拟机的系统都会自带jdk,建议重新装jdk,这样路径好配置,先查看系统jdk
rpm -qa | grep java
红色箭头都要删掉
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.2.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-2.b14.el7.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/src/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存后退出执行source /etc/profile生效。
安装mysql
一般centos系统中会自带mariadb,需要先卸载
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
解压下载的安装包:
tar -xvf MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar //mysql rpm包拷贝到服务器上然后解压
rpm -ivh MySQL-*.rpm //安装释出的全部rpm
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
vi /etc/my.cnf //在配置文件中增加以下配置并保存
[mysqld]
default-storage-engine = innodb
innodb_file_per_table
collation-server = utf8_general_ci
init-connect = 'SET NAMES utf8'
character-set-server = utf8
yum install -y perl-Module-Install.noarch
/usr/bin/mysql_install_db //初始化mysql
service mysql restart //启动mysql
cat /root/.mysql_secret //查看mysql root初始化密码
mysql -u root -p //登录进行去更改密码
mysql> SET PASSWORD=PASSWORD('123456');
mysql> update user set host='%' where user='root' and host='localhost'; //允许mysql远程访问
mysql> flush privileges;
chkconfig mysql on //配置开机启动
安装好mysql之后,还需要进行一些操作
mysql> use mysql
mysql> select User, Host, Password from user;
mysql> update user set host='%' where host='localhost';
mysql> delete from user where Host='cm.gey.com';
mysql> delete from user where Host='127.0.0.1';
mysql> delete from user where Host='::1';
mysql> flush privileges;
mysql> create database cmf DEFAULT CHARACTER SET utf8;
mysql> create database amon DEFAULT CHARACTER SET utf8;
mysql> create database hive DEFAULT CHARACTER SET utf8;
mysql> create database oozie DEFAULT CHARACTER SET utf8;
mysql> create database hue DEFAULT CHARACTER SET utf8;
mysql> grant all on cmf.* TO 'cmf'@'%' IDENTIFIED BY '123456';
mysql> grant all on amon.* TO 'amon'@'%' IDENTIFIED BY '123456';
mysql> grant all on hive.* TO 'hive'@'%' IDENTIFIED BY '123456';
mysql> grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';
mysql> grant all on hue.* TO 'hue'@'%' IDENTIFIED BY '123456';
mysql> flush privileges;
将mysql-connector-java-5.1.27.jar上传到/usr/share/java目录,这步必不可少。
到此为止,基于cdh的linux环境基本就配置完了,篇幅有限,具体的cdh安装留待下篇。