基于Ubuntu环境下的CM+kylin搭建

来源:互联网 发布:方知父母恩上一句 编辑:程序博客网 时间:2024/06/05 00:22

本次采用离线安装的方式

软件准备:

官方安装文档:http://www.cloudera.com/documentation/enterprise/5-6-x/topics/installation.html 
相关包的下载地址: 

Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/

这里选择5.5.6

cloudera-manager-trusty-cm5.5.6_amd64.tar.gz
CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.5.6/

因为我们的操作系统是ubuntu14.0.4,所以需要下载以下文件:

CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel

CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel.sha1

manifest.json

这里选择的是5.5.6版本

具体安装步骤:

1)机器配置(因为启动CM至少需要8G内存,所以用作CM的机器内存至少需要8G):

修改三台机器的IP和主机名,以及主机名跟IP的映射关系(三台机器都要修改)


确保所有机器root密码一致或者sudo免输入密码用户的用户名、密码一致,最好使用root进行安装

修改 /etc/hosts

192.168.23.1 master

192.168.23.2 slaver

192.168.23.3 slaver

2)关闭防火墙: ufw disable 所有机器都要关闭

3)设置SSH免密登录(所有机器):

把三台机器下的id_rsa.pub拷贝到其他两台机器的authorized_keys下

拷贝完成以后用ssh +主机名进行测试登录

4)关闭IPV6: 

首先查看IPV6的状态 cat /proc/sys/net/ipv6/conf/all/disable_ipv6

显示0说明开启,1说明关闭

如果开启关闭IPV6:vim /etc/sysctl.conf 添加如下几行

#disable IPv6

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1

 

 

5)配置JDK(所有机器):

首先卸载系统自带的JDK:apt-get remove openjdk*

解压下载好的JDK

tar zxvfjdk-7u67-linux-x64.tar.gz -C /usr/lib/jvm/

JDK 路径:/usr/lib/jvm/jdk1.7.0_67

 

6)配置环境变量(所有机器):

vim /etc/profile

添加如下几行:

#JAVA_HOME

exportJAVA_HOME=/usr/lib/jvm/jdk1.7.0_67 

exportCLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH" 

export PATH="$JAVA_HOME/bin:$PATH"

保存退出,使配置生效,source /etc/profile

 

7)配置ntp时间同步

安装ntp:apt-getinstall ntp

开启主节点的NTP服务,其他节点从主节点同步ntpdate 192.168.23.2

系统时间与BIOS时间同步:

查看BIOS时间 hwclock

系统时间与BIODS时间同步:hwlock –systohc

查看ntp进程 ps aux | grep ntp

 

其他节点编写时间同步定时脚本: crontab –e

0-59/10 * * * *  /usr/sbin/ntpdate -u 192.168.23.2

 

8)安装HTTP服务(CM是基于HTTP服务访问的,原先的环境没有HTTP):

 安装命令:apt-get install apache2

 启动命令:/etc/init.d/apache2 start

 如果访问失败请修改etc/apache2/apache2.conf,在里面添加一行

ServiceName localhost:80

 

 

 

9)安装数据库 这里用mysql用来保存CM的数据据信息,如果用postgresql可以跳过这一步:

apt-get install  mariadb-server-5.5

mysql对应CM的参数设置网址http://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_mysql.html?scroll=cmig_topic_5_5_2_unique_1

启动mysql : service mysql restart

创建相关数据库:进入mysql:mysql –u root –p

MySQL的一些简单管理:

启动MySQL服务: sudo start mysql

停止MySQL服务: sudo stop mysql

修改 MySQL 的管理员密码: sudo mysqladmin -u root password newpassword

设置远程访问(正常情况下,mysql占用的3306端口只是在IP127.0.0.1上监听,拒绝了其他IP的访问(通过netstat可以查看到)。取消本地监

听需要修改 my.cnf 文件:):

sudo vi /etc/mysql/my.cnf

bind-address = 127.0.0.1 //找到此内容并且注释

 

进入以后执行下面命令:

create database amon DEFAULT CHARACTER SETutf8;

grant all on amon.* TO 'amon'@'%'IDENTIFIED BY 'amon_password';

grant all on amon.* TO 'amon'@'CDH'IDENTIFIED BY 'amon_password';

create database smon DEFAULT CHARACTER SETutf8;

grant all on smon.* TO 'smon'@'%' IDENTIFIEDBY 'smon_password';

grant all on smon.* TO 'smon'@'CDH'IDENTIFIED BY 'smon_password';

create database rman DEFAULT CHARACTER SETutf8;

grant all on rman.* TO 'rman'@'%'IDENTIFIED BY 'rman_password';

grant all on rman.* TO 'rman'@'CDH'IDENTIFIED BY 'rman_password';

create database hmon DEFAULT CHARACTER SETutf8;

grant all on hmon.* TO 'hmon'@'%'IDENTIFIED BY 'hmon_password';

grant all on hmon.* TO 'hmon'@'CDH'IDENTIFIED BY 'hmon_password';

create database hive DEFAULT CHARACTER SETutf8;

grant all on hive.* TO 'hive'@'%'IDENTIFIED BY 'hive_password';

grant all on hive.* TO 'hive'@'CDH'IDENTIFIED BY 'hive_password';

create database oozie DEFAULT CHARACTER SETutf8;

grant all on oozie.* TO 'oozie'@'%'IDENTIFIED BY 'oozie_password';

grant all on oozie.* TO 'oozie'@'CDH'IDENTIFIED BY 'oozie_password';

 

create database hue DEFAULT CHARACTER SETutf8;

grant all on hue.* TO 'oozie'@'%' IDENTIFIEDBY 'hue_password';

grant all on hue.* TO 'oozie'@'CDH'IDENTIFIED BY 'hue_password';

 

 

 

create database metastore DEFAULT CHARACTERSET utf8;

grant all on metastore.* TO 'hive'@'%'IDENTIFIED BY 'hive_password';

grant all on metastore.* TO 'hive'@'CDH'IDENTIFIED BY 'hive_password';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'root'

 WITHGRANT OPTION;

flush privileges;

 

 

 

 

 

 10)安装MariaDB JDBC驱动

 apt-getinstall libmysql-java

 

使用cloudera脚本在mysql中进行相关配置

/opt/cloudera-manager/cm-5.5.6

/share/cmf/schema/scm_prepare_database.shmysql -uroot -p --scm-host localhost scm scm scm_password

 

11)安装ClouderaManager Server 和Agents

在主节点opt目录下创建目录:mkdir /opt/cloudera-manager

将下载好的cloudera-manager-trusty-cm5.5.6_amd64.tar.gz解压到/opt/cloudera-manager中

创建用户:sudouseradd --system --home=/opt/cloudera-manager/cm-5.5.6/run/cloudera-scm-server--no-create-home --shell=/bin/false --comment "Cloudera SCM User"cloudera-scm

 

创建clouderamanager sever的本地数据存储目录(主节点进行)

mkdir  /var/log/cloudera-scm-server

sudo chown cloudera-scm:cloudera-scm/var/log/clouder-scm-server

 

在每个节点上配置server_host,现在主节点进行配置,因为主节点的clouder-manager都要发送到其他机器,所以配置一台即可,其他机器需要简历opt文件夹

vim /opt/cloudera-manager/cm-5.5.6/etc/cloudera-scm-agent/config.ini

//吧server_host改成主节点名称

server_host= 主节点名称

向其他节点发送cloudera-manager:

scp –r /opt/clouder-manager root@主节点2,3:/opt

 

12)创建Parcel目录

在主节点上创建 mkdir-p /opt/cloudera/parcel-repo

把跟CDH相关的Parcel包放到/opt/cloudera/parcel-repo中

CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel

CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel.sha1

manifest.json

然后重命名CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel.sha1,改为CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel.sha,这点必须要注意,否则系统会重新下载CDH-5.5.6-1.cdh5.5.6.p0.2-trusty.parcel.sha1文件

在从节点上 mkdir –p/opt/cloudera/parcels

在各个节点上安装依赖 apt-getinstall

lsb-base

psmisc

bash

libsasl2-modules

libsasl2-modules-gssapi-mit

zlib1g

libxslt1.1

libsqlite3-0

libfuse2

fuse-utils or fuse

rpcbind

13)启动server和agent

启动server:

/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-server start

/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-agentstart

启动agent:

/opt/cloudera-manager/cm-5.5.6/etc/init.d/cloudera-scm-agentstart

 

若启动出错,可以查看/opt/cloudera-manager/cm-5.6.0/log里的日志 
若没错,则等待几分钟后,在浏览器访问Cloudera Manager Admin Console,我的主节点ip为192.168.23.2,那么访问http://192.168.10.236:7180,默认的用户名和密码为admin。

解决警告:

内存交换区:echo 0 > /proc/sys/vm/swappiness

                   透明大页面:echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag

              #vi /etc/rc.local  加入echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag 命令

14)CM整合Kylin

Kylin这里采用单节点部署

麒麟官网下载地址http://kylin.apache.org/download/

因为采用的是CDH5.5版本的。所以需要下载对应版本的安装包


点击这里进行下载(附件已经打包了下载好的对应版本的kylin)

这里在主节点安装kylin

A)创建kylin目录 mkdir  /opt/kylin

tar zxvf apache-kylin-1.6.0-cdh5.7-bin.tar.gz  –C /opt/kylin

B) 修改kylin配置

vim /opt/apache-kylin-1.6.0-cdh5.7-bin/conf/kylin.properties




C ) 设置kylin的环境变量:


source /etc/profile 使环境变量生效

D ) 拷贝jar到tmp/kylin下如果没有自己创建

cp/opt/apache-kylin-1.6.0-cdh5.7-bin/lib/kylin-coprocessor-1.6.0.jar/tmp/kylin/kylin-coprocessor-latest.jar
cp /opt/apache-kylin-1.6.0-cdh5.7-bin/lib/kylin-job-1.6.0.jar/tmp/kylin/kylin-job-latest.jar

 

执行/opt/kylin/apache-kylin-1.6.0-cdh5.7-bin/bin/kylin.shstart 来启动

最后输出,表示启动成功:
A new Kylin instance is started by root, stop it using"kylin.sh stop"
Please visit http://<ip>:7070/kylin
查看日志路径 /opt/apache-kylin-1.6.0-cdh5.7-bin/logs/kylin.log

访问kylin界面 : http://ip:7070/kylin

 用户名/密码:ADMIN/KYLIN

 

 

 

E) 问题处理:
当执行./check_env.sh 或./kylin.sh start时遇到 mkdir: Permission denied: user=root,access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
failed to create /kylin, Please make sure the user has right to access /kylin

解决方法:
默认会在HDFS上创建/kylin目录,需要hdfs权限
可以在check-env.sh中 将hadoop fs-mkdir -p $WORKING_DIR 变成 sudo -u hdfs hadoop fs -mkdir -p $WORKING_DIR,得以解决

 

 




原创粉丝点击