1 概述
发现网上很少cloudera集群部署的资料。这里安装cloudera5.7.0集群,是根据cloudera官网Path C方式,期间也趟过不少坑。有必要拿出来分享下。
机器性能:
192.168.89.2 24核cpu 374G内存
192.168.89.3 24核cpu 374G内存
192.168.89.4 24核cpu 374G内存
192.168.89.5 24核cpu 374G内存
192.168.89.6 24核cpu 374G内存
192.168.89.7 24核cpu 374G内存
192.168.89.8 24核cpu 374G内存
192.168.89.9 24核cpu 374G内存
192.168.89.10 24核cpu 374G内存

系统要求:redhat6.6
基本环境:dns、ssh、ntp
Jdk要求:jdk 1.7.55以上,,这里选择1.8.0_60
Cloudera manager数据库:mysql或postgresql,这里选择mysql

2 建立操作用户

useradd  upaycdh
passwd  upaycdh

给upaycdh增加sudo权限
root用户操作:

chmod u+w /etc/sudoers
vi  /etc/sudoers

upaycdh ALL=(ALL) NOPASSWD: ALL
Defaults env_keep+=JAVA_HOME

保存退出。

chmod u-w /etc/sudoers

3 DNS设置

3.1 命名

192.168.89.2 fengkongb
192.168.89.3 fengkongc
192.168.89.4 fengkongd
192.168.89.5 fengkonge
192.168.89.6 fengkongf
192.168.89.7 fengkongg
192.168.89.8 fengkongh
192.168.89.9 fengkongi
192.168.89.10 fengkongj

3.2 修改主机名

192.168.89.10:

vi/etc/sysconfig/network

NETWORKING=yes
HOSTNAME= fengkongj
保存退出

vi /etc/hosts

192.168.89.2 fengkongb
192.168.89.3 fengkongc
192.168.89.4 fengkongd
192.168.89.5 fengkonge
192.168.89.6 fengkongf
192.168.89.7 fengkongg
192.168.89.8 fengkongh
192.168.89.9 fengkongi
192.168.89.10 fengkongj

保存退出
/*****重启network*****************/

service network restart

/****检查是否修改成功*******/

hostname

fengkongj

  • 在其他机器做同样的操作

4 SSH设置

4.1 关闭防火墙和SELINUX

service iptables stop

注:disable将永久关闭防火墙服务,防止系统重启后又开启服务。

vi /etc/selinux/config

SELINUX=disabled

保存退出

reboot

注:做到这里重启系统,重启后检查hostname是否修改成功,firewalld服务是否正常关闭。
* 在其他机器做同样的操作

4.2 Ssh互信配置
在目标机器上,预先设置好经过认证的key文件,当需要访问目标机器时,目标机器通过key文件,对访问者进行自动认证,从而实现互信。
1) 启动ssh 服务

service sshd restart

2) 在clouderamanager server机器上(这里是192.168.89.10 upaycdh用户)

cd ~
 /usr/bin/ssh-keygen-t rsa -P ''

注:一路回车

cd ~/.ssh/
cp id_rsa.pubauthorized_keys
chmod 600authorized_keys

注:执行如下命令,生成bdp账号的密钥对 (这里是upaycdh用户上执行)

scp -r ../.ssh/  192.168.89.9:~/
...

注:将~/.ssh目录拷贝覆盖到集群其他节点的upaycdh用户目录下

ssh  fengkongb
...

注:测试是否配置成功

5 搭建yum源服务器

5.1 搭建本地yum-挂载iso

1) 创建iso存放目录和挂载目录

mkdir /home/admin/iso
mkdir /mnt/cdrom

2) 将iso镜像文件上传到/home/admin/iso文件夹下
3) 将/home/admin/iso/下的iso文件挂载到/mnt/cdrom目录

mount -o loop /home/admin/iso/xxxxx.iso/mnt/cdrom

4) 查看是否挂载成功

df -h

5) 如果/etc/yum.repos/下面有其它的.repo文件,先创建个文件夹,将这些.repo先转移到文件夹中,自己写一个.repo的文件

cd /etc/yum.repos.d/
mkdir bak
mv *.repo bak
vi centos6.repo

[base]
name=CentOS6.6
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

保存退出
6) 测试是否挂载成功

yum clean all
 yum list

5.2 安装和配置vsftpd服务

yum -y installvsftpd*
 cp -rv /mnt/cdrom/* /var/ftp/pub
 cd /var/ftp/pub
 rm -rf *.html
 rm -rf TRANS.TBL

5.3 安装createrepo工具,生成yum通用数据库

yum –y install createrepo
 createrepo -g /var/ftp/pub/repodata/3eda3fefdbaf4777fcab430c80bc438293c512f22fd706b12c6567d535b2142a-3eda3fefdbaf4777fcab430c80bc438293c512f22fd706b12c6567d535b2142a-c7-x86_64-comps.xml/var/ftp/pub

注:这里一长串的名字,每个iso不一定相同,但repodata下开始只有一个xml文档,选它即可。

5.4 重启vsftpd,并且配置开机重启

systemctl restart vsftpd
systemctl enable vsftpd

5.5 Yum客户端配置

注:每台机器都需要修改

cd /etc/yum.repo.d/
mkdir bak/
cp * bak/
vi centos6.repo

[base]
name=CentOS6.6
baseurl=ftp://cdh1/pub
enabled=1
gpgcheck=0

保存退出

yum clean all
yum list

6 NTP配置
6.1 Ntp客户端配置

1) 安装ntp服务器服务,启动

yum-y install ntp
servicentpd start

2) 同步时间

ntpdate -u cn.pool.ntp.org

3) 修改/etc/ntp.conf,红色部分为修改内容

vi /etc/ntp.conf


Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 192.168.0.0 mask 255.255.255.0 nomodify notrap
Use public servers from the pool.ntp.org project.
Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 192.168.91.23
broadcast 192.168.1.255 autokey # broadcast server
broadcastclient # broadcast client
broadcast 224.0.1.1 autokey # multicast server
multicastclient 224.0.1.1 # multicast client
manycastserver 239.255.254.254 # manycast server
manycastclient 239.255.254.254 autokey # manycast client
#允许上层时间服务器主动修改本机时间
restrict 2.cn.pool.ntp.org nomodify notrap noquery
restrict 1.asia.pool.ntp.org nomodify notrap noquery
restrict 2.asia.pool.ntp.org nomodify notrap noquery
server 127.0.0.1 # local clock
fudge 127.0.0.1 stratum 10

4) 重启ntpd服务

service ntpd restart

*在 192.168.89.[2-10]上做同样的操作。

7 JDK安装
注:centos7默认安装了openjdk需要卸载,装成oracle jdk。
注:jdk必须在非/home/用户目录下安装。建议安装在/opt下。不然在cloudera静默安装过程中会报权限问题导致安装失败!

rpm -qa | grep java

tzdata-java-2015g-1.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.65-3.b17.el7.x86_64
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
注:如上所示,需要卸载linux自身已安装的openjdk相关的包

上传jdk-8u60-linux-x64.gz至/opt

tar -zxvf jdk-8u73-linux-x64.tar.gz
 vi /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_60
export PATH=JAVAHOME/bin:PATH

保存退出

source /etc/profile
java -version

8 MYSQL安装(采用192.168.89.1)

8.1 环境准备

注:安装前先卸载mariadb

yum –y remove mariadb*

上传mysql-advanced-5.6.25-linux-glibc2.5-x86_64.tar.gz至/opt

tar -zxvf mysql-advanced-5.6.25-linux-glibc2.5-x86_64.tar.gz

安装mysql依赖环境

yum install make gcc gcc-c++ cmake bison bison-devel ncurses-devel

8.2 设置权限

groupadd mysql
useradd –g mysql mysql
chown –R root:root /opt/mysql
chown –R mysql:mysql /opt/mysql/data

8.3 初始化mysql

mv mysql-advanced-5.6.25-linux-glibc2.5-x86_64/opt/mysql
cd /opt/mysql/scripts
 ./mysql_install_db--defaults-file=/opt/mysql/my.cnf -basedir=/opt/mysql -datadir=/opt/mysql/data--user=mysql

注:官方建议我们安装完后移除test数据库建立自己的数据库,这样数据库将更健壮。

8.4 配置 my.cnf

vi /opt/mysql/my.cnf

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
basedir=/opt/mysql
datadir=/opt/mysql/data
tmpdir=/tmp
port=3306
socket=/opt/mysql/mysql.sock
lower_case_table_names=1
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-name-resolve
max_connections=550
max_connect_errors=3000

log_bin=/opt/mysql/binlogs/mysql_binary_log
binlog_format=mixed
read_buffer_size=2M
read_rnd_buffer_size=16M
sort_buffer_size=8M
join_buffer_size=8M

sql_mode=STRICT_ALL_TABLES

保存退出

8.5 通过服务启动mysql
1)修改/etc/profile文件
export MYSQL_HOME=/opt/mysql
PATH=MYSQLHOME/bin:JAVA_HOME/bin:$PATH
export PATH

保存退出

source/etc/profile

2) 启动mysql

mysqld --defaults-file=/opt/mysql/my.cnf --user=root  --skip-name-resolve &

8.6 配置数据库用户密码

mysql -uroot -S'/opt/mysql/mysql.sock'

1)配置root密码:

mysql> SET PASSWORD = PASSWORD('123456');

2)配置root远程访问:

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANTOPTION;
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456' WITHGRANT OPTION;
mysql>flush privileges;

9 Httpd服务器安装

yum –y install httpd
servicehttpd start