hadoop-3.0.1编译上和原来有不同的地方,部署时,也有一些需要注意的地方。
安装部署过程一笔带过:
a)设置免秘钥登录。
b)设置jdk环境变量。
c)配置编译好的hadoop环境变量,HADOOP_HOME,YARN_HOME,HADOOP_CONF_DIR,LD_LIBRARY_PATH,YARN_CONF_DIR。
d)配置core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,新版本还需要修改start-dfs.sh,start-yarn.sh脚本文件,增加相关用户变量。
e)然后格式化namenode节点。
f)接着分别启动hdfs,yarn。
这里重点不讲如何安装部署。主要列一下与以前2.x版本不一样的地方。
1、yarn-site.xml中默认增加了yarn.nodemanager.env-whitelist。
yarn.nodemanager.env-whitelist JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME
2、启动停止hdfs,yarn脚本文件需要修改,增加变量。
start-dfs.sh/stop-dfs.sh脚本文件头部增加
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh/stop-yarn.sh脚本文件头部增加:
YARN_RESOURCEMANAGER_USER=root YARN_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
不增加这些变量,启动直接失败,并报出如下错误。
Starting namenodes on [server] ERROR: Attempting to operate on hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting operation. Starting datanodes ERROR: Attempting to operate on hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting operation. Starting secondary namenodes [server] ERROR: Attempting to operate on hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting operation. Starting resourcemanager ERROR: Attempting to operate on yarn resourcemanager as root ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting operation. Starting nodemanagers ERROR: Attempting to operate on yarn nodemanager as root ERROR: but there is no YARN_NODEMANAGER_USER defined. Aborting operation.
3、以前etc/hadoop/hadoop-env.sh脚本文件中的JAVA_HOME不用设置,也不会报错,会自动读取系统中设置的环境变量JAVA_HOME,但是这次必须要设置。
4、以前版本mapred-site.xml配置文件默认是没有的,只是mapred-site.xml.template需要拷贝或者重命名为mapred-site.xml,新版本增加了works配置文件,去掉了以前的slaves文件。
5、启动成功,默认的web界面查看namenode健康状态,节点信息等已经不是http://localhost:50070,而是变成了http://localhost:9870。