Kudu在启动时,要求ntp对时,但不是被动的对时,而是kudu主动对时。之前系统搭建时候采用的对时策略是:一个主服务81链接ntp服务器,并且自己作为二级ntp服务器;82-84作为客户端,在定时操作中使用ntp指令向81对时。
问题在于82-84是定时对时,没办法在kudu软件中由它主动完成,而是被动接受系统时间,这样的配置在kudu中不行,因此改为新策略:81-84全部改为原81的策略,kudu验证通过。
安装后启动报错Java heap space (如下图)
需要修改Java内存,默认50M,这点很奇怪,安装过程中没提示让设置内存,结果执行完安装后无法启动
进入kafka选“配置”,
找到Java Heap Size 改为260M(根据服务器配置改参数)
最后保存,控制台重启kafka就可以了。
集群在提交oozie-spark的sparkPi程序的时候,出现死等待,一直执行不完,经分析是集群资源不多,而程序要求资源多。
去掉提交参数–num-executors 3 –driver-memory 1g –executor-memory 1g
修改yarn的参数ResourceManager Default Group->资源管理,将集群的内存改为9G即可(虚拟机资源太可怜了)。
在计算引擎的shuffle等阶段会有大量的小文件进行merge操作,为了最大的使用系统集群资源,需要将原有句柄数目改大,以支持大量的文件读取。
在执行文件句柄数修改的时候,使用了如下的错误操作方式:
1. 所有集群节点执行:mv /etc/security/limits.conf /etc/security/limits.conf.bak
2. 第一台节点执行:
cp /etc/security/limits.conf.bak /etc/security/limits.conf
vim /etc/security/limits.conf
3. 使用scp远程分发
但是scp指令是远程指令,系统要读取limits.conf文件的资源限制参数,以确定是否可以使用scp,在没有此文件的情况下,系统无法scp,也无法远程登陆。
修复方法:
系统装了Saltstack客户端,请运维处理。
注意:修改limits.conf这类限制资源使用的文件,一定要备份配置文件,并进行测试,最好能多开一个终端,在当前终端不可使用的时候,用来执行补救措施。否则可能所有远程连不上,就要去机房了。
在HDFS组件中,修改hadoop 配置文件 etc/hadoop/core-site.xml,加入如下配置项
hadoop.proxyuser.root.hosts=*
hadoop.proxyuser.root.groups=*
hadoop.proxyuser.root.hosts配置项名称中root部分为报错User:* 中的用户名部分,例如User: yyh is not allowed to impersonate anonymous则需要将xml变更为如下格式
hadoop.proxyuser.yyh.hosts=*
hadoop.proxyuser.yyh.groups=*
重启hadoop即可。
Hive创建表报错查看日志
Datastore.Schema (Log4JLogger.java:error(115)) - An exception was thrown while adding/validating class(es) : Column length too big for column ‘PARAM_VALUE’ (max = 21845); use BLOB or TEXT instead
最后定位到mysql的数据格式不正确,这里选择修改原有的mysql的数据库的编码形式。
参考:https://blog.csdn.net/paulfrank_zhang/article/details/80983933
首先,先在hive-site中添加:
hive.users.in.admin.role=hive
然后再用beline登陆
设置角色
0: jdbc:hive2://node04:10000> set role admin;
0: jdbc:hive2://node04:10000> show current roles;
在这个环节,出现的问题较多,但总的来说,是与数据库参数配置,和帐号权限配置有关。
如在执行scm_prepare_database.sh脚本时,出现的错误:
java.sql.SQLException: Your password does not satisfy the current policy requirements
一般是由密码策略级别问题引发(mysql5.7就是严谨):
可以通过 my.cnf 配置文件关闭 validate_password 插件。
通过修改/etc/my.cnf 目录下配置文件,修改设置密码策略的级别,只需要在[mysqld]下添加一行 validate_password = off
如图所示:
编辑完配置文件后,重启mysqld服务即可生效。
遇到节点“主机运行状态不良”的提示,解决办法是删除故障节点Agent服务cm_guid文件:
rm -rf /opt/cm-5.15.0/lib/cloudera-scm-agent/cm_guid
重新启动故障节点Agent服务:
重启故障节点Agent服务后,故障消失:
注:出现故障原因是,因为我之前在故障节点启动过cloudera-scm-agent服务。
https://www.jianshu.com/p/ba527bc43398
https://bbs.csdn.net/topics/392280696
现象描述:
启动agent
[[email protected]_master-194 yuanyihan]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent start
Starting cloudera-scm-agent: [ OK ]
[[email protected]_master-194 yuanyihan]# /opt/cm-5.15.0/etc/init.d/cloudera-scm-agent status
cloudera-scm-agent is stopped
而日志报错基本没啥有用信息
经过查阅资料,发现是hostname中不能有下划线
修改如下:
194节点
[[email protected]_master-194 yuanyihan]# hostnamectl set-hostname prd-pg-cdh-mysql-master-194
195节点
[[email protected]_slave-195 yuanyihan]# hostnamectl set-hostname prd-pg-cdh-mysql-slave-195
然后是hosts,配置文件等一系列的改变。为了便于修改,现在checklist如下:
NO. | 项目 | 修改内容 | 备注 |
---|---|---|---|
1 | 所有 Hosts | 修改 | |
2 | 所有agaent | /opt/cm-5.15.0/etc/cloudera-scm-agent/config.ini | 使用ip |
3 | mysql主备配置文件 | 如果用到hostname代替ip的话改 | 本次是ip |
4 | 之前配置的数据库设置 | 注释掉:create_user_and_database | 坑中坑 |
然后是删除故障节点agent服务cm_guid文件:
rm -rf /opt/cm-5.15.0/lib/cloudera-scm-agent/cm_guid
重新启动Agent服务:
/opt/cm-5.15.0/etc/init.d/cloudera-scm-agent restart
重启故障节点Agent服务后,故障消失
我们首先捋一下安装过程:
1 通过
/opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -h prd-pg-cdh-mysql-master-194 -uroot -proot –scm-host prd-pg-cdh-mysql-master-194 scm scm scm
设置数据库
2 发现hostname有bug,修改了hostname
3 重启服务器,发现server起不来
问题:现在数据库中已经有了有用的数据,不能删除,但是原来的设置数据库又和现有hostname不匹配,只能做如下处理:设置关于数据库的配置,但是不初始化数据库
那么如何实现呢?
答:
首先,注释掉scm_prepare_database.sh里面的create_user_and_database(这是创建数据库的)
vim /opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh
然后执行配置
/opt/cm-5.15.0/share/cmf/schema/scm_prepare_database.sh mysql -h prd-pg-cdh-mysql-master-194 -uroot -proot –scm-host prd-pg-cdh-mysql-master-194 scm scm scm
然后,再将scm_prepare_database.sh改回去
cloudera-scm-agent/process/169-hue-HUE_LOAD_BALANCER/httpd.conf: Cannot load /usr/lib64/httpd/modules/mod_ssl.so into server: /usr/lib64/httpd/modules/mod_ssl.so: cannot open shared object file: No such file or directory
日志中可以清楚的看到是缺少mod_ssl.so,
安装依赖包中,官方没有说装mod_ssl,安装即可
yum -y install mod_ssl
最后发现这其实是hostname下划线问题问题的坑中坑,也就是scm_prepare_database.sh不匹配的问题。
在执行spark-shell的时候,hdfs的操作需要操作权限:
Caused by: org.apache.hadoop.ipc.RemoteException: Permission denied: user=root, access=WRITE, inode=”/user”:hdfs:supergroup:drwxr-xr-x
这里的措施是:在所有的spark-env.sh中添加
但是问题是:spark只有1个角色,所以处理的措施是:建立角色,虽然没用,但是要有,因为是客户端
报错详情如下:
[[email protected] upload]# rpm -ivh MySQL-server-5.5.25a-1.rhel5.x86_64.rpm
error: Failed dependencies:
libaio.so.1()(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.1)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
libaio.so.1(LIBAIO_0.4)(64bit) is needed by MySQL-server-5.5.25a-1.rhel5.x86_64
这个报错一般出现在阿里云或腾讯云安装CDH上面,解决办法很简单,安装即可
yum install libaio
好了,文章分节上传如下:亲测可用,如果有问题,联系18192015917(叫我:涵哥,白哥,帅哥。。都行)