Hadoop on CentOS 安装与配置指南
Hadoop是一个开源的分布式计算框架,广泛应用于大数据处理,本文将详细介绍在CentOS操作系统上安装和配置Hadoop的步骤。
一、前期准备
1、操作系统:CentOS 7.0 64位操作系统。
2、虚拟机软件:VMware或其他虚拟化软件。
3、网络连接:确保系统能够访问互联网,以便下载所需的软件包。
4、用户权限:建议以非root用户进行操作,以避免权限问题。
二、创建用户并配置免密登录
1. 创建用户
创建一个名为hadoop
的用户:
sudo useradd m hadoop s /bin/bash
为新用户设置密码:
sudo passwd hadoop
2. 配置免密登录
为了简化后续操作,可以配置SSH免密登录:
su hadoop sshkeygen t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
3. 修改sudoers文件
为新添加的hadoop
用户赋予管理员权限:
sudo visudo
在打开的编辑器中,找到如下行:
root ALL=(ALL) ALL
在这行下面添加:
hadoop ALL=(ALL) ALL
保存并退出编辑器。
三、安装Java环境
Hadoop需要Java运行环境,因此需要先安装JDK,可以选择OpenJDK或Oracle JDK,这里我们选择安装OpenJDK 1.8版本:
sudo yum install java1.8.0openjdk java1.8.0openjdkdevel y
验证安装结果:
java version
输出应显示类似以下内容:
openjdk version "1.8.0_xx"
四、安装Hadoop
1. 下载Hadoop
从Apache Hadoop官网下载所需版本的Hadoop,例如3.3.4版本:
cd /usr/local/src sudo wget https://mirrors.cnnic.cn/apache/hadoop/common/hadoop3.3.4/hadoop3.3.4.tar.gz
解压缩到指定目录:
sudo tar zxf hadoop3.3.4.tar.gz C /usr/local sudo mv /usr/local/hadoop3.3.4 /usr/local/hadoop
2. 配置环境变量
编辑~/.bashrc
文件,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使环境变量生效:
source ~/.bashrc
五、配置Hadoop单机模式
1. 配置核心文件
进入Hadoop配置目录:
cd $HADOOP_HOME/etc/hadoop/
编辑hadoopenv.sh
文件,设置Java路径:
sudo vi hadoopenv.sh
添加以下内容:
export JAVA_HOME=/usr/lib/jvm/java1.8.0openjdk
编辑coresite.xml
文件,设置临时目录:
sudo vi coresite.xml
在<configuration>
标签之间添加:
<property> <name>name>nodemanager.auxservices</name> <value>mapreduce_shuffle</value> </property>
编辑hdfssite.xml
文件,设置NameNode和DataNode的存储路径:
sudo vi hdfssite.xml
在<configuration>
标签之间添加:
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///usr/local/hadoop/tmp/dfs/data</value> </property>
编辑mapredsite.xml
文件,设置MapReduce的相关参数:
sudo vi mapredsite.xml
在<configuration>
标签之间添加:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
编辑yarnsite.xml
文件,设置ResourceManager和NodeManager的地址及日志目录:
sudo vi yarnsite.xml
在<configuration>
标签之间添加:
<property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.auxservices</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.localdirs</name> <value>/usr/local/hadoop/tmp/yarn/nmLocalDirs</value> </property> <property> <name>yarn.logdir</name> <value>/usr/local/hadoop/tmp/yarn/logs</value> </property>
2. 格式化文件系统
在正式运行Hadoop之前,需要格式化HDFS文件系统:
hdfs namenode format
3. 启动Hadoop服务
启动HDFS和YARN服务:
startdfs.sh startyarn.sh
验证服务是否成功启动:
jps
如果一切正常,应该可以看到以下进程:
ResourceManager NodeManager NameNode DataNode SecondaryNameNode Jps
六、常见问题解答(FAQ)
Q1: 无法连接到Hadoop Web界面怎么办?
A1: 确保所有服务已经成功启动,并且浏览器没有代理或防火墙限制,可以尝试在浏览器中输入http://localhost:9870
和http://localhost:8088
来访问HDFS和YARN的Web界面,如果仍然无法访问,检查服务端口是否正确配置。
Q2: 如何修改Hadoop的默认端口号?
A2: 可以在相应的配置文件中修改端口号,在coresite.xml
中修改NameNode的地址和端口,在yarnsite.xml
中修改ResourceManager的地址和端口,修改后重新启动服务即可生效。
Q3: Hadoop集群模式下如何配置多个节点?
A3: 在集群模式下,需要在每个节点上安装并配置Hadoop,并确保所有节点之间的SSH免密登录已经正确配置,还需要编辑slaves
文件,包含所有数据节点的主机名,在主节点上启动Hadoop服务时,会同时启动其他节点上的服务。