安装
准备环境
代码语言:javascript复制# 关闭防火墙,方面后面浏览器访问测试
systemctl stop firewalld
systemctl disable firewalld
# 添加IP地址映射,方便后面地址配置
vim /etc/hosts
192.168.1.89 hadoop01
# 配置SSH免密登录,方便后面服务启动
ssh-keygen
ssh-copy-id hadoop01
安装JDK
代码语言:javascript复制解压 JDK
tar -zxf jdk-8u111-linux-x64.tar.gz
# 重命名 JDK
mv jdk1.8.0_111/ java
cp -rf java/ /usr/local
# 配置环境变量
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
# 重新加载配置文件,使上述配置生效
source ~/.bash_profile
# 验证 JDK 配置是否正确
java -version
java version "1.8.0_111"
安装hadoop
代码语言:javascript复制# 解压 Hadoop
tar -zxf hadoop-3.2.2.tar.gz
# 重命名 Hadoop 方便环境配置
mv hadoop-3.2.2 hadoop/
cp -rf hadoop/ /usr/local
## 配置环境变量,方便命令运行
vim ~/.bash_profile
export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin
# 重新加载配置文件,使上述配置生效
source ~/.bash_profile
# 验证
Hadoop配置是否正确
hadoop version
Hadoop 3.2.2
配置Hadoop
代码语言:javascript复制进入Hadoop配置文件所在目录: /usr/local/hadoop/etc/hadoop
# 配置Hadoop运行环境
vim hadoop-env.sh
export JAVA_HOME=/usr/local/src/jdk
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文件,添加如下代码
代码语言:javascript复制<configuration>
<!--默认文件系统的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!--临时数据目录,用来存放数据,格式化时会自动生成-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/data/hadoop/data</value>
</property>
<!--在WebUI操作HDFS的用户,否则没有权限-->
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop01</value>
</property>
</configuration>
修改hdfs-site.xml 文件,添加如下代码:
代码语言:javascript复制<configuration>
<!--Block的副本数,伪分布式要改为1-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--配置有secondarynamenode的主机-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01:9868</value>
</property>
</configuration>
修改yarn-site.xml文件,添加如下代码:
代码语言:javascript复制<configuration>
<!-- Site specific YARN configuration properties -->
<!---YARN 的节点辅助服务配置 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!---指定ResouceManager启动服务名称 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
</configuration>
修改mapred-site.xml文件,添加如下代码:
代码语言:javascript复制<configuration>
<!---计算框架的运行平台配置 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!---指定MapReduce任务运行所需依赖jar -->
<property>
<name>mapreduce.application.classpath</name>
<value>$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*</value>
</property>
</configuration>
修改workers 文件,替换localhost为当前主机节点名称,指定DataNode和NodeManager的数据节点
代码语言:javascript复制vim workers
hadoop01
格式化 hdfs 和启动
代码语言:javascript复制hdfs namenode -format
在 /usr/local/hadoop-3.3.4/sbin 下,启动,注意 不能 sh 开头执行,直接./开头
代码语言:javascript复制./start-all.sh
Starting namenodes on [node]
Starting datanodes
Starting secondary namenodes [node]
Starting resourcemanager
Starting nodemanagers
看一下是否有下列这些:
代码语言:javascript复制[root@node hadoop]# jps
64759 SecondaryNameNode
65176 NodeManager
64362 NameNode
65563 Jps
65019 ResourceManager
64542 DataNode
看是否正常,浏览
浏览 ResourceManager 的 Web 界面;默认情况下,它位于:
资源管理器: http://hadoop01:8088/ web查看HDFS 文件: http://hadoop01:9870/explorer.html#/
通过HDFS命令创建一个文件夹做测试
代码语言:javascript复制hdfs dfs -mkdir /test
hdfs dfs -ls -R /