这里是用自己的一台计算机模拟3台Linux虚拟机来搭建CDH,对性能要求较高,配置不够的话,搭好了也无法正常使用切记。
一些简单的配置可以参考我的其他博客
一.准备三台新的虚拟机并安装配置
基本配置 node01 node02 node03
1. ……(略)
2.网络配置
vi /etc/sysconfig/network
vi /etc/hosts
3.免秘钥登录(略)
4.防火墙关闭 & SELINUX关闭(略)
5.jdk安装 (x3)
mkdir /opt/sxt/tools
先创建一个目录用来装上传的解压包 (这里装的是jdk7)
rpm -ivh jdk-7u67-linux-x64.rpm
会被安装在 /usr/java中
拷贝jdk包到其他节点并安装
scp -r jdk-7u67-linux-x64.rpm node02:`pwd`
rpm -ivh jdk-7u67-linux-x64.rpm
配置环境变量
在 /etc/profile中追加
拷贝环境变量到其他节点 并 加载
scp -r profile node02:`pwd`
scp -r profile node03:`pwd`
source profile
6.安装NTP (x3)
yum install ntp -y
设置开机启动NTP
chkconfig ntpd on
设置时间同步
ntpdate cn.ntp.org.cn
7.安装mysql (这里选了node01安装)
安装
yum install mysql-server -y
开机启动
chkconfig mysqld on
本次启动
service mysqld start
mysql命令(输入mysql开启)
删除所有用户
delete from user;
创建一个用户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
flush privilegs;
此时再退出
exit
使用root账号和123密码登录
mysql -u root -p
123
8.安装一些插件
yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
二.ClouderaManager安装
1、安装Cloudera Manager Server、Agent
创建空目录(x3)
mkdir /opt/cloudera-manager
解压到上面创建的解压目录(下面是两种写法)(node01)
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
tar xvzf cloudera-manager-el6-cm5.4.3_x86_64.tar.gz -C /opt/cloudera-manager/
2、创建用户cloudera-scm(x3)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3、配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中的server_host
vim /opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini
修改为node01
拷贝/opt/中的cloudera-mamager到其他两个节点
scp -r cloudera-manager/ node02:`pwd`
scp -r cloudera-manager/ node03:`pwd`
4、配置CM Server数据库(仅node01)
拷贝mysql jar文件到目录 /usr/share/java/(应该没有此目录 先创建)
上传mysql-java的jar包并改名
mv mysql-connector-java-5.1.26-bin.jar mysql-connector-java.jar
注意jar包名称要修改为mysql-connector-java.jar(因为需要被识别)
移动到创建的/usr/share/java目录
mv mysql-connector-java.jar /usr/share/java/
进入mysql
mysql
先创建一个用户和密码都是temp的用户 并授权
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
进入目录
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
连接mysql实例库 并交代信息
./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm
格式:数据库类型(mysql)、数据库(temp)、数据库服务器(node01)、用户名(temp)、密码(temp)、cm server服务器
可进入mysql验证
5、创建Parcel目录
Server节点(node01)
创建server中央库目录并授权(为了省略文件下载直接上传文件)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点(x3)
3个agent节点创建目录并授权
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
6、制作CDH本地源
下载好文件
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,
将这3个文件放到server节点的/opt/cloudera/parcel-repo下。
mv CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel* manifest.json /opt/cloudera/parcel-repo/
如果没有下载到CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
可以手动制作
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
基本配置完毕
7、启动CM Server、Agent
建议先拍摄快照
进入启动目录 x3
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
启动节点1的server
./cloudera-scm-server start
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
启动3台虚拟机的agent
./cloudera-scm-agent start
(失败示意图 原因:windows本机上的hosts文件里没有本机地址)
查看server日志 (确认server是否启动成功 耐心等待)
tail -f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
日志提示成功后
访问主机端口
node01:7180
能看到页面就证明你已经搭建成功了
用户名:admin
密码:admin