- 系统环境准备
默认需要使用64G内存,因为只有16G,因此只使用了使用3台虚拟主机进环境搭建,内存分配:10、2、2,剩下的2G给电脑本身用
1.1.网络配置
vi /etc/sysconfig/network
vi /etc/hosts
1.2.SSH免密钥登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id
1.3.防火墙关闭
service iptables stop
chkconfig iptables off
1.4.SELINUX关闭
setenforce 0
vi /etc/selinux/config (SELINUX=disabled)
1.5.安装JDK配置环境变量
rpm -ivh jdk-7u67-linux-x64.rpm
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
1.6.安装NTP
安装ntp
yum install ntp
修改配置文件
#将以下内容注释
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
#添加以下配置文件
server ntp.aliyun.com
设置开机启动 chkconfig ntpd on
设置时间同步
ntpdate ntp2.aliyun.com 手动同步时间
1.7.安装配置mysql
yum install mysql-server
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
flush privileges
1.8.安装依赖文件
yum install chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
- ClouderaManager安装
2.1.安装Cloudera Manager Server、Agent
在准备的三台机器上创建以下目录
mkdir /opt/cloudera-manager
将cloudera-manager-el6-cm5.4.3_x86_64.tar.gz上传并解压搭配/opt/cloudera-manager目录
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2.2.配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host
[General]
# Hostname of the CM server.
server_host=node1 #指定server在那台主机上
# Port that the CM server is listening on.
server_port=7182
2.3.在3台主机上创建用户cloudera-scm
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
2.4.创建Parcel目录
Server节点目录,Server节点在node1上,只需要在node1上创建,并修改文件所有者
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点,该节点有多个,在有Agent节点的服务器上创建该文件,并修改文件所有者。
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
2.5.配置CM Server数据库
拷贝mysql jar文件到目录 /usr/share/java/ 只需要在node1(Server节点)上存在即可,
注意jar包名称要修改为mysql-connector-java.jar
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
./scm_prepare_database.sh 命令在以下文件夹中
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
2.6.制作CDH本地源
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。(Server节点设置在了node1上)
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
manifest.json
将CDH-5.4.0-1.cdh5.4.0.p0.27-el6拷贝,打开manifest.json,进行查找,在对应的结构体中的最后会有对应hash值,将hash值放入到CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha文件中
2.7.将/opt/cloudera-manager/文件夹下的内容拷贝到其他两台主机的相同位置处
scp -r /opt/cloudera-manager/* node2:'/opt/cloudera-manager/'
scp -r /opt/cloudera-manager/* node3:'/opt/cloudera-manager/'
2.8.启动CM Server、Agent
进入到命令所在位置
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
启动server,只需要在node1上启动
./cloudera-scm-server start
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
启动agent,在每一台有agent的主机上启动
./cloudera-scm-agent start
可以去/opt/cloudera-manager/cm-5.4.3/log下看到server和agent的日志文件
tail -f cloudera-scm-server.out #实时打印日志文件
2.9.启动完成后,通过server所在的主节点的ip启动UI界面
node1:7180
添加相关服务时需要创建数据库,赋予相关权限
##amon
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘amon’;
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘hive’;
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO ‘oozie’@’%’ IDENTIFIED BY ‘oozie’;