从零开始搭建基于CM的hadoop集群

系统环境

操作系统CentOS7 x64
Cloudera Manger: 5.14.4
CDH:5.14.4

基础环境配置

所有节点修改hostname(重启生效)及hosts

hostnamectl --static set-hostname dt01

配置主机IP映射关系

vi /etc/hosts
基于CentOS7安装CM/mysql便捷安装

关闭防火墙

所有节点关闭防火墙和selinux(重启生效)
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
基于CentOS7安装CM/mysql便捷安装

关闭selinux

vim /etc/selinux/config

找到SELINUX改为:
SELINUX=disabled

所有节点ssh无密码登录

先在dt01上执行:

ssh-****** -t rsa #一路回车到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] #将公钥拷贝到本机的authorized_keys上
再在其他节点分别执行以下命令:
ssh-****** -t rsa #一路回车到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] #注意此处不变,将公钥拷贝到server01的authorized_keys上

在server01上,将authorized_keys分发到其他节点服务器:
scp ~/.ssh/authorized_keys [email protected]:~/.ssh/

安装说明

通过Yum常用工具的安装

安装EPEL源

yum install epel-release

安装netstat

yum -y install net-tools

安装wget

yum -y install wget

安装telnet

telnet需要安装客户端(telnet)和服务端(telnet-server)
yum -y install telnet telnet-server

安装与设置VIM编辑器

vim编辑器需要安装三个包:
   vim-enhanced-7.0.109-7.el5
   vim-minimal-7.0.109-7.el5
   vim-common-7.0.109-7.el5

  1. 查看一下你本机已经存在的包,确认一下你的VIM是否已经安装:
       输入  rpm -qa|grep vim 这个命令,如何vim已经正确安装,则会显示上面三个包的名称
  2. 如果缺少了其中某个,比如说: vim-enhanced这个包少了,执行:yum -y install vim-enhanced 命令,它会自动下载安装。
  3. 如果上面三个包一个都没有显示,则直接输入命令:
       yum -y install vim*

即可自动安装,完毕后,即可使用vim编辑器。

安装ntp时间同步软件

为master和slave安装ntp ntpdate --默认已安装
yum install ntp ntpdate -y

master节点

编辑 /etc/ntp.conf
vim /etc/ntp.conf

添加如下内容
server time.windows.com
server s2m.time.edu.cn
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org
server 127.127.1.0 iburst local clock 当外部时间不可用时,使用本地时间。
restrict 192.168.137.1 mask 255.255.255.0 nomodify 允许更新的IP地址段
基于CentOS7安装CM/mysql便捷安装

启动ntp服务
systemctl start ntpd
systemctl enable ntpd.service 设置开机启动服务

验证服务
ntpq -p
基于CentOS7安装CM/mysql便捷安装

slaver节点

slave节点同步master节点时间
/usr/sbin/ntpdate 72.16.16.124; /sbin/hwclock -w

客户端设置计划任务,每天晚上1点同步时间

crontab -e

05 * * * * root /usr/sbin/ntpdate 192.168.137.3; /sbin/hwclock -w

每五分钟同步一次

解决yum install mysql-server没有可用包的问题

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y install mysql-server

安装JDK(所有节点)

版本jdk-8u74-linux-x64.tar.gz
tar -zxvf jdk-8u74-linux-x64.tar.gz

配置环境变量
vim /etc/profile

在最后面增加:

export JAVA_HOME=/usr/java/jdk1.7.0_80
export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

安装配置 MySql(主节点)

yum install mysql
yum install mysql-server
service mysqld start(服务启动)

设置用户名和密

– mysqladmin -u root password '111111'

测试登录是否成功

mysql -uroot -p
输入:111111

mysql> USE mysql;
mysql> UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';
mysql> FLUSH PRIVILEGES;

修改数据库的字符集,查看默认的字符集

mysql> SHOW VARIABLES like 'character%';

±-------------------------±---------------------------+
| Variable_name | Value |
±-------------------------±---------------------------+
|
character_set_client | utf8 |
| character_set_connection | utf8 |
|
character_set_database | latin1 |
| character_set_filesystem | binary |
|
character_set_results | utf8 |
| character_set_server | latin1 |
|
character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
±-------------------------±---------------------------+
8 rows in set (0.00 sec)

可以看出,database、server的字符集为latin1,如果后面在建数据库、数据表时,没有指定utf8,输入中文会变成乱码。MySQL 官网有介绍了更改字符集的方法,修改 mysql 的配置文件

vi /etc/my.cnf

# 在 [mysqld] 下面加上这个配置
[mysqld]
character-set-server=utf8

# 如果 client 默认不是 utf8,要改成 utf8 则在 [client] 中加上这个配置
[client]
default-character-set=utf8

更改好配置文件后,保存退出,重启 mysql

service mysqld restart

再查看数据库的字符集,已变成utf8,如下

mysql> SHOW VARIABLES like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

允许远程登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;

进入 mysql 命令行,创建以下数据库:

create database hive DEFAULT CHARSET utf8; 
create database amon DEFAULT CHARSET utf8;
create database hue DEFAULT CHARSET utf8;
create database oozie DEFAULT CHARSET utf8;
create database sentry DEFAULT CHARSET utf8;

GRANT ALL PRIVILEGES

grant all privileges on *.* to 'root'@'10.%' identified by '111111' with grant option;
grant all privileges on cm.* to 'scm'@'10.%' identified by '111111';
grant all privileges on amon.* to 'amon'@'10.%' identified by '111111';
grant all privileges on hive.* to 'hive'@'10.%' identified by '111111';
grant all privileges on oozie.* to 'oozie'@'10.%' identified by '111111';
grant all privileges on hue.* to 'hue'@'10.%' identified by '111111';
grant all privileges on sentry.* to 'sentry'@'10.%' identified by '111111';
flush privileges; 

安装 CM Server 和 Agent

mysql-connector-java-5.1.39.jar

下载parcel
CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel
CDH-5.14.4-1.cdh5.14.4.p0.3-el7.parcel.sha
cloudera-manager-centos7-cm5.14.4_x86_64.tar.gz
manifest.json

KAFKA-3.0.0-1.3.0.0.p0.40-el7.parcel
KAFKA-3.0.0-1.3.0.0.p0.40-el7.parcel.sha
kafka-manager-1.3.0.4.zip

SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel
SPARK2-2.2.0.cloudera2-1.cdh5.12.0.p0.232957-el7.parcel.sha
SPARK2_ON_YARN-2.2.0.cloudera2.jar

cloudera manager 的目录默认位置在/opt 下,解压:

tar xzvf cloudera-manager*.tar.gz
  1. 将解压后的 cm-5.1.3 和 cloudera 目录放到/opt 目录下。

初始化 CM5 的数据库

将下载好的mysql-connector-java-5.1.39.jar放到下面两个目录中:
/opt/cm-5.14.4/share/cmf/lib/, /opt/cm-5.14.4/share/cmf/cloudera-navigator-server/jars
chown -R root:root /opt/cm-5.14.4
chown -R root:root /opt/cloudera
在主节点初始化 CM5 的数据库:

/opt/cm-5.14.4/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p111111 --scm-host localhost scm scm scm

Agent 配置

修改/opt/cm-5.14.4/etc/cloudera-scm-agent/config.ini 中的 server_host 为主节点的主机名。
同步 Agent 到其他节点

scp -r /opt/cm-5.14.4 [email protected]:/opt/

在所有节点创建 cloudera-scm 用户

useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --nocreate-home --shell=/bin/false --comment "Cloudera SCM User" clouderascm

将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
相关启动脚本
主节点:

/opt/cm-5.14.4/etc/init.d/cloudera-scm-server start/stop启动服务端。

所有节点(包括主节点):

/restart启动Agent服务。/opt/cm-5.14.4/etc/init.d/cloudera-scm-agent start

查看端口是是否被占用

netstat -tunlp | gerp 端口号

CDH5 的安装配置

Cloudera Manager Server 和 Agent 都启动以后,就可以进行
CDH5 的安装配置了。
这时可以通过浏览器访问主节点的 7180 端口
后续界面操作这里不再赘述

注意事项

在/usr/sbin/下创建指向$JAVA_HOME的软链接

java -> /usr/local/jdk1.8.0_74/bin/java
    <!-- 登录查看 begin -->
            <!-- 登录查看 end -->

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2022-03-10
  • 2021-05-18
  • 2021-11-20
  • 2021-11-20
  • 2021-11-20
猜你喜欢
  • 2021-08-27
  • 2022-01-07
  • 2021-11-15
  • 2021-09-22
  • 2021-09-12
  • 2021-06-27
  • 2021-12-28
相关资源
相似解决方案