hadoop学习第一天-hadoop初步环境搭建&伪分布式计算配置(详细)

 一、虚拟机环境搭建

虚拟机:VMWare12+

操作系统:CentOS6.5

CentOS6.5安装

打开VMWare,将CentOS6.5的iso添加进去,一路下一步,但是在新建虚拟机的时候需要注意:

  • 处理器最好是2个以上,具体按照自己的电脑能力分配
  • 内存分配多一些,这个就看自己机器的情况了
  • 网络设置为NAT,我们先本机测试,前期先不桥接出去

CentOS6.5配置网络环境

  • 进入Linux,右击网络->edit connection->双击你的网卡进行ip配置

ipv4setting->manual->add->address network gateway分别为虚拟机上面的编辑->虚拟网络编辑器->第二个NAT模式中的各种网络配置;我的网络为192.168.32.100 255.255.255.0 192.168.32.2

  • 命令行输入ifconfig,查看当前虚拟机的IP,若IP为192.168.32.100且执行ping 192.168.32.2有正常的网络通信为配置成功
  • 将给好的jdk-8u121-linux-x64.tar.gz包和hadoop-2.6.0.tar.gz包上传至~/hadoop/(/home/qjx/hadoop/)目录下面
  • 修改主机名称(root)vim /etc/sysconfig/network 修改HOSTNAME为当前用户名qjx,重启后生效
  • 重启后关闭防火墙(root)/etc/init.d/iptables stop

当前linux环境配置如下:

用户:qjx 123456

IP:192.168.32.100

主机名:qjx

二、JDK安装

1.进入hadoop目录

cd hadoop/

2.将hadoop/目录下的jdk-8u121-linux-x64.tar.gz解压

tar -zxvf jdk-linux.tar.gzjdk-8u121-linux-x64.tar.gz

3.编辑/etc/profile文件,并在最后将jdk配置到path(root)

vim /etc/profile

JAVA_HOME=/home/qjx/hadoop/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin

使更改生效(qjx)

source /etc/profile

检验,执行下面语句后输出正确则配置没问题

 

java -version

 

三、hadoop安装和伪分布式基本配置

1.进入hadoop/目录

cd hadoop/

2.解压hadoop/目录下的hadoop-2.6.0.tar.gz,完成后会在当前hadoop目录下有hadopp-2.6.0目录

tar -zxvf hadoop-2..6.0.tar.gz

3.修改hadoop-2.6.0/etc/hadoop/hadoop-env.sh文件,增加一行

export JAVA_HOME=/home/qjx/hadoop/jdk-1.8.0_121

4.修改配置文件hadoop-2.6.0/etc/hadoop/core-site.xml,在configaration标签中添加配置

<property>
   <name>fs.defaultFS</name>
   <value>hdfs://qjx:9000</value>
</property>

此文件配置了hdfs的访问路径,qjx即为自己主机名

5.修改配置文件hadoop-2.6.0/etc/hadoop/hdfs-site.xml,添加配置标签

<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>

ps:此文件配置了hdfs节点的副本数(block),因为是单节点伪分布式,所以只需要一个

6.修改配置文件hadoop-2.6.0/etc/hadoop/mapred-site.xml ,这个文件不存在,需要复制一份tmp

cp hadoop-2.6.0/etc/hadoop/mapred-site.xml.template hadoop-2.6.0/etc/hadoop/mapred-site.xml

添加配置

<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>

7.修改配置文件hadoop-2.6.0/etc/hadoop/yarn-site.xml 

<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

到此为止,配置文件已经修改完成

四、格式化hdfs和启动伪分布式集群

1.修改/etc/hosts文件(root),添加 一行 主机IP 主机名

192.168.32.100  qjx

2.格式化HDFS,在hadoop解压目录下(/home/qjx/hadoop/hadoop-2.6.0/),执行如下命令:

bin/hdfs namenode -format

注意:格式化只能操作一次,如果因为某种原因,集群不能用, 需要再次格式化,需要把上一次格式化的信息删除,在/tmp目录里执行 rm –rf *(默认将namenode存在/tmp/中,如果后续有操作将配置文件hdfs-site.xml的namenode的值改为了自定义的路径,则删除自己定义的目录)

3.启动集群,在hadoop解压目录下,执行如下命令:

sbin/start-all.sh 

需要输入四次当前用户的密码,如果想要不输入密码,可通过配置ssh互信解决,下面有详细方法

4.启动后,命令行输入jps,检查有以下的输出:

[qjx@qjx hadoop-2.6.0]$ jps

    32033 Jps

    31718 SecondaryNameNode

    31528 DataNode

    31852 ResourceManager

    31437 NameNode

    31949 NodeManager

ps:如果碰到缺少某一项,则去hadoop-2.6.0/logs/下面找相应缺少的文件log日志中的错误去解决

5.关闭集群命令:  

sbin/stop-all.sh

同样需要输入四次密码

五、ssh互信配置(rsa加密方法)

互信,顾名思义,互相信任,即将两个主机通过公钥,私钥添加互相信任,配置完成可以不用输入密码即可连接ssh

1.命令行输入:ssh-keygen 后,一直Enter,完事(会在根目录下生成三个文件id_rsa,id_rsa.pub,known_hosts)

2.把公钥给信任的主机(本机)

命令行输入 ssh-copy-id 主机名 

ssh-copy-id qjx

这个过程需要输入信任主机的密码

3.验证是否成功,在命令行输入 ssh 信任主机名称

ssh qjx

若无提示输入密码,则配置成功

 

写这篇文章也是我刚接触到Linux的时候写的教程,不对之处请指出。

posted @ 2017-07-27 19:34  dreamOnly  阅读(467)  评论(2编辑  收藏  举报