注:本文章仅为记录本人安装过程,如有不足之处欢迎大家指正。
需已安装jdk,使用如下命令查看java版本以及安装位置
# 查看java版本
java -version
# 查看jdk安装位置
echo $JAVA_HOME
CentOS 7下安装jdk
如不配置免密,每次启动hadoop都要输入几次密码,很麻烦,配置后则无需密码
rpm -qa | grep ssh
一般CentOS带有ssh,如果没有的话使用如下命令分别安装即可
# ssh服务
yum -y install openssh-server
# ssh客户端
yum -y install openssh-clients
ssh-keygen -t rsa
由于搭建的是伪分布式,所以拷贝给本机就行
ssh-copy-id docker
这个docker是我的本机名,也可以替换为本机ip地址
询问是否确认继续连接时输入yes再回车,要求输入密码时输入后再回车(输入的密码不可见)
ssh docker
cd /usr/local/
此处使用的清华镜像,也可替换为其他镜像源
wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz
如果没有wgt,使用如下命令安装即可:
yum -y install wget
tar -zxvf ./hadoop-2.10.2.tar.gz && rm -rf ./hadoop-2.10.2.tar.gz
vi /etc/profile
在该文件中加入如下代码并保存
# hadoop environment
export HADOOP_HOME=/usr/local/hadoop-2.10.2 #(参照自身路径)
export JAVA_LIBRARY_PATH=/usr/local/hadoop-2.10.2/lib/native
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
使环境变量生效
source /etc/profile
查看hadoop版本信息
hadoop version
# 切换路径
cd /usr/local/hadoop-2.10.2/etc/hadoop
# 编辑文件
vi core-site.xml
将如下代码填入configuration标签中
<property>
<name>fs.defaultFS</name>
<!-- 这里填的是你自己的ip,端口默认-->
<value>hdfs://192.168.217.128:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!-- 这里填的是你自定义的hadoop工作的目录-->
<value>/usr/local/hadoop-2.10.2/tmp</value>
</property>
<property>
<name>hadoop.native.lib</name>
<value>false</value>
<description>Should native hadoop libraries, if present, be used.
</description>
</property>
vi hadoop-env.sh
找到该条JAVA_HOME环境变量并将箭头标识的${JAVA_HOME}改为自己的java路径,如:
#将该句修改为自己java路径
export JAVA_HOME=/usr/local/jdk1.8.0_202
vi hdfs-site.xml
将如下代码填入configuration标签中
<property>
<name>dfs.replication</name>
<!--副本数量,单机版设置为1即可-->
<value>1</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<!--这里是你自己的ip,端口默认-->
<value>192.168.217.128:50090</value>
</property>
# 通过模板文件生成mapred-site.xml文件
cp mapred-site.xml.template ./mapred-site.xml
# 修改
vi mapred-site.xml
将如下代码填入configuration标签中
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vi yarn-site.xml
将如下代码填入configuration标签中
<property>
<name>yarn.resourcemanager.hostname</name>
<!-- 自己的ip端口默认 -->
<value>192.168.217.128</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
切换路径
cd /usr/local/hadoop-2.10.2/sbin/
执行格式化
hadoop namenode -format
./start-dfs.sh
这个时候可以打开浏览器查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件,地址为http://虚拟机或服务器ip:50070
如果无法访问的话有可能是防火墙问题,关闭防火墙即可
./start-yarn.sh
由于前面已经配置了环境变量,所有不需要再进入hadoop所在目录执行启动或关闭命令,在任意位置可直接输入命令。
hadoop官方推荐使用分步命令进行启动关闭操作
# 先启动hadoop,一般的学习环境下只需要NameNode和DataNode即可
start-dfs.sh
# 再启动yarn(伪分布式可不启动)
start-yarn.sh
# 先关闭yarn
stop-yarn.sh
# 再关闭hadoop
stop-dfs.sh
start-all.sh
stop-all.sh
参考连接:
https://dblab.xmu.edu.cn/blog/190/
https://www.linuxidc.com/Linux/2017-11/148349.htm/
本文章仅为记录本人安装过程,如有不足之处欢迎大家指正。