搭建hadoop 完全分布式
修改主机名
hostnamectl set-hostname 主机名
修改映射
vim /etc/hosts
ip 地址 主机名
解压文件
tar -zxvf /opt/software/hadoop-3.1.3.tar.gz -C /opt/module/
写入环境变量
vim /etc/profile.d/my_env.sh
# JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
刷新source
source /etc/profile
测试
javac
java --version
分发环境变量
scp /etc/profile.d/my_env.sh root@slave1:/etc/profile.d/my_env.sh
scp /etc/profile.d/my_env.sh root@slave2:/etc/profile.d/my_env.sh
配置文件
进入hadoop文件目录下的/etc/hadoop/中编写配置文件
core -site.xml
<configuration>
<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>
</property>
<!-- 指定 hadoop 数据的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-3.1.3/data</value>
</property>
<!-- 配置 HDFS 网页登录使用的静态用户为 root(不使用web页面修改文件可不写) -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
</configuration>
hdfs-site.xml
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:9868</value>
</property>
yarn-site.xml
<configuration>
<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>slave2</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>
</configuration>
mapred-site.xml
<configuration>
<!-- 指定 MapReduce 程序运行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
workers
master
slave1
slave2
分发配置文件
scp -r /opt/module/hadoop-3.1.3.tar.gz root@slave1:/opt/module/
scp -r /opt/module/hadoop-3.1.3.tar.gz root@slave2:/opt/module/
设置免密登录
ssh-keygen
ssh-copy-id master
测试
ssh slave1
格式化
hdfs namenode -format
启动
直接启动
在yarn的resourcemanager配置节点启动
start-all.sh
分别启动
start-dfs.sh
这条命令会启动NameNode、SecondaryNameNode和DataNode
start-yarn.sh
这条命令会启动ResourceManager和NodeManager
JPS查看进程
jps