Hadoop的分布式安装部署图文分享

由于Spark以后会用到HDFS以及YARN,所以第一步可以先将Hadoop的最简单的集群搭建好,以便以后方便使用。
集群规划(根据我虚拟机而定):

  • NameNode
  • – Hadoop1 ( 192.168.52.151)
  • DataNode
  • – Hadoop1 ( 192.168.52.151)
  • – Hadoop2 ( 192.168.52.162)
  • – Hadoop3 ( 192.168.52.163)


系统环境:
  • centos6.3 x64 vmware
  • 硬盘:30G
  • 内存:1G
  • hadoop版本:hadoop-2.4.0(为了方便Spark1.1.0 for Hadoop2.4的版本,这样可以不必自己编译,因为自己编译会用很长时间,有几个包还被墙,比较慢,这样可以直接用)


环境准备:
系统设置
关闭iptables:

service iptables stop
chkconfig iptables off
chkconfig ip6tables off


关闭没用的服务
chkconfig postfix off
chkconfig bluetooth off

检查SSHD
chkconfig --list

找到SSHD 有4个on即可

修改文件句柄数(/etc/security/limits.conf) //** HBase 使用(以后的文件句柄会不够用)
hadoop - nofile 32768
hadoop soft/hard nproc 32000

修改登录配置文件(/etc/pam.d/login)
在最后增加如下内容:
session required pam_limits.so


sshd_config 配置(/etc/ssh/sshd_config)

打开三个开关,如word图,去掉前面井号即可

Hadoop的分布式安装部署图文分享_第1张图片

/etc/hosts 配置( /etc/hosts )
在最上面配置  如图

Hadoop的分布式安装部署图文分享_第2张图片

用户和组的增加

  • 增加hadoop 组和hadoop 用户
  • 增加组 groupadd -g 1000 hadoop
  • 增加用户 useradd -u 2000 -g hadoop hadoop
  • 增加密码:passwd hadoop

软件安装:
JDK安装
1、  我安装在/home/jvm下
2、  进入这个目录,然后解压

tar zvxf /home/congli/jdk-8u25-linux-x64.tar.gz


Scala配置

tar zxf scala-2.11.4.tgz
chown -R root:root scala-2.11.4 改一下用户所有者



配置环境变量
注意:这里我已经规划好spark的目录以及hadoop的目录,所以一并加进去,或者等安装了hadoop和spark再加进去也可以。

vi /etc/profile


export JAVA_HOME=/home/jvm/jdk1.8.0_25
export JRE_HOME=/home/jvm/jdk1.8.0_25/jre
export SCALA_HOME=/home/congli/scala-2.11.4
export HADOOP_COMMON_HOME=/app/hadoop/hadoop240
export HADOOP_CONF_DIR=/app/hadoop/hadoop240/etc/hadoop
export YARN_CONF_DIR=/app/hadoop/hadoop240/etc/hadoop
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:${SCALA_HOME}/bin:${HADOOP_COMMON_HOME}/bin:${HADOOP_COMMON_HOME}/sbin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_COMMON_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_COMMON_HOME/lib"

测试一下:先刷新一下profile:

source /etc/profile


然后测试

java –version   scala –version

测试结果如下就是OK的:

Hadoop的分布式安装部署图文分享_第3张图片

安装hadoop
1、创建一个目录
mkdir -p /app/hadoop


2、解压到这个目录:

tar zxf /home/hadoop2.4.0/hadoop-2.4.0-bin.tar.gz

3、为了好记,我改名为
  • hadoop240  hadoop-2.4.0/ hadoop240

4、执行
chown -R hadoop:hadoop hadoop



Haddop文件部署
1、  进入 hadoop240/etc/hadoop 进行配置文件的修改;
2、  配置slaves
删除localhost(3台机器是以后如果用HBase ,还要用zookeeper,一般都用奇数台)

Hadoop的分布式安装部署图文分享_第4张图片

3、 配置core-site.xml
<property> 
       <name>fs.defaultFS</name> 
       <value>hdfs://hadoop1:8000</value> 
</property>


Hadoop的分布式安装部署图文分享_第5张图片


4、 配置hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///app/hadoop/hadoop240/mydata/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///app/hadoop/hadoop240/mydata/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

这里的配置项涉及到几个目录,是HDFS的文件保存目录
元数据的保存目录
Datanode的数据保存目录
复制因子设置为1,缺省的是3,同一个数据块会在3个地方有保存,但是我们配置最简单的,就设置成1,让空间利用的更好
注意:mydata/name 和data目录都要创建好,不然会因为写不进去而启动不起来,这个问题我会在遇到的问题中(单开帖子)列出来

5、  配置yarn-site.xml
<property>
        <description>The hostname of the RM.</description>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop1</value>
    </property>
 
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
 
    <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
    </property>
 
    <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
    </property>
 
    <property>
        <description>The address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
    </property>
 
    <property>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
    </property>
 
    <property>
        <description>The address of the resource tracker interface.</description>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
    </property>
 
    <property>
<name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
    </property>

6、  配置mapred-site.xml
这个直接vi 编辑即可,无需从模板拷贝,直接vi 编辑即可建立;

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


7、  配置hadoop-env.sh
# The java implementation to use.
export JAVA_HOME=/home/jvm/jdk1.8.0_25

把这个替换文件里默认的即可。

集群安装

注意:
如果以上做好了,是虚拟机,就开始复制clone,然后设置好网卡等配置;
如果是物理机,几台机器都按照上面的配置好,复制相应目录并做好配置和环境变量的设置
虚拟机里的网卡如何更改,我就不讲了,以后可以单独写一个帖子;


SSH无密码登录设置

用ssh-keygen -t rsa 生成公钥
首先要生成hadoop用户的公钥,所以先su到hadoop用户
首先生成节点1(hadoop1)的公钥: $ssh-keygen -t rsa然后一直按回车键,就会按照默认的选项将生成的密钥保存在.ssh/id_rsa文件中。
cd ~/.ssh然后 ls –lsa可以看到生成了两个文件

Hadoop的分布式安装部署图文分享_第6张图片

同样的第2、第3个节点也和上面一样生成公钥(注意:都先切换到hadoop目录)
用ssh 机器名 cat /home/hadoop/.ssh/id_rsa.pub>>authorized_keys 合成公钥
引用
例如:ssh hadoop1 cat /home/hadoop/.ssh/id_rsa.pub>>authorized_keys 之后要输入yes和hadoop用户的密码


Hadoop的分布式安装部署图文分享_第7张图片

修改authorized_keys 文件属性为600 ,并发放给各节点
chmod 600 authorized_keys

Copy到各个节点

scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh/
scp authorized_keys hadoop@hadoop3:/home/hadoop/.ssh/
scp authorized_keys hadoop@hadoop2:/home/hadoop/.ssh/
scp authorized_keys hadoop@hadoop3:/home/hadoop/.ssh/



用ssh 机器名 date 验证(去各个节点验证一下)

ssh hadoop1 date
ssh hadoop2 date
ssh hadoop3 date

成功后的截图如下:



Hadoop集群的启动
启动HDFS
引用
1、  进入hadoop目录, cd /app/hadoop/hadoop240
2、  bin/hdfs namenode –format 执行格式化;
3、  启动hadoop; sbin/start-dfs.sh(先启动HDFS)

注意:再启动hadoop的时候,最好是HDFS和yarn分开启动,因为HDFS启动的时候如果你保存了大量的文件之后,在启动之后有一个安全检查模式,会耗费大量时间,最好分开启动
4、HDFS的测试
bin/hdfs dfs –ls /  是空的,那么我们建立一个目录 bin/hdfs dfs -mkdir -p /datatest /test
这样就建立好目录了,可以用bin/hdfs dfs –ls / 进行查看
5、 bin/hdfs dfs -put NOTICE.txt /datatest/test/ 上传到这么目录
6、 bin/hdfs dfs -ls /datatest/test查看这个目录下的文件,会发现成功上传上去了,效果如下图;

Hadoop的分布式安装部署图文分享_第8张图片

启动yarn
1、  sbin/start-yarn.sh
2、  jps验证(终端里输入jps)
13473 NameNode
14643 Jps
13753 SecondaryNameNode
14329 ResourceManager
14425 NodeManager
13567 DataNode

如果yarn启动成功了 应该有
  • ResourceManager
  • NodeManager(做为datanode)
  • NameNode


验证
验证HDFS
1、  http://hadoop1:50070/ 看HDFS

Hadoop的分布式安装部署图文分享_第9张图片

上面有三个节点,没问题
再看一下HDFS的文件:

Hadoop的分布式安装部署图文分享_第10张图片


Hadoop的分布式安装部署图文分享_第11张图片



Hadoop的分布式安装部署图文分享_第12张图片


点进去之后,看到我们之前通过命令行上传过的文件,确定了HDFS没问题。

验证yarn

1、  http://hadoop1:8088/cluster/nodes 看到图形界面


Hadoop的分布式安装部署图文分享_第13张图片

Hadoop的分布式安装部署图文分享_第14张图片

Hadoop的分布式安装部署图文分享_第15张图片



OK ,到此为止,一个最简单的hadoop集群就安装部署完毕了,Let`s Go!

你可能感兴趣的:(hadoop)