Hadoop伪分布式安装
安装环境:Centos7.5,只少2核4G
提前准备:Linux中要安装JDK8,Zookeeper-3.5.7
1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2. 修改主机名
Hadoop集群中,主机名中尽量不要出现-或者_
vim /etc/hostname
将原来的主机名删除,添加自己指定的主机名
3. 需要将主机名和IP进行映射
vim /etc/hosts
进入文件之后,除了127.0.0.1以及::1这开头的两行以外,其余的行全部删除
之后添加当前主机的IP 主机名,例如
10.10.153.69 hadoop01
4. 关闭SELINUX
vim /etc/selinux/config
将SELINUX属性的值改为disabled
5. 重启
reboot
6. 配置免密登录
ssh-keygen(回车之后,再根据三次提示直接按三次回车键)
ssh-copy-id主机名(回车之后,输入一次yes,然后在输入一次密码)
测试是否免密成功:ssh hadoop01
如果不需要密码,那么说明免密成功,那么输入logout
7. 上传或者下载hadoop
进入/home/software目录,来上传或者下载Hadoop。
cd /home/software/
8. 解压Hadoop安装包
tar -xvf hadoop-3.1.3.tar.gz
9. 进入Hadoop的配置文件目录
cd hadoop-3.1.3/etc/hadoop/
10. 编辑文件
vim hadoop-env.sh
在文件中添加JAVA_HOME,值是JDK的安装路径
export JAVA_HOME=/home/software/jdk1.8
保存退出,重新生效这个文件
source hadoop-env.sh
11. 编辑文件
vim core-site.xml
添加内容
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/software/hadoop-3.1.3/tmp</value>
</property>
12. 编辑文件
vim hdfs-site.xml
添加内容
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
13. 编辑文件
vim mapred-site.xml
添加内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
14. 编辑文件
vim yarn-site.xml
添加内容
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
15. 编辑文件
vim workers ------- 注意,如果是在Hadoop2.X,那么这个文件是slaves
将原来的localhost删除掉,然后添加当前主机的主机名
16. 配置环境变量
vim /etc/profile
在文件末尾添加
export HADOOP_HOME=/home/software/hadoop-3.1.3
export PATH=PATH:HADOOP_HOME/bin:
保存退出,重新生效这个文件
source /etc/profile
通过hadoop version命令来确定配置是否有效
17. 第一次启动Hadoop之前,需要先进行一次格式化
hadoop namenode -format
如果出现了Storage directory /home/software/hadoop-3.1.3/tmp/dfs/name has been successfully formatted.表示格式化成功
18. 进入Hadoop安装目录的子目录sbin下
cd /home/software/hadoop-3.1.3/sbin/
19. 编辑文件
vim start-dfs.sh
在文件头部添加
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
20. 启动HDFS
start-dfs.sh
21. 通过jps查看,会发现三个进程
NameNode
DataNode
SecondaryNameNode
22. 编辑文件
vim start-yarn.sh
在文件头部添加
YARN_RESOURCEMANAGER_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
YARN_NODEMANAGER_USER=root
23. 启动YARN
start-yarn.sh
24. 通过jps查看,会发现多出来两个进程
ResourceManager
NodeManager
25. 在第一次关闭Hadoop之前,同样修改stop-dfs.sh以及stop-yarn.sh
- stop-dfs.sh的修改内容同第19条。
- stop-yarn.sh的修改内容同第22条。
- 之后,再次启动Hadoop,那么可以使用start-all.sh。如果单独启动HDFS,那么使用start-dfs.sh;如果单独启动YAR,那么使用start-yarn.sh。如果要关闭,将start命令改成stop命令即可
26. 可能出现的问题的解决方案
1. 如果出现了Name or Service not known或者是UnknownHost之类的问题,那么检查hosts文件是否配置正确,或者是主机名是否写对
2. 如果出现了commandc not found,那么检查环境变量是否正确,或者修改完环境变量之后是否进行了source
查看namenode节点状态
hdfs haadmin -getServiceState nn1