赞
踩
先在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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。