/etc/ansible/hosts 文件如下:
将hosts文件下发到各服务器
将配置文件分发到各节点的 /etc/profile.d/ 目录下。
java.sh
hadoop.sh
hdfs.sh
分发
用ansible 创建 组、用户
NameNode
or
DataNode
or
配置文件 见 附件1
在active namenode上,以 hdfs 执行
在5台salve上,以 hdfs 执行
如猛宏果不提前创棚睁建/tmp目录,并配置权限,后面其他链知岁组件的运行会有问题。以 hdfs 执行:
给MapRed创建的staging directory。以 hdfs 执行:
在YARN上,以 yarn 执行
在5台salve上,以 hdfs 执行
在启动hdfs集群后启动
配置文件目录 /root/hadoop/conf
chrony.conf
core-site.xml
core-site-mapred.xml
core-site-oozie.xml
hdfs-site-master.xml
hdfs-site-slave.xml
yarn-site.xml
mapred-site.xml
hadoop-env.sh
yarn-env.sh
mapred-env.sh
添加如下:
在namenode节点上
在yarn resourcemanager节点上
首先,在亏肆灶脚本中添加echo $JAVA_HOME ,which java ,echo $(whoami),然后用ansible远程执行,发现为root用户但输出为空和找不到java其次,在~/.bash_profile中添加环境变量,用ansible远程执行脚本,发现依然输出为空和找不到java环境变雹乎量最后,考虑ansible执行的环境变量与登录时使用的环境变量不同,所以将JAVA_HOME写在/etc/bashrc中,用ansible远程执行脚本,发销扮现执行正常; 至此,确定ansible执行过程中并未调用/etc/profile和~/.bash_profile
ansible远程执行的是non-login shell 并不会加载/etc/profile和~/.bash_profile下的环境变量,只加载~/.bashrc和/etc/bashrc 如果需要在ansible中执行需要特定环境变量的命令,将环境变量写在~/.bashrc ,然后source一下~/.bash_profile。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)