Hadoop安装以及伪分布模式搭建过程
来源:互联网 发布:淘宝卖家遇到敲诈 编辑:程序博客网 时间:2024/05/17 18:02
一、前提
(1)环境:Ubuntu 16.04
(2)需要软件:JDK 1.8 和 Hadoop-2.8.0
二、安装JDK
安装的详细过程参见博文:博文链接
三、安装Hadoop
下载地址:http://hadoop.apache.org/releases.html
我选的是hadoop 2.8.0,选择binary版本。(source是源码,如果在工作中需要修改源码之后再运行,则可以选择source),如下图:
下载完毕之后,
(1)解压:直接使用解压命令
S1:首先使用cd命令切换到hadoop-2.8.0.tar.gz目录地址。
S2:使用解压命令:
tar zxf hadoop-2.8.0.tar.gz
解压之后我这边hadoop文件的目录地址为:/opt/Hadoop/hadoop-2.8.0
(2)设置JAVA_HOME环境变量:
在之前安装JDK时已经在~/.bashrc中设置过,所以这里不需要再次设置。
(3)设置Hadoop安装目录(即HADOOP_INSTALL)的环境变量:
在~/.bashrc中设置:
S1:打开~/.bashrc文件,使用命令:
sudo gedit ~/.bashrc
S2:在打开的文件末尾加上:
export HADOOP_INSTALL=/opt/Hadoop/hadoop-2.8.0(注释:/opt/Hadoop/hadoop-2.8.0是Hadoop解压过后的路径)export PATH=.:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin:$JAVA_HOME/bin:$PATH
S3:使用下列命令使配置立即生效:
source ~/.bashrc
(4)判断Hadoop是否正常工作,使用命令:
hadoop version
若执行命令之后,输出hadoop的版本信息等,则说明hadoop安装正确。
四、伪分布模式配置
(一)配置xml文件
利用hadoop搭建伪分布式环境需要配置5个xml文件,这5个xml文件都在/opt/Hadoop/hadoop-2.8.0/ect/hadoop文件夹中。
(1)修改hadoop-env.sh配置文件
sudo gedit hadoop-env.sh
,命令执行后hadoop-env.sh文件被打开。 S2:在hadoop-env.sh文件中修改JAVA_HOME环境变量,将export JAVA_HOME=${JAVA_HOME}
(虽然之前的代码也能获取到JAVA_HOME的值,但是有时候会失效)修改为export JAVA_HOME=/opt/Java/Jdk/jdk1.8
(2)修改core-site.xml配置文件
sudo gedit core-site.xml
,命令执行后core-site.xml文件被打开。 S2:在core-site.xml文件末尾添加上如下代码:
代码如下(和标签原来就有):
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/opt/Hadoop/hadoop-2.8.0/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://localhost:8080</value> </property></configuration>
注意:hadoop.tmp.dir文件不是一个临时文件,是存放所有hadoop中数据的文件,其目录地址为:/opt/Hadoop/hadoop-2.8.0/tmp。
(3)修改hdfs-site.xml配置文件
sudo gedit hdfs-site.xml
,命令执行后hdfs-site.xml文件被打开。 S2:在hdfs-site.xml文件末尾添加上如下代码:
代码如下(和标签原来就有):
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
注意:1是指备份1份(总共1份)。在hadoop中默认有3份文件(含备份),现在伪分布模式是单机,因此变成1。若是总共想要存放2份文件,则改为2。
(4)修改mapred-site.xml配置文件
sudo gedit mapred-site.xml
,命令执行后mapred-site.xml文件被打开。 S2:在mapred-site.xml文件末尾添加上如下代码:
代码如下(和标签原来就有):
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost</value> </property></configuration>
(5)修改yarn-site.xml配置文件
sudo gedit yarn-site.xml
,命令执行后yarn-site.xml文件被打开。 S2:在yarn-site.xml文件末尾添加上如下代码:
代码如下(和标签原来就有):
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>localhost</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
注意:你会发现在/opt/Hadoop/hadoop-2.8.0/etc/hadoop目录下,除了上面需要修改的文件之外,每一个文件有相应的default文件。例如,core-site.xml存在,同时在/opt/Hadoop/hadoop-2.8.0下面的其他文件中也存在core-default.xml文件(其他3个xml文件也有对应的default文件,在我们没有进行配置修改之前,系统调用default文件,修改之后边调用我们修改之后的文件)。
(二)配置SSH
若这样直接启动hdfs和yarn进程,则需要多次输入密码。因此这里配置SSH实现免密码登录。
命令如下:
sudo apt-get install sshssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用命令ssh localhost
进行测试,如果配置成功,则无需输入密码。
(三)格式化HDFS文件
使用cd命令将当前位置切换到/opt/Hadoop/hadoop-2.8.0/bin目录下(bin目录下面有一个hdfs),执行命令:
./hdfs namenode -format
(四)启动进程并检测是否正确配置
使用cd命令将当前位置切换到/opt/Hadoop/hadoop-2.8.0/sbin目录下:
(1)启动dfs进程,使用命令start-dfs.sh
,输入此命令后会有相应的进程开启,使用jps查看已有进程,如下图:
隔段时间使用一次jps查看已有进程,这还不够,验证的时候最好访问web地址:http://localhost:50070(50070是访问dfs的端口号)。
若能正常访问,则会出现下图所示界面:
(2)启动yarn进程,使用命令start-yarn.sh
,输入此命令后会有相应的进程开启,使用jps查看已有进程,如下图:
隔段时间使用一次jps查看已有进程,这还不够,验证的时候最好访问web地址:http://localhost:8088(8088是访问yarn的端口号)。
若能正常访问,则会出现下图所示界面:
(五)终止进程
(1)终止dfs进程使用命令:stop-dfs.sh
(2)终止yarn进程使用命令:stop-yarn.sh
五、可能出现的问题
1、
问题:使用start-dfs.sh启动dfs时,datanode启动不了
原因:多次格式化namenode
解决方案:将/opt/Hadoop/hadoop-2.8.0/tmp/dfs/data文件夹下的文件全部删除,再次格式化namenode(问是否重新格式化,选Yes),重新启动dfs即可
2、
问题:算是一个比较奇怪的问题,直接找到mapred-site.xml通过右击的方式可以看到mapred-site.xml中的内容,但是在相应的目录下使用sudo gedit mapred-site.xml找不到这个文件(即打开之后的文件内容为空)
原因:在/opt/Hadoop/hadoop-2.8.0/etc/hadoop文件夹下没有mapred-site.xml文件,我们需要复制mapred-site.xml.template并将其命名为mapred-site.xml,我之前是使用手动复制重命名的方式,所以出现了这个问题
解决方案:使用cp命令复制这个文件,cp mapred-site.xml.template mapred-site.xml,并将其内容改成上面的配置命令。
Eclipse中使用Hadoop单机模式开发配置及简单程序示例详见博客:Eclipse中使用Hadoop单机模式开发配置及简单程序示例
- Hadoop安装以及伪分布模式搭建过程
- Hadoop伪分布模式搭建
- Hadoop伪分布模式搭建
- 伪分布模式搭建hadoop
- Hadoop伪分布模式安装
- Hadoop伪分布模式安装
- 伪分布模式安装Hadoop
- hadoop介绍以及伪分布环境搭建
- hadoop 伪分布模式搭建(上)
- hadoop伪分布模式搭建(下)
- Linux环境搭建Hadoop伪分布模式
- Ubuntu下hadoop伪分布模式搭建
- hadoop 伪分布模式的搭建
- Hadoop单机伪分布模式搭建
- hadoop 伪分布 搭建
- hadoop伪分布搭建
- CentOS 安装 hadoop(伪分布模式)
- fedora18安装hadoop配置伪分布模式
- Write a function to find the longest common prefix string amongst an array of strings.
- spring 整合Hibernate使用HibernateTemplate的坑
- Struts2 框架文件上传
- R语言系列:datasets(R自带数据包)
- QT -- 快速设计对话框1
- Hadoop安装以及伪分布模式搭建过程
- error: No resource identifier found for attribute 'XXXX' in package 'XX'解决方法
- Algorithm Gossip (24) 洗扑克牌(乱数排列)
- JSP Debug 过程
- 微信公众号开发《一》OAuth2.0网页授权认证获取用户的详细信息,实现自动登陆
- 华为OJ密码验证合格程序
- 《我的Angular入坑记》——初识scope对象
- spring学习之@ModelAttribute运用详解
- java内存管理