centos6+cdh5.4.0 离线搭建cdh搭建
一、 系统环境准备
1、网络配置
vi /etc/sysconfig/network
vi /etc/hosts
在虚拟机配置网络环境,内外网访问,ping命令测试
在虚拟机及本地电脑配置机器间地址便捷访问
2、SSH免密钥登录(三台虚拟机之间互相免秘钥)
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
注:实际工作中,只需要把namenode到其它namenode之间,namenode到所有datanode之间配置免秘钥即可
3、防火墙关闭
service iptables stop
chkconfig iptables off
关闭防火墙及关闭防火墙开机启动
4、SELINUX关闭
查看状态:getenforce
临时关闭:setenforce 0
永久关闭(改配置文件):vi /etc/selinux/config (SELINUX=disabled)
5、安装JDK配置环境变量
路径:/etc/profile
export JAVA_HOME=/usr/java/jdkXXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置后设置立即生效:source /etc/profile
注意:(1)、注意JDK与CDH的兼容关系,可以在官网查看
(2)、所有服务器要安装一个JDK版本,即一致性,保证后续服务不会出问题
6、安装NTP
设置开机启动chkconfig ntpd on
设置时间同步ntpdate -u ntp.sjtu.edu.cn
设置后检查时间是否同步
7、安装配置mysql(只需在server所在主机安装)
yum install mysql-server
启动mysql,设置开机启动
service mysqld start
chkconfig mysqld on
进入mysql进行如下操作
mysql
show databases;(展示所有数据库)
show tables;(展示所有表)
use mysql;(使用名字为mysql的数据库)
修改用户权限(让root用户可以使用密码123在任何主机登录,%代表任何主机,如有需要也可以只写一个IP地址)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
select host,user from user;
delete from user where host !='%';
刷新缓存
flush privileges
验证登录是否需要密码:mysql –u root –p
修改权限 权限一定要生效,最后效果就是mysql 登陆会提示你 权限问题
注意使用CDH版本与JDK版本之间的对应关系
8、下载第三方依赖包(所有主机)
chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、
cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
执行安装命令:
yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
二、 CM安装(cloudera manager)
1、安装Cloudera Manager Server、Agent(所有主机)
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2、创建用户cloudera-scm(是cloudera manager的一个管理用户)(所有主机)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
在passwd目录下检查是否添加成功
3、配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host以及server_port
全部修改为server所在服务器的主机名
端口为它们之间通信端口,一般选择默认
注:配置每一台Agent访问的主机,通过该配置找到server
4、配置CM Server数据库(server主机连接数据库启动时会创建相关配置信息等)
拷贝mysql 的驱动jar包文件到目录/usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar
创建临时数据temp(下面一行为在mysal数据库执行,可以在mysql客户端连接工具中执行该sql语句)
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm
格式:数据库类型(mysql)、数据库(temp)、数据库服务器(-h后面接数据库服务器node1)、用户名(-u后面接数据库用户名)、密码(-p后面接数据库用户名)、cm server服务器(指定server服务器node1)(最后三个scm为固定写法)
这里对自己主机执行:./scm_prepare_database.sh mysql temp -h node1 -uroot -p123 --scm-host node1 scm scm scm
执行成功
刷新数据库出现temp数据库
注:当某些组件需要安装数据库的时候,会到/usr/share/java/目录下拷贝jar包到对应的服务下面
5、创建Parcel目录
Server节点(只需在server端创建)
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
说明:把CDH安装文件放在server所在主机的parcel-repo目录下,server会将每一个安装包分发到Agent的parcels目录下
/opt/cloudera/parcel-repo我们的server存放本地源目录
6、制作CDH本地源(只需配置server主机)
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码(根据下载版本号去找),新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
将三个文件放到/opt/cloudera/parcel-repo下
7、启动CM Server、Agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
./cloudera-scm-agent start(agent需要启动所有服务器的)
下图日志表示server启动成功
注:(1)、启动之前做快照,避免出现问题难以处理
(2)、查看server启动日志,注意执行server启动命令后会提示ok,但实际上还没完成,日志还在刷新,一定要看日志确认执行完成,否则就需要删除所有重装,非常麻烦
三、 浏览器访问
node1:7180
默认用户名密码为admin
三台主机都已启动
注:如果没有出来三台主机
(1)、检测配置agent时候的配置文件server_host
(2)、检查agent状态,看是否有异常
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d
./cloudera-scm-server status
一、 选择CDH镜像版本
二、 注意下面如果下载的特别慢要注意两个事情
1、 前一步选择CDH包选择错了,选择了一个外网的包,这样的话会从cloudera公司进行下载,此时只能将server停止,重新配置
2、 本地源配置有问题,导致下载失败,或找不到文件等
解压时可能会报字符集问题,这时要检查自己的linux字符集设置,然后改成英文
三、 主机检测
按照提示修改配置文件,重新检测后不再提示
echo 0 > /proc/sys/vm/swappiness
注意这个只是临时修改,因此若要永久修改需要按照后面的要求设置。
检测过程中可能报如下错误原因:
我们安装的时候是通过tar包进行安装的,而检测的时候会默认去检测通过rpm包安装的,所以会显示不适用。
JDK安装,CDH会使用一些自己的JDK,而我们是在官网下载安装的,所以会报这个错
四、 集群设置
选择自定义,选择自己需要安装的服务
五、 分配主机
Datanode分配三台
注:出现下面的原因是我们第一次安装没有配置高可用,需要手动配置高可用,因此会默认出现snn
配置zookeeper集群,默认为一台,我们配置三台
六、 检查配置,点击继续
七、 数据库设置(第一次建集群需要设置)
八、 配置邮件服务器(一般在公司需要配置,这里我们选择默认)
九、 配置并启动服务
点击详细信息查看启动状态
如果这里出问题可能是依赖包的问题,这时恢复下快照检查准备阶段工作。
十、 成功界面
这里显示错误是因为所有服务都没启动
十一、 注意问题
Server完全可以支持几百台的集群的管理,因此不需要配置高可用
原生升级问题,停掉一部分,升级一部分
原生升级需要先将原有的卸载,然后安装新的版本
如有转载请标明转载地址http://www.cnblogs.com/baierfa/p/6688943.html 码农拜耳法致谢!