一些在工做中遇到的问题和命令,记录下来:node
1.Host Monitor未运行。这个错误很常见,通常是有什么服务没启动。多数状况重启就行了,假如还有问题就要检查配置,甚至从新安装CDH。mysql
2.修改主机从机ip地址。linux
CDH没有命令来修改ip地址,必需要本身手动修改配置才行。web
1)中止cloudera-manager-sever服务,中止全部的cloudera-manager-agent服务。sql
linux命令:systemctl stop cloudera-scm-server
systemctl stop cloudera-scm-agentshell
2)修改数据库中ip地址的设置,在安装CDH的时候假如没有本身设置数据库那么默认数据库就是 postgresql ,假如设置了那么信息就是存在本身选择的数据库中。我选择的是mysql,先看看mysql的登陆密码:数据库
linux命令: grep password /etc/cloudera-scm-server/db.properties oop
有兴趣的能够看看这份文件,里面有数据库ip地址,数据库类型,数据库密码,存储cdh的数据库名称和用户。post
知道了数据库密码以后就能够登陆数据库修改ip了。能够经过shell命令行修改,也能够经过图形化界面来修改,反正只要修改了就能够。默认数据库是scm,在里面找到HOSTS表,修改里面的IP_ADDRESS字段。ui
linux命令,登陆mysql : mysql -u root -p
我是以root用户登陆的mysql,规范的应该以scm用户身份登陆,也就是将上面的root改成scm。-u表示用户,-p表示密码,用空格隔开。
以后会要你输入密码,输入后登陆数据库。
mysql命令:show databases;
mysql命令通常要以;结尾,查看有哪些数据库,结果以下图:
有两个数据库,再转换到scm数据库,看看有哪些表:
mysql命令:use scm;
show tables;
以下图:
没有指定数据库直接使用show tables;会报错,指定以后就能查看有哪些表了。咱们要修改HOSTS表的数据,先看看有哪些数据在里面。
mysql命令:select * from HOSTS;
能够看到有这些内容,在shell命令行中排列不是很整齐,不过看看字段名也可以知道须要修改的是IP_ADDRESS,
mysql命令:update scm.`HOSTS` set `NAME`='nodeN',IP_ADDRESS='xxx.xxx.xxx.xxx' where `HOST_ID`='num';
将须要修改的ip地址和主机名都修改过来,再看看修改后的数据库是否有什么问题,没有问题后再退出mysql,修改clouderaManager配置文件。
mysql命令:quit;
3)要修改两种文件,一种是CM文件修改,一种是Agent文件修改。
linux指令:
#CM文件
vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.host=新CM主机名
#Agent文件
vi /etc/cloudera-scm-agent/config.ini
server_host = 新主机ip
修改完全部配置文件后,先启动cloudera-scm-server,再启动cloudera-scm-agent。
linux命令:
systemctl start cloudera-scm-server
systemctl start cloudera-scm-agent
这样就能正确读取了ip地址了。假如还有问题建议重启试试。
3.监听CM的运行日志
linux命令:tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
4.clouderaManager web界面地址
ClouderaManager默认端口是7180,hdfs默认端口是50070,当hadoop3.0后默认端口则是9870,当50070访问不到页面的时候注意查看本身hadoop版本。
linux命令 查看hadoop版本:hadoop version
5.hdfs中/tmp文件显示权限不足。报错信息为:Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":root:supergroup:drwx-wx-wx
要修改 hdfs用户下的/tmp文件权限。
linux命令 : hdfs dfs -chmod -R 755 /tmp
先写到这里,之后再补充