- 独立(本地)模式配置和部署
这种模式,只需要在 master 机器上单机执行,即可。
说明:之前,我已经将前面的配置的虚拟机备份了,做完本次操作后,只需要还原到上一步状态,就可以进行后面的 8 、 9 的操作。
所有操作用户均为: icss
所有操作均在 master 上执行:只启动 master
下载, 上传, 解压, 配置, 运行, 验证.
0. 下载 如上.- 上传
上传 Hadoop 安装文件 hadoop-3.1.2.tar.gz 到 HadoopMaster 的主目录的 software 目录下. - 解压
转到当前icss用户的主目录
cd
将software目录下的hadoop-3.1.2.tar.gz文件移动到icss用户的主目录下
mv ~/software/hadoop-3.1.2.tar.gz ~/
解压文件
tar -xzvf hadoop-3.1.2.tar.gz
将解压生成的hadoop-3.1.2文件夹改名为hadoop3
mv hadoop-3.1.2 hadoop3 - 配置环境
- 配置 Hadoop 环境
cd 跳转到icss的根目录下
vi ~/hadoop3/etc/hadoop/hadoop-env.sh
== 加入:
export JAVA_HOME=/usr/java/jdk1.8.0_211
== 修改权限
chmod +x /home/icss/hadoop3/etc/hadoop/hadoop-env.sh
== 执行
cd /home/icss/hadoop3/etc/hadoop/
./hadoop-env.sh - 配置 Linux 环境
编辑./bash_profile
提供 JAVA_HOME 和 HADOOP_HOME 目录,
增加 PATH 路径:JAVA_HOME/bin, HADOOP_HOME/bin, HADOOP_HOME/sbin
方法: (以 ./bash_profile 文件为例)
cd 返回当前用户主目录
vi .bash_profile
== 加入: (把代码里的空格删掉)
- 配置 Hadoop 环境
- 上传
export HADOOP_HOME=$ HOME/hadoop3
export HADOOP_COMMON_LIB_NATIVE_DIR=$ HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$ HADOOP_HOME/lib/native:$ HADOOP_COMMON_LIB_NATIVE_DIR"
export YARN_HOME=$ HOME/hadoop3
export HADOOP_CONF_DIR=$ HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$ YARN_HOME/etc/hadoop
export HDFS_CONF_DIR=$ HADOOP_HOME/etc/hadoop
export PATH=.: $ JAVA_HOME/lib:$ HADOOP_HOME/sbin:$ HADOOP_HOME/bin:$ PATH
使用: source .bash_profile
4. 运行 & 验证:
以 icss 用户完成本操作
cd
hadoop 运行 hadoop 即可出现用法提示,表示生效。
hadoop version
== 运行:
0. 让运行环境变量生效
source .bash_profile
只用在不运行守护进程是才需要执行下述操作
在 ~/hadoop3/etc/hadoop/ 目录下, 执行
./hadoop-env.sh
1. 运行
1. 运行守护进程 ( 独立(本地)模式 不需要)
2. 运行应用程序 (即: 运行应用程序进行验证)
==验证:
1. 测试计算PI值
cd
cd hadoop3
hadoop jar /home/icss/hadoop3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar pi 100 100000 值可以先给的小一点。。。再给的大一点,求PI会精确些。
hadoop jar share/hadoop/mapreduce/hadoop-*-examples-3.1.2.jar pi 100 1000000
参看:
《通过扔飞镖也能得出PI的值?》
http://blog.csdn.net/minglaihan/article/details/38942263
http://san-yun.iteye.com/blog/2018348
https://www.evget.com/article/2014/9/10/21564.html
http://blog.sina.com.cn/s/blog_61ef49250100v44t.html
做完本次操作后,会将当前master备份。
问题:java.lang.OutOfMemoryError
在hadoop3/etc/hadoop文集夹得hadoop.env.sh加入export HADOOP_CLIENT_OPTS="-Xmx2048m"
具体指令
vi /home/icss/hadoop3/etc/hadoop/hadoop.env.sh
加入export HADOOP_CLIENT_OPTS="-Xmx2048m"
保存并退出 :wq
== 执行
cd /home/icss/hadoop3/etc/hadoop/
./hadoop-env.sh