本文以伪分布式模式搭建hadoop
使用主机名代替ip,更易配置。
127.0.0.1 localhost
::1 localhost
192.168.101.100 hadoop01
NETWORKING=yes
HOSTNAME=hadoop01
判断/etc/hostname文件是否存在,若存在则修改主机名 vim /etc/hostname
hadoop01
重启:reboot
不配置免密登录,启动hadoop时,需要输入密码,很繁琐。配置步骤如下:
此处使用的centeros7版本,关闭防火墙使用命令为:systemctl stop firewalld
详情见文章:https://blog.csdn.net/song_csdn1550/article/details/51768671
解压后hadoop目录如下:
修改JAVA_HOME,HADOOP_CONF_DIR,并执行 source hadoop-env.sh 命令,让配置立即生效。
#指定jdk的安装路径,尽管环境变量PATH配置了JAVA_HOME,但hadoop也需要配置
export JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
#hadoop配置文件存放路径
export HADOOP_CONF_DIR=/opt/hadoop-2.7.1/etc/hadoop
fs.default.name
hdfs://hadoop01:9000
hadoop.tmp.dir
/opt/hadoop-2.7.1/tmp
fs.trash.interval
1440
dfs.replication
1
dfs.permissions
false
先查看当前目录下是否存在文件 mapred-site.xml,若没有则把模板复制一份,复制命令如下:cp mapred-site.xml.template mapred-site.xml
mapreduce.framework.name
yarn
yarn.resourcemanager.hostname
hadoop01
yarn.nodemanager.aux-services
mapreduce_shuffle
从分布式的角度来看,datanode是从,namenode是主。若有多个datanode则往下写多个即可。
对于伪分布式配置,只能配置为自己。
hadoop01
启动hadoop的命令在bin和sbin目录里,为了方便启动,则把bin和sbin目录配置到环境变量。
在文件末尾添加如下内容:jkd和hadoop的配置。
最后执行命令执 source /etc/profile 让配置立即生效。
#JDK安装目录
JAVA_HOME=/usr/java/jdk1.8.0_172-amd64
#hadoop的安装目录
HADOOP_HOME=/opt/hadoop-2.7.1
PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME PATH CLASSPATH HADOOP_HOME
第一次启动hadoop需要先格式化,格式化命令:hadoop namenode -format
若不成功可以重启linux再执行命令,注意检查自己的ip,jdk,配置文件是否正确。
若打印信息如下,则表示格式化成功。
进入hadoop的sbin目录,可以看到很多可以使用的命令