Cloudera5.14配置
- 准备工作
- 软件下载
- 软件安装
- JDK安装
所有节点
- 安装
- 环境变量配置
sudo vim /etc/profile
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
使用root用户
echo "JAVA_HOME=/usr/java/default" >> /etc/environment
- Mysql安装
https://blog.csdn.net/u014646662/article/details/75195739
- Httpd安装
service httpd start
chkconfig httpd on
- Mod_ssl安装
yum install mod_ssl
- Linux环境配置
- 环境变量配置
- 主机配置
- Linux环境配置
每一台都要配,以Manager节点为例,其他节点配置方法相同
表1-1 主机配置
- 修改主机名:
sudo vim /etc/sysconfig/network
root用户(vim 编辑也可)
echo "cloudera.manager" > /etc/hostname
修改hosts文件
sudo vim /etc/hosts
重启网卡
sudo service network restart
如果启动失败
启动失败如果是没有发现网卡驱动,请检查网卡的名字(ifconfig),是否与配置的一致
配置:
sudo vim /etc/udev/rules.d/70-persistent-net.rules
配置的网卡name
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0 (编辑你使用的网卡)
这些操作之后应该网卡就可以正常启动了,顺便提示一下,如果你的虚拟机是复制的,那你要更改UUID,使每一台机器UUID都是唯一的
重启linux
reboot
系统重启后,检查是否配置成功
hostname
- 关闭防火墙
- 关闭SELinux
sudo vim /etc/selinux/config
修改:
SELINUX=disabled
- Ntp 配置
如果你没有装,请先安装(redhat 系统自带)
yum install ntp
该配置除Manager节点外都要配,即只配Agent
sudo vim /etc/ntp.conf
修改内容
server cloudera.manager
启动ntp
- MySQL初始化
- SSH配置
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@cloudera.agent1:~/.ssh/
scp ~/.ssh/authorized_keys lucky@cloudera.agent1:~/.ssh/
- Cloudera安装
- Cloudera 解压
- 创建cloudera-scm用户
由于Cloudera Manager和Managed Services默认使用clouderascm,所以需要创建此用户
- Cloudera配置
- 主节点配置
- Cloudera配置
- Agent配置
配置所有节点的Agent,
vim /opt/cloudera-manager/cm-5.14.3/etc/cloudera-scm-agent/config.ini
- MySQL配置
- 安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo目录
最后将CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel.sha1,重命名为CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.14.2-1.cdh5.14.2.p0.3-el6.parcel文件
- 后续信息
sudo mkdir /var/run/cloudera-scm-agent
sudo chown cloudera-scm:cloudera-scm /var/run/cloudera-scm-agent
sudo mkdir /opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server
sudo chown cloudera-scm:cloudera-scm /opt/cloudera-manager/cm-5.14.3/run/cloudera-scm-server
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
- 安装组件时
Hive安装失败(找不到mysql 驱动)
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/hive/lib/
oozie安装失败(找不到mysql 驱动)
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/lib
cp /opt/cloudera-manager/cm-5.14.3/share/cmf/lib/mysql-connector-java.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/libext/
- 集成环境配置
- 启动
cd /opt/cloudera-manager/cm-5.14.3/etc/init.d/
Manager:./cloudera-scm-server start
Agent: ./cloudera-scm-agent start
- 登录
- 问题
- 启动Hadoop生态圈中的组件出错(缺少服务)
启动出错原因:部分软件没有安装
例如:hue启动时角色启动失败
请检查httpd和mod_ssl是否安装了,在错误日志中可以看到
如果这两个软件没有装,在启动时也会报没有权限,手动更改权限后再重启,hue又重新生成文件,又说没有权限,再继续向下看错误日志,会发现这两个软件没有装,如果已经装过,那就是没有启动服务。
在启动服务时一定要用root用户,前面加sudo是不行的
yum install httpd
service httpd start
chkconfig httpd on
yum install mod_ssl
service mod_ssl
chkconfig mod_ssl on
- 运行命令出错(权限管理)
错误多为权限问题
在控制权限的时候不要都给*777权限,尽量不要给所有用户赋予可写权限,在cdh中Hadoop生态圈中所有的组件的超级管理员默认是hdfs,属于hdfs组,也属于超级管理员组。
在linux中默认的超级管理员是root,root在Hadoop生态圈组件中却属于普通用户,不是管理员用户。
默认情况下,hive、spark、hue等组件执行命令时,如果不是hdfs用户,都会出现权限问题,抛出异常。要指定的用户有权限执行命令可以这么做:
Ⅰ 在linux下使用hdfs登录,登录方式:
- su hdfs 回车后输入hdfs密码;
- 登录root后只输入su hdfs回车,不需要hdfs密码
- 具有sudo 的用户可以输入sudo su hdfs
Ⅱ 更改hdfs的/user目录的权限,赋予775
hdfs dfs chmod 775 /user
Ⅲ 为指定的用户添加权限,即将指定的用户添加到hdfs组中,不改变之前的所属组
usermod -a -G hdfs username
username 是待指定的用户的名字
Hue的web页面登录的用户要属于hdfs组
- SERVICE_MONITORING is not running