首先是来说一下这两天来自己的个人感受吧。我争取在第一段将情怀给逼逼完,大家可以无视这一段~~~真心是不容易,第一个感觉就是,乱。为啥呢?先说说我使用Hadoop的原因吧。选了云计算这门课,打算到时候深入研究大数据,也就要好好学咯。第一个学生研究课题是Hadoop环境搭建,据说是从选软件(也就是第一个:CentOs操作系统,第二个:jdk和第三个:Hadoop版本)到配置好环境并且能够测试通所有的东西,一共是花了五天时间(包括制作讲课ppt),前前后后查资料到入坑到看英文的调错也是重装虚拟机四五次。这就是大神,令人膜拜之处~同时也体现了开始入坑的不易,且行且珍惜。

那么好,感觉来看我写的文章,作为一个小白,我也只能将我自己搭建环境中正确的步骤写出来,供大家参考,然后告诉大家走哪些路可能会遇见我无法解决的大麻烦,仅此而已,尚且不能从原理上给大家指点迷津。先说说我搭建的环境要准备的软件——

【VMware workplace 9】个人建议使用8-9左右的版本,从其他地方学习到高版本新增功能相对于普通用户来说还是很少用到的,同时使用高版本会占用更多内存,有时候会得不偿失~

【CentOS镜像文件】在这里我用的是6.XXX,没仔细看~当然,现在的版本已经有7了,大家可以使用新版本,UI相对更漂亮,关系不大。PS我不用新的是我手头上只有这个版本,人又懒,就先用着了

学校hadoop环境配置软件安装地址链接:http://dlab.csu.edu.cn/cloudcomputing2016/

【jdk】这个我就不说啥了吧,大家都明白。去oracle官网上下载,当然,要注意一下使用wget的时候是不是能够下载下来对应软件,我这里提供一下我们学校的下载网址:【JDK下载链接点击这里

【hadoop】这里非常重要~官方教程少有针对2以上的版本的详细教程,我这里也是安装2以后坑了,一直没能成功。改成1.X后运行成功。个人建议就是如果以学习目的的话,可以先安装低版本,然后学明白了有些经验那么就可以向高版本进发。{提供学校2.X版本下载地址:点击这里

好的,以上是软件准备,那么接下来我会简单说一下安装的一些步骤。

先唠叨一下我们最后的结果——最后我们将会在自己的windows上开启三台虚拟机,其中的一个作为我们的主节点Master,另外两台作为接入的节点Slave模拟真实的Hadoop环境。

好的,那么首先是将VMware workplace安装在自己的windows或者是Mac上,这个不属于我们的教学范围,so easy的东西啦。然后第二步是在虚拟机上新建一个虚拟机backup,将Centos环境给安装上去,相对来说这次的时间有点久,这也说明了一个问题,如果三台主机都是通过这种方式来安装的话,那么会相当浪费时间的,这个时候虚拟机的价值就体现出来了~Clone(克隆)下边我们用到的时候仔细讲咯。

好的,安装好我们的第一台CentOS后基本上我们可以开始干活了,首先是给它安装一个jdk。

 使用cp命令,把jdk的压缩包放到/usr目录下面
cd /root/Desktop/jdk-8u73-linux-x64.gz /usr/
在/usr目录下面新建java文件夹
mkdir java
在/usr目录下解压jdk压缩包
tar zxvf jdk-8u73-linux-x64.gz
将解压得到的文件夹jdk1.8.0_73移动到java文件夹中去
mv jdk1.8.0_73 /usr/java

那么注意一下哈,上边所有的Linux命令都要结合你自己的实际情况来弄,这些路径最后都要export到系统环境变量中去,那么如果你改了应该要注意前后对应,同时有些单独电脑特有的变量(比如IP地址),你要根据你自己电脑的实际情况进行配置。同时所有命令如果运行失败,请注意使用的符号是否为中文模式,如果是中文的那么就将它更改为英文模式运行就不会有大问题了(这些都是Linux的基础知识,我也只能给大家讲讲基础知识了,毕竟我只会这个,而且讲的不好,因为我学Linux还不到一个月,哈哈)

好的,下边应该配置jdk的一个环境变量。

 配置jdk环境变量,使用vim编辑/etc/profile文件,在末尾加上:

JAVA_HOME=/usr/local/jdk1.8.0_181
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

保存退出后使profile文件立即生效

source /etc/profile

使用命令java –version和javac验证jdk是否安装成功,安装完了jdk之后克隆3个虚拟机,一个master,两个slave

克隆的方法,选中源主机,然后选择VM——》Manage——》Clone,操作挺简单的,相信你会的

如果你要问我第一台虚拟机留着干嘛,那么我告诉你,等你环境配置失败后,又要从头开始的时候,那个backup不会让你一无所有,至少还能从有jdk的地方开始嘛,稍微给你点心理安慰~~~

后边我就要给三台主机取个名字,也就是master,slave1和slave2,要的目的就是使用ssh连接时不会都是一个localhost,只能通过ifconfig来判断。

在master主机上,编辑/etc/sysconfig/network文件,将其中的HOSTNAME设置为master,同理,在两个slave主机上分别设置为datanode1和datanode2,重启才能生效。

重启不一定是必须的,同时每台主机改名的方法是不一样的,具体的可以参考百度

编辑/etc/hosts文件,在其中加入ip地址和对应的主机名,相当于一个DNS解析(这里的ip地址要你自己用ifconfig来查看,要改为自己对应的)

192.168.29.135 master
192.168.29.136 slave1
192.168.29.137 slave2

SSH无密码登录

在master和两个slave节点上都运行命令ssh-keygen -t rsa,三次直接回车,生成ssh公钥和密钥,在slave1主机上执行命令,将公钥复制到master主机上:
scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave1
同理在slave2上
scp /root/.ssh/id_rsa.pub root@master:/root/.ssh/id_rsa.pub.slave2
在master主机上,/root/.ssh/目录下,将所有公钥的内容添加到authorized_keys文件中:
cat id_rsa.pub >> authorized_keys
cat id_rsa.pub.datanode1>> authorized_keys
cat id_rsa.pub.datanode2>> authorized_keys 设置master主机的authorized_keys文件的权限为644
chmod 644 /root/.ssh/authorized_keys 将authorized_keys文件复制到两个slave主机上,在master主机上执行命令:
scp ~/.ssh/authorized_keys root@datanode1:/root/.ssh/authorized_keys
scp ~/.ssh/authorized_keys root@datanode2:/root/.ssh/authorized_keys
测试连通性:在所有主机上执行,ssh ip地址,如果都不需要密码,则配置成功。

下边是给安装Hadoop环境:

首先将hadoop的压缩包复制到/usr目录下面:
cp /root/Desktop/hadoop-1.1.2.tar.gz /usr/
接着就是解压hadoop的压缩包
tar zxvf hadoop-1.1.2.tar.gz
将文件夹hadoop-1.1.2重命名为hadoop
mv /usr/hadoop-1.1.2 /usr/hadoop
把hadoop的安装路径添加在/etv/profile文件末尾,之后使用命令source /etc/profile使其生效:
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

编辑/usr/Hadoop/conf/hadoop-env.sh,设置里面的JAVA_HOME

export JAVA_HOME=/usr/java/jdk1.8.0_73

编辑/usr/Hadoop/conf/core-site.xml,在configuration节点中添加内容:
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.29.135:9000</value>
</property>
编辑/usr/Hadoop/conf/hdfs-site.xml,在configuration节点中添加内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
编辑/usr/Hadoop/conf/mapred-site.xml,在configuration节点中添加内容:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.29.135:9001</value>
</property>
</configuration>
编辑/usr/Hadoop/conf/master,添加master主机的IP地址:
192.68.29.135
编辑/usr/Hadoop/conf/slaves,添加slaves主机的IP地址:
192.168.29.136
192.168.29.137

在master执行命令,将配置好的hadoop文件夹复制到所有的slave主机上:

scp -r /usr/hadoop root@datanode1:/usr/

scp -r /usr/hadoop root@datanode2:/usr/

同理,不要忘了在slave节点上的/etc/profile目录中配置hadoop的环境变量,跟之前master一样:

export HADOOP_HOME=/usr/hadoop

export PATH=$PATH:$HADOOP_HOME/bin

在使用hadoop之前最好将所有机器的防火墙都关掉

service iptables stop chkconfig iptables off

格式化HDFS系统,在master节点上:

hadoop namenode -format

启动hadoop:

start-all.sh

如果你要停止hadoop,使用以下命令:

stop-all.sh

验证hadoop启动成功,在master节点上使用命令jps

验证hadoop启动成功,在slave节点上使用命令jps

验证hadoop启动成功,在master节点上执行命令 hadoop dfsadmin -report:

验证hadoop启动成功,在master节点上访问 192.168.29.135:50070

验证hadoop启动成功,在master节点上访问 192.168.29.135:50070

验证hadoop启动成功,在master节点上访问 192.168.29.135:50030

Hadoop之初体验的更多相关文章

  1. 全分布式的Hadoop初体验

    背景 之前的时间里对 Hadoop 的使用都是基于学长所搭建起的实验环境的,没有完整的自己部署和维护过,最近抽时间初体验了在集群环境下装机.配置.运行的全过程,梳理总结到本文中. 配置 内存:8G C ...

  2. Flume 实战(1) -- 初体验

    前言: Flume-ng是数据收集/聚合/传输的组件, Flume-ng抛弃了Flume OG原本繁重的zookeeper和Master, Collector, 其整体的架构更加的简洁和明了. 其基础 ...

  3. YII学习,初体验 ,对YII的一些理解.

    先说点没用的: 不会选择,选择后不坚持,不断的选择.这是人生中的一个死循环,前两一直迷茫.觉得自己前进方向很不明朗.想去学的东西有很多.想学好YII,想学PYTHON 想学学hadoop什么的,又想研 ...

  4. 【Spark深入学习 -15】Spark Streaming前奏-Kafka初体验

    ----本节内容------- 1.Kafka基础概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知识 1.2.2.架构和原理 1.2.3.基本概念 1.2.4.kafka特点 2.Kafk ...

  5. 一 Hive安装及初体验

    一 .Hive安装及初体验 1 .hive简介 Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1直接使用hadoop面临的问题 ...

  6. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  7. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  8. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  9. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

随机推荐

  1. picturefill + picture 标签 实现兼容性很棒的 响应式图片 自适应 屏幕大小

    polyfill 它是一个能够补齐浏览器兼容性问题的一个东西,使用到的<picture></picture>标签 ,并不是所有浏览器都支持,为了实现更好的兼容效果,这里就使用到 ...

  2. 一台服务器上同时启动多个 Tomcat

    在同一台服务器上启动多个 Tomcat 服务,需要修改 conf/server.xml文件里的三个部分,如下: 1.修改Http访问端口(默认为8080端口) <Connector port=& ...

  3. Haskell Seq函数和严格计算

    参考链接http://stackoverflow.com/questions/11046590/the-seq-function-and-strictness https://wiki.haskell ...

  4. Theos 工程make package时报错

    错误: /Applications/Xcode.app/Contents/Developer/usr/bin/make package requires you to have a layout/ d ...

  5. C# 3.0相比C# 2.0增加的功能

    1.自动属性 (1)自动属性(Auto-Implemented Properties),C#自动属性可以避免原来我们手工的来声明一个私有成员变量以及和属性get,set的书写. public clas ...

  6. TCP TIME_WAIT详解

    转自:http://m.blog.chinaunix.net/uid-20384806-id-1954363.html TIME_WAIT状态 TCP要保证在所有可能的情况下使得所有的数据都能够正确被 ...

  7. Android抽屉效果 DrawerLayout 入门经验总结

    今天试了试这个抽屉布局的效果,结果很崩溃无语 网上很多资料都千篇一律,感觉都有问题,下面总结下几点经验: 先上个效果图: 1.  layout 布局文件中怎么写: <android.suppor ...

  8. CodeForces 708B Recover the String

    构造. 根据$a[0][0]$可以求得$0$的个数$p$,根据$a[1][1]$可以求得$1$的个数$q$. 如果找不到$p$或$q$,那么就无解. 每一个$0$放到序列中的任何一个位置,假设和前面的 ...

  9. jmeter java性能测试

    本篇文章主要讲解jmeter如何测试java请求,以项目中某个接口为例,请求数据为post,返回也为post 1:新建maven工程,pom文件为 <project xmlns="ht ...

  10. 【angular】angular如何让传递变量参数+ng-change的使用

    HTML: <div class="form-group"> <label class="col-sm-2 control-label"> ...