前提条件:
三台虚拟机能够使用Java环境
1.修改Linux中的主机名
vim /etc/hostname
90IP为 master
91IP为 node1
92IP为 node2
修改完成以后执行 reboot 命令重启 当重启链接以后 @符号后内容变更表示更改完成
2.通过ssh验证其他节点是否能够连接
在master节点上验证
ssh node1
ssh node2
ssh master
# 如果验证中,出现node1节点IP对应不上,那么请查看 Linux中 /etc/hosts 文件配置
192.168.111.90 master
192.168.111.91 node1
192.168.111.92 node2
3.免密登录
-
在Master节点上执行
ssh-keygen -t rsa # 三次回车 +---[RSA 2048]----+ | o .+oO*o| | o . =+B.| | . .oE+.+| | o +o+o=| | S. + =.**| | .o = +.*| | .= . ++| | .. o.o| | .. ..o| +----[SHA256]-----+
-
发送密钥至所有节点
ssh-copy-id master ssh-copy-id node1 ssh-copy-id node2 # 发送过后需要验证 ssh node1
-
解压
上传 hadoop-2.7.6.tar.gz 文件至 /usr/local/soft/
tar -zxvf hadoop-2.7.6.tar.gz -C /usr/local/soft/
-
文件目录
- bin Hadoop操作命令目录
- etc/hadoop :用于存放Hadoop配置文件
- sbin 用于存放Hadoop启动脚本
- share/hadoop 用于存放Hadoop的API及其生成的相关依赖
-
配置环境变量
vim /etc/profile # HADOOP_HOME export HADOOP_HOME=/usr/local/soft/hadoop-2.7.6 export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH # source 生效 source /etc/profile
-
修改配置文件
-
添加从节点
# 位置:/usr/local/soft/hadoop-2.7.6/etc/hadoop/slaves # 添加 node1 node2
-
修改Hadoop依赖环境 hadoop-env.sh
删除export JAVA_HOME=${JAVA_HOME} 新加export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
-
修改core-site.xml
# 位置/usr/local/soft/hadoop-2.7.6/etc/hadoop/core-site.xml 在core-site.xml标签configuration中复制一下内容 <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/soft/hadoop-2.7.6/tmp</value> </property> <property> <name>fs.trash.interval</name> <value>1440</value> </property>
-
修改hdfs-site.xml
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>
-
修改yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>20480</value> </property> <property> <name>yarn.scheduler.minimum-allocation-mb</name> <value>2048</value> </property> <property> <name>yarn.nodemanager.vmem-pmem-ratio</name> <value>2.1</value> </property>
-
修改mapred-site.xml
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property>
-
-
hadoop分发到node1和node2
scp -r /usr/local/soft/hadoop-2.7.6 node1:/usr/local/soft scp -r /usr/local/soft/hadoop-2.7.6 node2:/usr/local/soft
-
启动hadoop
-
在master格式化
hdfs namenode -format
格式化完成以后会生成 tmp 目录 :主要用于存放当前Hadoop中的一些临时文件,包括其命名空间的信息
-
启动hadoop
start-all.sh
-
查看当前Master节点中的进程
# 所有Java进程都可以通过该命令查看 jps
-
所有进程划分
-
Hdfs
dataNode
NameNode
SecondaryNameNode
-
Yarn
ResourceManager
nodemanager
-
-
判断Hadoop进程没有问题
master节点 4755 SecondaryNameNode 4906 ResourceManager 4557 NameNode 5582 Jps node节点 2676 Jps 2538 NodeManager 2431 DataNode
-
在本地win环境配置映射
C:\Windows\System32\drivers\etc
192.168.111.90 master
192.168.111.91 node1
192.168.111.92 node2
-
打开Hadoop网页
master:50070
-
相关信息
-
Hdfs访问
hdfs://master:9000
该URL 可以用于API访问HDFS
-
HDFS文件系统分析
上传文件 hdfs dfs -put README.txt /
从页面上可以看出来文件系统结构和Linux中基本一致
- Permission 表示文件或目录对应权限
- Owner、Group 表示所有者及其组
- Replication 表示文件的副本数,当前文件复制份数
- Block Size 表示当前文件Block块切分的大小 128M,当文件大于128M以后会对文件进行切分
- Availability: 表示当前数据存放在哪个节点上
-
YARN页面查看
master:8088
Yarn管理页面
- Memory Total 总内存
- VCores Total 总核数
- Active Nodes 活跃节点
-
注意
- Hadoop 配置存在问题可以删除所有节点中Hadoop下的tmp目录,重新配置
- Hadoop配置无误可以拍摄快照保存