4-Hadoop伪分布式搭建基本流程
- 关闭防火墙
关闭防火墙,输入命令:systemctl stop firewalld
关闭防火墙开机自启,输入命令:systemctl disable firewalld.service
说明:因为都是内网搭建的,对外还有一个服务器的,那个服务器有防火墙,由它来访问内网集群,如果内网内开启防火墙,内网集群通讯会出现很多问题。注意:在企业开发时,通常单个服务器的防火墙时关闭的。公司整体对外会设置非常安全的防火墙。
2.修改主机名称
输入命令:vi /etc/hostname
编辑,将主机名设置为master
重启,输入命令:reboot
开机后则更名成功,如下图
3. SSH设置免密登录
生成秘钥,输入命令:ssh-keygen -t rsa
#输入后按照提示按Enter键,直到完成命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #直接按 Enter 键
Enter passphrase (empty for no passphrase): #直接按 Enter键
Enter same passphrase again: #直接按Enter键
将公钥拷贝到要免密登录的目标机器上,输入命令:ssh-copy-id master
- 官网下载 Hadoop
下载地址: https://archive.apache.org/dist/hadoop/common/
下载hadoop-3.1.3.tar.gz,该版本较为稳点且与其他工具兼容性更强,这里选用的是hadoop3.1.3,尝试一下选择其他的更高版本也可。
5. 用MobaXterm文件传输工具将hadoop-3.1.3.tar.gz导入到opt目录下面的packages文件夹下面
6. 解压并配置环境变量(可用命令方式/利用MobaXterm工具)
进入目录,输入命令:cd /opt/packages
解压,输入命令:tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
注意:安装hadoop前,一定确保安装了JDK。
编辑,输入命令:vi /etc/profile
#设置环境变量,添加以下几行内容
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CLASSPATH=/tmp/sqoop-classes:$HADOOP_CLASSPATH
#hadoop-3.x版本 必须添加如下5个变量否则启动报错 ,也可在hadoop-env.sh添加。
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
原因:使用root用户执行start-dfs.sh或start-yarn.sh时,脚本会检查对应的环境变量。如果未定义这些变量,脚本会抛出错误并终止启动。
更新环境变量,输入命令:source /etc/profile
验证Hadoop是否安装成功,输入命令:hadoop version
看到如图结果,说明安装成功。
7. 修改Hadoop配置文件
配置文件都放在 /opt/module/hadoop-3.1.3/etc/hadoop/ 目录下。
- 修改hadoop-env.sh 文件:
编辑文件,设置JAVA_HOME绝对路径(JDK 1.8安装路径)
export JAVA_HOME=/opt/module/jdk1.8
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
② 修改core-site.xml 文件(Hadoop-HDFS 系统内核文件),编辑core-site.xml 文件,输入以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop/tmp</value>
</property>
</configuration>
③ 修改hdfs-site.xml 文件, 编辑hdfs-site.xml 文件,输入以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:9870</value>
</property>
</configuration>
④ 修改mapred-site.xml 文件,输入以下内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
⑤ 修改yarn-site.xml 文件,,输入以下内容:
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
编辑 workers 文件,更换为以下内容:
master
编辑 /etc/hosts 文件,更换为以下内容:
192.168.47.201 master
最后必须对hdfs进行初始化:hdfs namenode -format
验证:
输入命令:start-all.sh
正常启动
输入命令:jps 查看进程,如下:
输入jps后能看到以上6个进程,那么恭喜你已经学会了Hadoop的伪分布式安装了!!!