`
congli
  • 浏览: 14914 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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图,去掉前面井号即可



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



用户和组的增加

  • 增加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
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,一般都用奇数台)



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





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可以看到生成了两个文件



同样的第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用户的密码




修改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查看这个目录下的文件,会发现成功上传上去了,效果如下图;



启动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



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











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

验证yarn

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










OK ,到此为止,一个最简单的hadoop集群就安装部署完毕了,Let`s Go!
  • 大小: 13.2 KB
  • 大小: 35.7 KB
  • 大小: 12 KB
  • 大小: 4.7 KB
  • 大小: 6.1 KB
  • 大小: 7.8 KB
  • 大小: 158.1 KB
  • 大小: 7.7 KB
  • 大小: 12 KB
  • 大小: 72.8 KB
  • 大小: 35.3 KB
  • 大小: 28.3 KB
  • 大小: 92 KB
  • 大小: 110.9 KB
  • 大小: 135.5 KB
  • 大小: 49.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics