Linux中安装配置hadoop集群详细步骤
<p><strong>一. 简介</strong></p>
<p>
参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功。下面就把详细的安装步骤叙述一下。我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择2.7.1版本。(前边主要介绍单机版的配置,集群版是在单机版的基础上,主要是配置文件有所不同,后边会有详细说明)</p>
<p>
<strong>二. 准备工作</strong></p>
<p>
<strong>2.1 创建用户</strong></p>
<p>
创建用户,并为其添加root权限,经过亲自验证下面这种方法比较好。</p>
<pre>
sudo adduser hadoop
sudo vim /etc/sudoers
# 修改内容如下:
root ALL = (ALL)ALL
hadoop ALL = (ALL)ALL</pre>
<p>
给hadoop用户创建目录,并添加到sudo用户组中,命令如下:</p>
<pre>
sudo chown hadoop /home/hadoop
# 添加到sudo用户组
sudo adduser hadoop sudo</pre>
<p>
最后注销当前用户,使用新创建的hadoop用户登陆。</p>
<p>
<strong>2.2 安装ssh服务</strong></p>
<p>
ubuntu中默认是没有装ssh server的(只有ssh client),所以先运行以下命令安装openssh-server。安装过程轻松加愉快~</p>
<pre>
sudo apt-get install ssh openssh-server</pre>
<p>
<strong>2.3 配置ssh无密码登陆</strong></p>
<p>
直接上代码:执行完下边的代码就可以直接登陆了(可以运行ssh localhost进行验证)</p>
<pre>
cd ~/.ssh # 如果找不到这个文件夹,先执行一下 "ssh localhost"
ssh-keygen -t rsa
cp id_rsa.pub authorized_keys</pre>
<p>
注意:</p>
<p>
这里实现的是无密登陆自己,只适用与hadoop单机环境。如果配置Hadoop集群设置Master与Slave的SSH无密登陆可以参考我的另一篇博文:http://www.jb51.net/article/215858.html</p>
<p>
<strong> 三. 安装过程</strong></p>
<p>
<strong>3.1 下载hadoop安装包</strong></p>
<p>
有两种下载方式:</p>
<p>
1. 直接去官网下载:</p>
<p>
http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz</p>
<p>
2. 使用wget命令下载:</p>
<p>
</p>
<pre>
wget http://mirrors.hust.edu.cn/apache/hadoop/core/stable/hadoop-2.7.1.tar.gz
</pre>
<p>
</p>
<p>
<strong>3.2 配置hadoop</strong></p>
<p>
1. 解压下载的hadoop安装包,并修改配置文件。我的解压目录是(/home/hadoop/hadoop-2.7.1),即进入/home/hadoop/文件夹下执行下面的解压缩命令。</p>
<pre>
tar -zxvf hadoop-2.7.1.tar.gz</pre>
<p>
2. 修改配置文件:(hadoop2.7.1/etc/hadoop/)目录下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml。</p>
<p>
(1). core-site.xml 配置:其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。</p>
<pre>
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
</pre>
<p>
(2). mapred-site.xml.template配置:</p>
<pre>
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
</pre>
<p>
(3). hdfs-site.xml配置: 其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。</p>
<p>
注意:如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop-env.sh里面,具体如下:</p>
<p>
export JAVA_HOME="/opt/java_file/jdk1.7.0_79",即安装java时的路径。</p>
<pre>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/hadoop/tmp/dfs/data</value>
</property>
</configuration>
</pre>
<p>
配置完成后运行hadoop。</p>
<p>
<strong>四. 运行hadoop</strong></p>
<p>
<strong>4.1 初始化HDFS系统</strong></p>
<p>
在hadop2.7.1目录下执行命令:</p>
<pre>
bin/hdfs namenode -format</pre>
<p>
出现如下结果说明初始化成功。</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/2e4d7a26e50da2617a0734911db6ec1a.jpg"></p>
<p>
<strong>4.2 开启 NameNode 和 DataNode 守护进程</strong></p>
<p>
在hadop2.7.1目录下执行命令:</p>
<pre>
sbin/start-dfs.sh</pre>
<p>
成功的截图如下:</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/8820b84012b8c77e73ecc09ddea40f8b.jpg"></p>
<p>
<strong>4.3 使用jps命令查看进程信息:</strong></p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/cd04bd05349bf0599c028439230dd5f2.jpg"></p>
<p>
若出现如图所示结果,则说明DataNode和NameNode都已经开启。</p>
<p>
<strong>4.4 查看web界面</strong></p>
<p>
在浏览器中输入 http://localhost:50070 ,即可查看相关信息,截图如下</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/a7d08d94250d4fbae6ace7b9ff1fe111.jpg"></p>
<p>
至此,hadoop的环境就已经搭建好了。</p>
<p>
<strong> 五. 运行wordcount demo</strong></p>
<p>
1. 在本地新建一个文件,里面内容随便填:例如我在home/hadoop目录下新建了一个haha.txt文件,里面的内容为" hello world! "。</p>
<p>
2. 然后在分布式文件系统(hdfs)中新建一个test文件夹,用于上传我们的测试文件haha.txt。在hadoop-2.7.1目录下运行命令:</p>
<pre>
# 在hdfs的根目录下建立了一个test目录
bin/hdfs dfs -mkdir /test
# 查看HDFS根目录下的目录结构
bin/hdfs dfs -ls /
</pre>
<p>
结果如下:</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/d57528c2ff71a417037ffdc947884af1.jpg"></p>
<p>
3. 将本地haha.txt文件上传到test目录中;</p>
<pre>
# 上传
bin/hdfs dfs -put /home/hadoop/haha.txt /test/
# 查看
bin/hdfs dfs -ls /test/</pre>
<p>
结果如下:</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/57ea09e4565be452a7b4ba6be82ef764.jpg"></p>
<p>
4. 运行wordcount demo;</p>
<pre>
# 将运行结果保存在/test/out目录下
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/haha.txt /test/out
# 查看/test/out目录下的文件
bin/hdfs dfs -ls /test/out</pre>
<p>
结果如下:</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/de3682ad8f5d4711c9360d8b2f7cab19.jpg"></p>
<p>
运行结果表示:运行成功,结果保存在part-r-00000中。</p>
<p>
5. 查看运行结果;</p>
<pre>
# 查看part-r-00000中的运行结果
bin/hadoop fs -cat /test/out/part-r-00000</pre>
<p>
结果如下:</p>
<p>
<img title="Linux中安装配置hadoop集群详细步骤" alt="Linux中安装配置hadoop集群详细步骤" src="https://zhuji.jb51.net/uploads/img/202305/330cd20497f38d3086477471674ae8c9.jpg"></p>
<p>
至此,wordcount demo 运行结束。</p>
<p>
<strong>六. 总结</strong></p>
<p>
配置过程遇到了很多问题,最后都一一解决,收获很多,特此把这次配置的经验分享出来,方便想要配置hadoop环境的各位朋友~</p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
原文链接:http://www.cnblogs.com/lijingchn/p/5574476.html</p>
頁:
[1]