【详细版】Linux系统中搭建Hadoop
一、Hadoop单机版环境搭建
1、上传JDK至服务器
创建tools目录,用于存放文件
mkdir /opt/tools
切换tools目录,rz上传JDK安装包
jdk-8u361-linux-x64.tar.gz (文章结尾附安装包链接)
2、解压JDK安装包
创建server目录,用于存放JDK解压后的文件
mkdir /opt/server
解压至server目录
tar -zvxf jdk-8u131-linux-x64.tar.gz -C /opt/server
3、配置JDK环境变量
编辑 /etc/profile 文件
vim /etc/profile # 文件末尾增加 export JAVA_HOME=/opt/server/jdk1.8.0_361 export PATH=${JAVA_HOME}/bin:$PATH
执行source命令,使配置立即生效
source /etc/profile
检查是否安装成功
java -version
4、配置免密登录
Hadoop 组件之间需要基于 SSH 进行通讯,配置免密登录后不需要每次都输入密码
更改当前用户名为server,reboot后生效
echo "server" > /etc/hostname
配置映射,配置 ip 地址和主机名映射
vim /etc/hosts # 文件末尾增加 192.168.1.153 server
生成公钥私钥
ssh-keygen -t rsa
进入 ~/.ssh 目录下,查看生成的公匙和私匙,并将公匙写入到授权文件
cd ~/.ssh cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys
5、下载并解压Hadoop
切换/opt/tools目录下,rz上传Hadoop安装包
hadoop-3.3.4.tar.gz
解压Hadoop至server目录
tar -zvxf hadoop-3.3.4.tar.gz -C /opt/server/
6、配置Hadoop
(1)修改配置文件
进入/opt/server/hadoop-3.3.4/etc/hadoop 目录下,修改以下配置:
修改hadoop-env.sh文件,设置JDK的安装路径
vim hadoop-env.sh export JAVA_HOME=/opt/server/jdk1.8.0_361
修改core-site.xml文件,分别指定hdfs 协议文件系统的通信地址及hadoop 存储临时文件的目录
fs.defaultFS hdfs://server:8020 hadoop.tmp.dir /home/hadoop/data
修改hdfs-site.xml,指定 dfs 的副本系数
dfs.replication 1
修改workers文件,配置所有从属节点
vim workers # 配置所有从属节点的主机名或 IP 地址,由于是单机版本,所以指定本机即可: server
(2)初始化并启动HDFS
关闭防火墙,不关闭防火墙可能导致无法访问 Hadoop 的 Web UI 界面
# 查看防火墙状态 sudo firewall-cmd --state # 关闭防火墙: sudo systemctl stop firewalld # 禁止开机启动 sudo systemctl disable firewalld
第一次启动 Hadoop 时需要进行初始化,进入 /opt/server/hadoop-3.1.0/bin目录下,执行以下命令:
cd /opt/server/hadoop-3.1.0/bin ./hdfs namenode -format
Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户
cd /opt/server/hadoop-3.1.0/sbin/ # 编辑start-dfs.sh、stop-dfs.sh,在顶部加入以下内容 HDFS_DATANODE_USER=root HDFS_DATANODE_SECURE_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
启动HDFS,进入/opt/server/hadoop-3.3.4/sbin/ 目录下,启动 HDFS:
cd /opt/server/hadoop-3.3.4/sbin/ ./start-dfs.sh
验证是否启动
方式一:执行 jps 查看 NameNode 和 DataNode 服务是否已经启动:
[root@server sbin]# jps 1696 NameNode 2067 SecondaryNameNode 1863 DataNode 2183 Jps
方式二:查看 Web UI 界面,端口为 9870:
配置环境变量,方便启动
vim /etc/profile export HADOOP_HOME=/opt/server/hadoop-3.3.4 export PATH=$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin source /etc/profile
7、Hadoop(YAEN)环境搭建
(1)修改配置文件
进入/opt/server/hadoop-3.3.4/etc/hadoop 目录下,修改以下配置
修改mapred-site.xml文件
mapreduce.framework.name yarn yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.map.env HADOOP_MAPRED_HOME=${HADOOP_HOME} mapreduce.reduce.env HADOOP_MAPRED_HOME=${HADOOP_HOME}
修改yarn-site.xml文件,配置 NodeManager 上运行的附属服务
yarn.nodemanager.aux-services mapreduce_shuffle
(2)启动服务
Hadoop 3中不允许使用root用户来一键启动集群,需要配置启动用户
# start-yarn.sh stop-yarn.sh在两个文件顶部添加以下内容 YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
进入 ${HADOOP_HOME}/sbin/ 目录下,启动 YARN
./start-yarn.sh
验证是否启动成功
方式一:执行 jps 命令查看 NodeManager 和 ResourceManager 服务是否已经启动
[root@server sbin]# jps 1696 NameNode 2401 ResourceManager 2067 SecondaryNameNode 1863 DataNode 2856 Jps 2537 NodeManager
方式二:查看 Web UI 界面,端口为 8088
所需安装包链接: 链接:https://pan.baidu.com/s/1bw2PaENbWVBNt6JcrMO-BA?pwd=k7xj 提取码:k7xj