基于CentOS7安装CM

从零开始搭建基于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

关闭防火墙

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

关闭selinux

vim /etc/selinux/config

找到SELINUX改为:
SELINUX=disabled

所有节点ssh无密码登录

先在dt01上执行:

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

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

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

在server01上,将authorized_keys分发到其他节点服务器:
scp ~/.ssh/authorized_keys root@dt02:~/.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

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

验证服务
ntpq -p
基于CentOS7安装CM

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 root@dt02:/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
上一篇:Java多线程编程-(18)-借ThreadLocal出现OOM内存溢出问题再谈弱引用WeakReference


下一篇:字典的使用(上) | Python从入门到精通:进阶篇之十四