Hadoop 集群搭建,
更多资料请查看我的博客笔记爱白菜鱼 www.ibaicaiyu.com
搭建过那么多次hadoop也没好好总结下,这次公司发了电脑,跑3台虚拟机完全不虚,所以想在自己的机器上搭建hadoop,学习大数据做相关实验,为了避免以后再重复学习,找资料花费大量时间,做笔记如下
一切内容均摘自cloudera官网
0、参考资料
官方参考文档:http://www.cloudera.com/
官方安装文档:https://www.cloudera.com/documentation/enterprise/latest/topics/install_cm_cdh.html
官方版本和下载信息: https://www.cloudera.com/documentation/enterprise/release-notes/topics/rg_vd.html
1、离线下载资料:
CM:
cloudera-manager-daemons-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
cloudera-manager-server-5.15.0-1.cm5150.p0.62.el7.x86_64.rpm
下载地址 https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.0/RPMS/x86_64/4/
CDH:
CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel
CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1
下载地址 http://archive.cloudera.com/cdh5/parcels/5.15.0/
2、安装之前的准备:
配置网络名称
3、权限设置
我们使用root用户的最高权限,但是不同主机之间不要配置无密码登录,步骤如下:
只配置主节点到子节点的无密登录就行
先删除所有密钥 rm -rf ~/.ssh/*
# ssh-keygen -t rsa
# ssh-copy-id hadoop1
# ssh-copy-id hadoop2
# ssh-copy-id hadoop3
4、JDK安装
官网下载jdkjdk-8u171-linux-x64.tar.gz
安装在/usr/java目录下
tar xvfz jdk-8u171-linux-x64.tar.gz -C /usr/java/
5、其他事项
关闭防火墙
systemctl stop firewalld
systemctl disable firewalldSELINUX关闭
setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config iptables --flush reboot #重启生效设置文件打开数量及最大进程数
cp /etc/security/limits.conf /etc/security/limits.conf.bak echo "* soft nproc 32000" >>/etc/security/limits.conf echo "* hard nproc 32000" >>/etc/security/limits.conf echo "* soft nofile 65535" >>/etc/security/limits.conf echo "* hard nofile 65535" >>/etc/security/limits.conf同步时间
安装ntp服务yum -y install ntp
启动ntp服务,并设置开机自启
systemctl start ntpd
systemctl enable ntpd
6、配置Cloudera Manager 管理库
7、安装Cloudera Manager服务
8、安装和配置数据库
我们这次使用PostgreSQL试试,抛弃Mysql数据库
配置和初始化PostgreSQL数据库
9、 创建数据库为Cloudera software
记住自己配置的数据库名,数据库名,密码,要为以下服务配置数据库
使用命令如下:
连接数据库
sudo -u postgres psql
创建数据库用如上图中的数据
CREATE ROLE <user> LOGIN PASSWORD '<password>';
CREATE DATABASE <database> OWNER <user> ENCODING 'UTF8';
整理内容如下:
- 创建角色
CREATE ROLE scm LOGIN PASSWORD 'scm';
CREATE ROLE amon LOGIN PASSWORD 'amon';
CREATE ROLE rman LOGIN PASSWORD 'rman';
CREATE ROLE hue LOGIN PASSWORD 'hue';
CREATE ROLE metastore LOGIN PASSWORD 'hive';
CREATE ROLE sentry LOGIN PASSWORD 'sentry';
CREATE ROLE nav LOGIN PASSWORD 'nav';
CREATE ROLE navms LOGIN PASSWORD 'navms';
CREATE ROLE oozie LOGIN PASSWORD 'oozie';
创建数据库
CREATE DATABASE scm OWNER scm ENCODING 'UTF8'; CREATE DATABASE amon OWNER amon ENCODING 'UTF8'; CREATE DATABASE rman OWNER rman ENCODING 'UTF8'; CREATE DATABASE hue OWNER hue ENCODING 'UTF8'; CREATE DATABASE metastore OWNER metastore ENCODING 'UTF8'; CREATE DATABASE sentry OWNER sentry ENCODING 'UTF8'; CREATE DATABASE nav OWNER nav ENCODING 'UTF8'; CREATE DATABASE navms OWNER navms ENCODING 'UTF8'; CREATE DATABASE oozie OWNER oozie ENCODING 'UTF8';
对于PostgreSQL 8.4及更高版本,请设置 standard_conforming_strings =off 对于Hive Metastore和Oozie数据库:
ALTER DATABASE <database> SET standard_conforming_strings = off;
10、 设置Cloudera Manager数据库
语法:
/usr/share/cmf/schema/scm_prepare_database.sh [options] <databaseType> <databaseName> <databaseUser> <password>
执行:
sudo /usr/share/cmf/schema/scm_prepare_database.sh postgresql scm scm
如果一下文件存在请删除:
sudo rm /etc/cloudera-scm-server/db.mgmt.properties
11、安装CDH
12. 安装hadoop生态软件
安装完成后就可以添加我们所需要的服务了
注意:内存紧张可以把cloudera-manager服务关了或者不安装,只安装自己所需要的组件即可!(我为节点分配了4 3 3 内存,安装了hadoop核心服务,因为内存不足服务起来后又挂掉,建议把不用的服务关了,用的时候开启对应的服务就行,感觉出现的所有警告都是磁盘,内存分配不足的原因,抑制下就好了)