Ubuntu16.04下Hadoop的本地安装与配置

news/2024/5/20 0:49:24 标签: hadoop, hdfs, big data
   Ubuntu16.04下Hadoop的本地安装与配置

一、系统环境
os : Ubuntu 16.04 LTS 64bit
jdk : 1.8.0_161
hadoop : 3.3.1

二、安装步骤
1、安装并配置ssh
1.1 安装ssh
输入命令: $ sudo apt-get install openssh-server ,安装完成后使用命令 $ ssh localhost 登录本机。
1.2 配置ssh无密码登录
首先使用命令 $ exit 退出上一步的ssh,然后使用ssh-keygen生成密钥,最后将密钥加入授权即可,命令如下:
$ exit # 退出刚才的 ssh localhost
$ cd ~/.ssh/
$ ssh-keygen -t rsa # 会有提示,按回车就可以
$ cat ./id_rsa.pub >> ./authorized_keys # 加入授权

配置完成之后再使用 $ ssh localhost 登录就不需要密码了。

2、安装并配置java
2.1 安装java
将jdk 1.8.0_161压缩包解压后放入/usr/local直接拖动,权限不够,可以用mv命令行操作
注意:openjdk不可以

2.2 配置环境变量
在/usr/local 文件夹下
使用命令 $ vim ~/.bashrc 编辑文件~/.bashrc,在该文件开头添加以下内容:

export JAVA_HOME=/usr/local/java
export JRE_HOME= J A V A H O M E / j r e e x p o r t C L A S S P A T H = . : JAVA_HOME/jre export CLASSPATH=.: JAVAHOME/jreexportCLASSPATH=.:JAVA_HOME/lib: J R E H O M E / l i b e x p o r t P A T H = JRE_HOME/lib export PATH= JREHOME/libexportPATH=PATH:$JAVA_HOME/bin

最后使用命令 $ source ~/.bashrc 让环境变量生效。使用java -version查看

3、hadoop的安装与配置
3.1 hadoop下载与安装
将Hadoop解压后的文件放到/usr/local目录下
$ sudo chown -R zzyo ./hadoop #更改为自己的用户名

将以下代码添加到~/.bashrc中:

export HADOOP_HOME=/usr/local/hadoop
export HADOOP_CONF_DIR= H A D O O P H O M E / e t c / h a d o o p e x p o r t Y A R N C O N F D I R = HADOOP_HOME/etc/hadoop export YARN_CONF_DIR= HADOOPHOME/etc/hadoopexportYARNCONFDIR=HADOOP_HOME/etc/hadoop
export PATH= P A T H : PATH: PATH:HADOOP_HOME/bin

然后使用命令 source ~/.bashrc 让环境变量生效,使用命令 hadoop version查看

3.2 hadoop伪分布式配置
hadoop的配置文件存放在/usr/local/hadoop/etc/hadoop下,要修改该目录下的文件core-site.xml和hdfs-site.xml来达到实现伪分布式配置。
修改core-site.xml,将修改为:


hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.


fs.defaultFS
hdfs://localhost:9000

修改hdfs-site.xml,将修改为:


hadoop.tmp.dir
file:/usr/local/hadoop/tmp
Abase for other temporary directories.


fs.defaultFS
hdfs://localhost:9000


配置完成后在/usr/local/hadoop下使用命令 $ ./bin/hdfs namenode -format 实现namenode的格式化,成功后会有“successfully formatted”及“Exiting with status 0”的提示
在/usr/local/hadoop/sbin下运行start-dfs.sh来开启namenode和datanode
namenode和datanode都要出现才算成功。

3.3配置yarn
在/usr/local/hadoop下操作
然后修改etc/hadoop/mapred-site.xml


mapreduce.framework.name
yarn

修改etc/hadoop/yarn-site.xml


yarn.nodemanager.aux-services
mapreduce_shuffle

启动资源管理器
$ ./sbin/start-yarn.sh
$ ./sbin/mr-jobhistory-daemon.sh start historyserver
此时发现ResourceManager节点并没有启动,并且执行wordcount命令时,hadoop找不到或无法加载主类,org.apache.hadoop.mapreduce.v2.app.MRAppMaster
此时需要在start-yarn.sh中添加路径
解决方案:
(1).输入命令 hadoop classpath
(2).将输出的内容直接复制到yarn-site.xml文件中:

yarn.application.classpath /usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/hadoop/mapreduce/*:/usr/local/hadoop/share/hadoop/yarn:/usr/local/hadoop/share/hadoop/yarn/lib/*:/usr/local/hadoop/share/hadoop/yarn/*

(3).再次执行start-yarn.sh

使用jps可以看到开启成功

4.wordout测试

vim aa.txt #编辑需要统计单词数的文件
hdfs dfs -mkdir /text #在分布式存储系统中建立text文件
hdfs dfs -copyFromLocal aa.txt /text #将a.txt文件拷贝进text文件里
Hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.1.jar wordcount /text/aa.txt /text/out #将输出结果存放在/text/out中

在创建文件的过程中出现无法分配内存的情况

解决办法:
增加虚拟机内存


http://www.niftyadmin.cn/n/1738880.html

相关文章

Hadoop实现词频统计(按照词频降序排列以及相同词频的单词按照字母序排列)

Hadoop实现词频统计(按照词频降序排列以及相同词频的单词按照字母序排列) 分为两步词频统计和排序。第一个map reduce与过滤停用词的代码相同;第二个map reduce中的map将键值对内容交换,map到reduce的shufle中会自动进行key值升序…

从wordcount词频统计代码到倒排索引的改编

从wordcount词频统计代码到倒排索引的改编 分析word count代码 Map中输出了单词和intwriteable类的对象one,而倒排索引,需要输出单词和文件名偏移,偏移是key中含有的,使用.tostring方法就可以将它变成字符串与文件名和连接。要输出…

过滤停用词

过滤停用词过滤停用词中的重点是设置全局变量,设置全局变量有两种方法,1.hdfs读取,将文件设置在所有节点都能访问的地方,适合文件较大类型 2.利用分布式缓存的方式,运行的时候会把文件复制在每个节点中,适合…

专利去重重

package wordcount; //导入必要的package import java.io.IOException; //报错类 import java.util.HashSet; import java.util.Iterator;//迭代器,与string和next有关 import java.util.Set; import java.util.StringTokenizer; //StringTokenizer类,用…

专利引用关系数据集分析

专利引用关系数据集分析这次实验的两个题目,一个可以由词频统计代码改编,一个由倒排索引改编,改编的重点是将每一排的两个输入分开。 输出专利被引用次数统计结果: 根据题目要求需要输出被引用的专利和它的次数,在word…

knn两个

先考虑训练集很大,测试集很小的情况 将测试集设置为全局文件,由于测试集很小,所以用hdfs的方法,在每一个map节点都会计算出它与每一个测试集的距离,输出:Key测试集ID,Value标签,距离…

在ubuntu20上配置vagrant + virtualbox+ centos7 or ubuntu

vagrant 是命令行管理创建虚拟机的工具。 下载:vagrant https://www.vagrantup.com/downloads下载:VirtualBox: https://www.virtualbox.org/wiki/Downloadsapt install -f -y virtualbox-6.1_6.1.32-149290_Ubuntu_eoan_amd64.deb下载:安装 VirtualBo…

BASH编程,SHELL编程等号前后不能空格

变量赋值时,号前后都不能有空格, 否则无法赋值成功。 变量赋值时,“”前后不能有空格引用数组全部时,要加“[]”,否则只能引用地一个连接字符串时,使用双引号,不用加“."和PHP不同。 #!/…