2.CDH安装遇到的问题
一、CM会检测安装环境,可能会提示一处安装警告,比如: cloudera 建议将/proc/sys/vm/swappiness设置为0,当前设置为60, 则我们需要在集群每台机器上执行命令:
修改swappiness参数有临时修改和永久修改两种方法:
----临时修改:
[[email protected] ~]# sysctl vm.swappiness=10
vm.swappiness = 10
[[email protected] ~]# cat /proc/sys/vm/swappiness
10
这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.
----永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者:
[[email protected] ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf
保存,重启,就生效了。
二、已启用透明大页面压缩,可能会导致重大性能问题。
请运行“echo never > /sys/kernel/mm/transparent_hugepage/defrag”和“echo never > /sys/kernel/mm/transparent_hugepage/enabled”以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。
vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
三、测试hue的数据库--->测试连接失败,报错如下
ImportError: libxslt.so.1: cannot open shared object file: No such file or directory
解决:
在网上搜了下,大部分的解决方案都存在问题,其实看报错就是这个基础服务没装好而已。
服务器上安装libxslt服务即可:yum install libxslt-devel -y
四、CentOS7, 安装CDH5.13.1集群完成后,hue上面红色感叹号,日志提示
原因:服务器环境没有预先安装httpd,mod_ssl服务
解决方法:
yum -y install httpd
yum -y install mod_ssl
安装以上服务后重启hue,启动成功。
五、安装CDH找不到java_home的错误
注:只在第一次安装时遇到,当时安装open JDk后卸载再通过tar安装jdk遇到该问题,并成功解决,后使用rpm安装jdk无此问题。请先参考第九点具体报错。
- 安装CDH找不到java_home的错误
首先:
rpm -qa | grep jdk
rpm -qa | grep gcj
yum -y remove ********
rpm -qa | grep java 或 rpm -qa | grep jdk
rpm -e --nodeps ******
方式一:
mkdir -p /usr/java
ln -s /usr/local/jdk目录 /usr/java/
ln -s /usr/local/jdk1.8.0_161 /usr/java/
方式二:
应该要安装到/usr/java目录下
六、Completed only 1/2 steps. First failure: Failed to execute command Create Oozie Database Tables on service Oozie Support admin Back
(网上资料,并未执行,仅供参考)
解决方法:
写入权限问题,root权限修改 chmod 755 -R /var/lib/oozie/
七、Hadoop权限问题
mkdir: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x
解决办法如下:
第一步:su hdfs,进入hdfs。
第二步:hadoop fs -ls ,瞅瞅user的权限。
第三步:修改权限
hadoop fs -chmod 777 /user
八、centos7安装cdh,集群状态:群集中有 753 个 副本不足的块 块。群集*有 756 个块。百分比 副本不足的块: 9
原因:设置的副本备份数与DataNode的个数不同。 dfs.replication的默认是3,也就是说副本数--块的备份数默认为3份。 但是我设置的只有两个DataNode。所以导致了达不到目标,副本备份不足
设置目标备份数为2
点击集群-HDFS-配置,搜索dfs.replication,设置为2后保存更改。
方式二:通过命令修改当前备份数
su hdfs
hadoop fs -setrep -R 2 /
九、Error: JAVA_HOME is not set and could not be found
Centos7 安装CDH时报错:Error: JAVA_HOME is not set and could not be found.
+ local name=log4j.properties
+ '[' '!' -f /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf/log4j.properties ']'
+ mv /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/hbase-conf/log4j.properties /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf
+ for i in '"$HBASE_CONF_DIR"/*'
++ basename /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/hbase-conf/ssl-client.xml
+ local name=ssl-client.xml
+ '[' '!' -f /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf/ssl-client.xml ']'
++ get_default_fs /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf
++ get_hadoop_conf /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf fs.defaultFS
++ local conf=/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf
++ local key=fs.defaultFS
++ '[' 1 == 1 ']'
++ /opt/cloudera/parcels/CDH-5.14.4-1.cdh5.14.4.p0.3/lib/hadoop/../../bin/hdfs --config /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/ccdeploy_spark-conf_etcsparkconf.cloudera.spark_on_yarn_6447222260596468198/spark-conf/yarn-conf getconf -confKey fs.defaultFS
Error: JAVA_HOME is not set and could not be found.
+ DEFAULT_FS=
解决方法
使用rpm 安装jdk,参考前篇文章
十、ommand aborted because of exception: Command timed-out after 90 seconds
+ '[' finalize-upgrade = mkdir ']'
+ '[' rolling-upgrade-prepare = mkdir ']'
+ '[' rolling-upgrade-finalize = mkdir ']'
+ '[' nnDnLiveWait = mkdir ']'
+ '[' monitor-offline = mkdir ']'
+ '[' refresh-datanode = mkdir ']'
+ '[' mkdir = mkdir ']'
+ '[' 5 -ne 5 ']'
+ DIR=/tmp
+ USER=hdfs
+ GROUP=supergroup
+ PERMS=1777
+ '[' -z true ']'
+ MGMT_CLASSPATH='/opt/cloudera-manager/cm-5.14.1/share/cmf/lib/*'
+ MKDIR_LOG4J_FILE=/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp/log4j_mkdir_1642.properties
+ rm -f /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp/log4j_mkdir_1642.properties
+ cat
+ MKDIR_JAVA_OPTS=' -Dlog4j.configuration=file:///opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp/log4j_mkdir_1642.properties'
+ '[' /usr/java/jdk1.8.0_201-amd64 '!=' '' ']'
+ JAVA=/usr/java/jdk1.8.0_201-amd64/bin/java
+ MKDIR_CLASSPATH='/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp:/opt/cloudera-manager/cm-5.14.1/share/cmf/lib/*'
+ MKDIR_FLAGS='--mgmt_home /opt/cloudera-manager/cm-5.14.1/share/cmf'
+ MKDIR_FLAGS='--mgmt_home /opt/cloudera-manager/cm-5.14.1/share/cmf --cdh_version 5'
+ MKDIR_FLAGS='--mgmt_home /opt/cloudera-manager/cm-5.14.1/share/cmf --cdh_version 5 --conf_dir /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp'
+ '[' -n '' ']'
+ exec /usr/java/jdk1.8.0_201-amd64/bin/java -Dlog4j.configuration=file:///opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp/log4j_mkdir_1642.properties -cp '/opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp:/opt/cloudera-manager/cm-5.14.1/share/cmf/lib/*' com.cloudera.cmf.cdhclient.common.hdfs.CreateHdfsDirUtil /tmp hdfs supergroup 1777 --mgmt_home /opt/cloudera-manager/cm-5.14.1/share/cmf --cdh_version 5 --conf_dir /opt/cloudera-manager/cm-5.14.1/run/cloudera-scm-agent/process/46-hdfs-NAMENODE-createtmp
解决方法:
su - hdfs
hdfs dfsadmin -safemode leave
十一、Required executor memory (1024+384 MB) is above the max threshold (1024 MB) of this cluster!
运行spark-shell时报错:
[root[@master88](https://my.oschina.net/u/2691764) ~]# spark-shell
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel).
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 1.6.0
/_/
Using Scala version 2.10.5 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_201)
Type in expressions to have them evaluated.
Type :help for more information.
19/03/15 10:13:12 ERROR spark.SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: Required executor memory (1024+384 MB) is above the max threshold (1024 MB) of this cluster! Please check the values of 'yarn.scheduler.maximum-allocation-mb' and/or 'yarn.nodemanager.resource.memory-mb'.
at org.apache.spark.deploy.yarn.Client.verifyClusterResources(Client.scala:281)
at org.apache.spark.deploy.yarn.Client.submitApplication(Client.scala:140)
at org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:57)
at org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:151)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:538)
at org.apache.spark.repl.SparkILoop.createSparkContext(SparkILoop.scala:1022)
解决方法:
修改yarn.scheduler.maximum-allocation-mb 和 yarn.nodemanager.resource.memory-mb的默认值为2G
然后重启集群
十二、集群重新安装CDH节点时。安装集群时显示主机状态不良。
发生情况:重新搭建CDH主节点。因是重新搭建,免密登录口令与agent的cm_guid。CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的。
假设server端重新安装了一遍,重新构建集群,而agent没有重新安装,那么他们的id是一定不同的,就会造成上面的异常。
CM的集群是Server-Agent模式的,那么必须有一个唯一的id来标识Server和Agent属于同一个集群,在Agent端就是使用cm_guid文件来记录id的。
解决
1.rm -rf ~/.ssh/authorized_keys
2.重新执行步骤2.5
3.删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。
rm -f /opt/cloudera-manager/cm-5.11.1/lib/cloudera-scm-agent/cm_guid
4.重启CDH服务
参考文章:
https://blog.****.net/holdbelief/article/details/80287471
十三、NFS 有可能启不起来, 查看日志显示
No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
需要安装rpcbind: yum install rpcbind.x86_64
参考文章:
https://www.cnblogs.com/modestmt/p/4540818.html