配置hadoop-env.sh
文件末尾加上
export JAVA_HOME=/opt/module/jdk1.8
export HADOOP_LOG_DIR=/opt/hadoop_repo/logs/hadoop
HADOOP_LOG_DIR存放日志信息
配置core-site.xml
文件末尾加上
<configuration>
<!-- 指定NameNode的地址,NameNode端口号默认为8020,如果该端口被占用,还可使用9000 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop_repo</value>
</property>
<!-- 配置HDFS网页登录使用的静态用户为cty -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>cty</value>
</property>
</configuration>
配置hdfs-site.xml
文件末尾加上
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- nn web端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop01:9870</value>
</property>
<!-- 2nn/secondary namenode web端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:50090</value>
</property>
</configuration>
2代表有两个子节点
配置mapred-site.xml
文件末尾加上
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置yarn-site.xml
文件末尾加上
<configuration>
<!-- 指定MR走shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<!-- 指定ResourceManager的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
</configuration>
配置workers文件添加子节点主机名
配置/sbin/start-dfs.sh与stop-dfs.sh
以下配置文件位置在这行下
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
配置/sbin/start-yarn.sh与stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
配置sbin/start-all.sh与stop-all.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
将配置好的hadoop文件传给子节点
在主节点上格式化
bin/hdfs namenode -format
格式化成功
检验
主节点
子节点
如果有错误可以删除日志文件修改后重新格式化