当前位置:   article > 正文

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

centos7虚拟机 伪分布式hadoop2

先在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目录

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

编辑环境变量

vim /etc/profile

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

  1. export JAVA_HOME=/usr/jdk1.8.0_291
  2. export JRE_HOME=/usr/jdk1.8.0_291/jre
  3. export PATH=.:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  4. 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设置一个专用的用户是必要的

  1. useradd hadoop
  2. passwd hadoop

  1. su hadoop
  2. ssh-keygen -t rsa

输入三次回车

  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  2. chmod 0600 ~/.ssh/authorized_keys
  3. exit
  4. su hadoop
  5. ssh localhost

输入yes

  1. exit
  2. exit

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

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

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

chown -R hadoop:hadoop /usr/hadoop

编辑环境变量

vim /etc/profile

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

  1. export HADOOP_HOME=/usr/hadoop/hadoop-2.10.1
  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  3. 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

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

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

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

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

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

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

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

  1. <configuration>
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://localhost:9000</value>
  5. </property>
  6. </configuration>

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

配置hdfs-site.xml

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

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

  1. <configuration>
  2. <property>
  3. <name>dfs.replication</name>
  4. <value>1</value>
  5. </property>
  6. </configuration>

配置mapred-site.xml

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

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

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

chown -R hadoop:hadoop mapred-site.xml

配置yarn-site.xml

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

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

  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>localhost</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. </property>
  11. </configuration>

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

  1. su hadoop
  2. ssh localhost
  3. hdfs namenode -format

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

start-dfs.sh

输入“yes”

  1. start-yarn.sh
  2. 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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/611332
推荐阅读
相关标签
  

闽ICP备14008679号