手把手教你在虚拟机CentOS 7上安装伪分布式hadoop

先在Windows上操作

下载Hadoop2的最终稳定版2.10.1,官网下载地址https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz

进入jdk官网注册一个账号https://profile.oracle.com/myprofile/account/create-account.jspx

打开自己的邮箱,比如我用的是QQ邮箱https://mail.qq.com/

打开收件箱里最新的一封邮件 

打开jdk下载的官网https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

我这里最新的免费版本是8u291

开始下载JDK

下载传输工具Filezilla,官网https://filezilla-project.org/download.php?type=client

打开虚拟机里的CentOS 7

不用操作,等待CentOS 7打开,然后选择登录用户,输入密码

输入代码,虚拟机里的粘贴快捷键是SHIFT+CTRL+V

ip addr

用FileZilla传文件到虚拟机

回到虚拟机

切换到管理员

su

卸载CentOS 7自带的jdk

rpm -e --nodeps `rpm -qa | grep java`

解压jdk到根目录下的/usr目录

cd /usr
tar -zvxf local/share/jdk-8u291-linux-x64.tar.gz

编辑环境变量

vim /etc/profile

按“i”进入编辑模式,在文件末尾加入以下内容

export JAVA_HOME=/usr/jdk1.8.0_291
export JRE_HOME=/usr/jdk1.8.0_291/jre
export PATH=.:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

按“ESC”退出编辑模式,然后输入“:wq”保存并退出vim编辑器

使环境变量立即生效

source /etc/profile

看一看jdk-8u291安装好没有,显示版本号说明安装成功

java -version

为操作系统添加hadoop用户并设置密码,之后对 Hadoop的操作均由hadoop用户完成

Hadoop的一些服务无法通过root用户启动,因此,为 Hadoop设置一个专用的用户是必要的

useradd hadoop
passwd hadoop

su hadoop
ssh-keygen -t rsa

输入三次回车

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
exit
su hadoop
ssh localhost

输入yes

exit
exit

在/usr目录下新建一个hadoop文件夹,然后解压文件“hadoop-2.10.1.tar.gz”至/usr/hadoop目录

mkdir hadoop
tar -zxvf local/share/hadoop-2.10.1.tar.gz -C hadoop

修改hadoop文件夹所属的用户为hadoop

chown -R hadoop:hadoop /usr/hadoop

编辑环境变量

vim /etc/profile

按“i”,在文件末尾加入

export HADOOP_HOME=/usr/hadoop/hadoop-2.10.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

按“ESC”,然后输入“:wq”保存并退出

使环境变量立即生效

source /etc/profile

查看安装是否成功

hadoop version

Hadoop的伪分布式安装需要在hadoop-2.10.1/etc/hadoop目录按下列步骤修改配置文件

首先需要配置hadoop-env.sh

cd hadoop/hadoop-2.10.1/etc/hadoop
vim hadoop-env.sh

按“i”,在文件末尾加入以下内容

export JAVA_HOME=/usr/jdk1.8.0_291
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.10.1/etc/hadoop

按“ESC”,然后输入“:wq”保存并退出 

配置core-site.xml,在修改文件前养成备份的好习惯,也就是用cp命令复制出一个同名文件加bak的后缀(cp xxx xxx.bak)

cp core-site.xml core-site.xml.bak
vim core-site.xml

按“i”,在configuration标签中增加信息,增加之后如下

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
</configuration>

按“ESC”,然后输入“:wq”保存并退出 

配置hdfs-site.xml

cp hdfs-site.xml hdfs-site.xml.bak
vim hdfs-site.xml

在configuration标签中增加信息,增加之后如下

<configuration>
  <property>
    <name>dfs.replication</name>
    <value>1</value>
  </property>
</configuration>

配置mapred-site.xml

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

在configuration标签中增加信息,增加之后如下

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

chown -R hadoop:hadoop mapred-site.xml

配置yarn-site.xml

cp yarn-site.xml yarn-site.xml.bak
vim yarn-site.xml

在configuration标签中增加信息,增加之后如下

<configuration>
<!-- Site specific YARN configuration properties -->
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>localhost</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
</configuration>

启动Hadoop服务之前,首先需要格式化Hadoop的 namenode

su hadoop
ssh localhost
hdfs namenode -format

启动Hadoop服务(启动HDFS服务 – 启动YARN服务 – 启动MapReduce服务)

start-dfs.sh

输入“yes”

start-yarn.sh
mr-jobhistory-daemon.sh start historyserver

运行jps命令,查看正在运行的进程

jps

Hadoop支持通过web查看运行状态

通过http://localhost:50070/查看Namenode状态。

通过http://localhost:8088/ 查看资源管理器 状态。

通过http://localhost:19888/查看JobHistoryServer历史服务器状态

当不再需要Hadoop运行时,运行下面的命令终止Hadoop的全部服务

终止命令和启动命令顺序相反,把start改成了stop

mr-jobhistory-daemon.sh stop historyserver
stop-all.sh

之后启动Hadoop可以用如下命令

start-all.sh
mr-jobhistory-daemon.sh start historyserver

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值