这是我参与「第四届青训营」笔记创作活动的的第3天
hadoop单结点伪分布式集群搭建
官网描述:hadoop.apache.org/docs/stable…
本内容在官网描述的基础上做翻译和细节补充
首先需要完成jdk部署和ssh免密登录的配置
hadoop包解压安装
tar -zxvf hadoop-3.2.4.tar.gz -C ~/app/
hadoop软件包常见目录说明
bin: hadoop客户端命令
etc: hadoop相关的配置文件存放目录
sbin:启动hadoop相关进程的脚本
share:常用例子
把hadoop配置在系统环境变量中:
vim ~/.bash_profile
root用户:
export HADOOP_HOME=/root/app/hadoop-3.2.4
export PATH=$HADOOP_HOME/bin:$PATH
非root用户(假设为pearfl):
export HADOOP_HOME=/home/pearfl/app/hadoop-3.2.4
export PATH=$HADOOP_HOME/bin:$PATH
之后source一下使其生效:
source .bash_profile
hadoop内文件配置修改
进入已经安装好的hadoop目录中,修改hadoop-env.sh、core-site.xml、hdfs-site.xml的配置
cd /root/app/hadoop-3.2.4/etc/hadoop
vim hadoop-env.sh # 配置JAVA_HOME
修改下面这一行
# set to the root of your Java installation
export JAVA_HOME=/root/app/jdk1.8.0_331
为了后续启动,需要在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
修改workers中的localhost为hadoop000(此处为你的主机名)
之后开始修改etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:9000</value>
</property>
</configuration>
再修改etc/hadoop/hdfs-site.xml
其中hadoop.tmp.dir修改是因为机器每次重启时候会清空tmp目录
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/tmp/hadoop/tmp</value>
</property>
</configuration>
启动hadoop
1.格式化文件系统
hdfs namenode -format
2.启动hadoop
/root/app/hadoop-3.2.4/sbin目录下
./start-all.sh
访问的时候记得关掉centos7自带的防火墙
systemctl status firewalld.service # 检查一下防火墙的状态,如果为active(running)则说明开启
systemctl stop firewalld.service # 关闭防火墙
systemctl status firewalld.service # 在下方出现disavtive(dead),这样就说明防火墙已经关闭
systemctl disable firewalld.service # 永久关闭防火墙
hadoop常用端口号
namenode:hadoop3.0之前web访问端口是50070 hadoop3.0之后web访问端口为9870
datanode http端口:50075
secondaryNameNode 节点http端口号:50090
datanode后端访问端口号:50010
fs 端口号:9000
yarn http端口号:8088
历史服务器web访问端口号:1988