本文主要是介绍Ubuntu16配置Hadoop伪分布模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一:配置Java环境
0.ubuntu16安装配置jdk http://www.th7.cn/system/lin/201607/173578.shtml
1.打开/etc/environment ,配置JAVA_HOME =java安装路径
2.在etc/environment中配置PATH,追加:java安装路径/bin
二:配置Hadoop环境
1.打开/etc/environment,配置HADOOP_INSTALL,(为什么不是HADOOP_HOME,因为在HADOOP的安装目录下,bin和sbin下的文件会动态创建HADOOP_HOME),如果我们加了会干扰HADOOP_HOME的创建。
2.配置HADOOP_INSTALL=/usr/hadoop/hadoop-2.7.3(hadoop安装目录),在PATH中加入:/usr/hadoop/hadoop-2.7.3/bin:/usr/hadoop/hadoop-2.7.3/sbin ,注意冒号。
3.使用source /etc/environment使配置立即生效.
4使用echo $HADOOP_INSTALL查看配置。
5.使用hadoop version若提示JAVA_HOME不存在,存在未生效问题,可以重启。
Hadoop(http://www.powerxing.com/install-hadoop/)
一:Hadoop三种模式
1.独立模式
2.伪分布式
3.完全分布式
二:
处理海量数据,hadoop the definitive guide 下载地址http://download.csdn.net/detail/xinconan1992/8743847
1.存储
分布式文件系统:HDFS,hadoop distributed file system
2.运算
mapreduce,map()+reduce
三:
1.独立模式
(1)没有守护进程
(2)local FileSystem和 local MR job runner(mapreduce作业运行器?)
(3)hadoop fs -ls / 查看独立模式下的文件系统,会输出当前系统根目录下所有目录
2.伪分布模式(所有程序在一个主机上)
(0)所有文件在hadoop安装目录/etc/hadoop,配置伪分布模式先把 hadoop安装目录 cp -r /usr/hadoop/hadoop-2.7.3/etc/hadoop hadoop_pseudo
(1)配置core-site,存在多个数据节点用来存储海量数据
Name-node 名称节点 存放文件节点目录 NN ,名称节点备份 secondaryNamenode
Data-node 数据节点 DN,数据节点存在若干个备份 replication
(2)配置core_site.xml的fs.defaultFS的值是hdfs://localhost/,代表名称节点存储在本机(hdfs代表分布式文件系统)
<property><name>fs.defaultFS</name><value>hdfs://localhost/</value>
</property>
(3)配置hdfs-site,属性dfs.replication,伪分布模式下只有一个数据节点,所有他的值是1。
<property><name>dfs.replication</name><value>1</value>
</property>
(4)配置mapred-site,需要根据mapred-site.xml.templated创建, cp mapred-site.xml.template mapred-site.xml 配置mapreduce.framework.name,配置mapreduce框架为yarn。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(5)配置yarn-site,配置yarn.resourcemanager.hostname(资源管理器主机名称)为localhost,配置yarn.nodemanager.aux-services为mapreduce-shuffle
<property> <name>yarn.resourcemanager.hostname</name><value>localhost</value>
</property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
(6)想在主机之间进行通信,安装ssh ,使用 **which ssh**,出现/usr/bin/ssh是不行的,这里(apt-cache search ssh)使用安装**apt-get install ssh**,安装ssh成功,which ssh-keygen出现/usr/bin/ssh-keygen(ssh: public key:给别人private key:自己用private key 加密,可以用public key解密。Public key 加密的数据只能private key解密,private key只能public key解密。)(7)使用**ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa** ,-t rsa 是一个算法 -P '',没有口令,-f ~/.ssh/id_rsa是生成目录(cd ~命令是,进入用户在该系统的home目录,例如xz用户,则进入/root/xz目录)(8)**cat id_rsa.pub >> authorized_keys** 现在ssh localhost命令相当于以ssh连接到本机,exit可退出,产生known_hosts文件(9)以**ssh localhost**登陆,第一次需要输入yes,第二次不需要输入任何东西,执行hadoop文件格式化命令 **hadoop namenode -format**(10)启动hadoop,在hadoop安装目录下的etc文件夹中**start-dfs.sh --config $HADOOP_INSTALL/etc/hadoop_pseudostart-yarn.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo**(11)at http://localhost:50070/ for the namenode, http://localhost:8088/ for the resource manager, and http://localhost:19888/ for the history server. Youcan also use Java’s jps command to see whether the processes are running. (12) **stop-yarn.shstop -dfs.sh**(13)在安装目录的etc的文件夹下可以用 **start-all.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo** 来启动,会依次启动dfs和yarn(14)配置HADOOP_CONF_DIR指定伪分布模式文件目录 **export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop_pseudo**(export设置只对当前的bash登录session有效。这是存在内存里面的。你可以写入文件一般的文件。之后source它。或者放到/etc/profile 等等的位置里,不同的地方效果不同)(15)**hadoop fs -ls /** 查看目录下文件和文件夹(16)hadoop文件系统下创建目录 **hadoop fs -mkdir /user/** ,再查看目录 hadoop fs -ls / ,可以看到user文件夹(17)问题1:第二次开机启动使用 start-all.sh --config $HADOOP_INSTALL/etc/hadoop_pseudo,发现namenode不能启动,需要在home目录下新建hadoop_tmp,修改core-site文件
<property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop_tmp</value><description>A base for other temporary directories.</description>
</property>
问题2:而且HADOOP_CONF_DIR只对一次会话有效。在/etc/profile末尾中写入 **export HADOOP_CONF_DIR=$HADOOP_INSTALL/etc/hadoop_pseudo**
这篇关于Ubuntu16配置Hadoop伪分布模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!