Hadoop知识点

Hadoop

hadoop-2.5.0.tar.gz

http://hadoop.apache.org/

是什么

开源的 分布式存储+分布式计算平台

核心组成:

HDFS:分布式文件系统,存储海量数据
Mapreduce:并行处理框架,实现任务分解和调度

做什么?

搭建大型数据仓库、PB级数据的存储、处理、分析、统计等业务

优势?

1、高扩展
2、低成本
3、成熟的生态圈(hbase)

应用情况:淘宝、京东、、、、、

HVE:无需编写复杂的Hadoop程序,编写SQL、语句。降低了使用Hadoop门槛
HBase:存储结构化数据的分部署数据库。hbase放弃事务特性、追求更高的扩展。提供了数据随机读写和实时访问,实现对表数据的读写功能
zookeeper:监控每个集群的状态。

hadoop ver1.2稳定

环境变量配置

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

hadoop安装步骤:

mkdir /opt/modules 下载文件放入此路径
解压:tar -zxvf hadoop-2.5.0
删除无需的文件:rm -rf /share/doc
删除cmd文件:

[root@centos etc]# cd /opt/modules/hadoop-2.5.0/etc/hadoop/
[root@centos hadoop]# rm -rf *.cmd
[root@centos hadoop]#

注:window下配置的文件,不需要删除即可

修改的配置文件

[root@centos hadoop]# cd /opt/modules/hadoop-2.5.0/etc/hadoop/
[root@centos hadoop]# ll
总用量 112
-rw-r--r--. 1 501 wheel   774 8月   7 2014 core-site.xml
-rw-r--r--. 1 501 wheel  3443 8月   7 2014 hadoop-env.sh
-rw-r--r--. 1 501 wheel   775 8月   7 2014 hdfs-site.xml
-rw-r--r--. 1 501 wheel    10 8月   7 2014 slaves

注:需要配置的几个文件

1.配置hadoop-env.sh配置如下

# The java implementation to use.
export JAVA_HOME=/usr/local/jdk1.8.0_144

环境变量命令:

[root@centos hadoop]# echo $JAVA_HOME
/usr/local/jdk1.8.0_144

2.配置 core-site.xml

文件《core-site.xml》配置如下:

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
   <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/modules/hadoop-2.5.0/data/tmp</value>
    </property>
</configuration>

fs.defaultFS中配置的9000端口没有出现在监听中。
localhost 换成 hostname

[root@centos hadoop]# hostname

centos

hadoop.tmp.dir原数据存放的目录,默认是/tmp/hadoop-${user.name}
改变原目录地址:

[root@centos hadoop]# cd ../
[root@centos etc]# cd ..
[root@centos hadoop-2.5.0]# ls
bin  etc  include  lib  libexec  sbin  share
[root@centos hadoop-2.5.0]# mkdir -p data/tmp
[root@centos hadoop-2.5.0]# cd data/tmp/
[root@centos tmp]# pwd
/opt/modules/hadoop-2.5.0/data/tmp
[root@centos tmp]#

注:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html

注:http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/core-default.xml

3.配置hdfs-site.xml 如下:

<configuration>
  <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
  <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>
</configuration>

dfs.replication这个参数是个client参数,即node level参数。需要在每台datanode上设置。
其实默认为3个副本已经够用了,设置太多也没什么用。

dfs.permissions.enabled = true
如果是true表明使用权限系统。如果不是,权限检查将关闭,但是所有其他的行为不会发生变化。变更参数的值不会变更文件或目录的模式,所有者和组。不管权限开启或关闭,chmod,chgrp,chown和setfacl总是检查权限。这些功能只能权限上下文中有用,所有没有向后兼容性的问题。此外,这使得管理员在打开常规权限检查之前,能够可靠地设置所有者和权限。

http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html

http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

4.slaves配置如下:

centos

注:slaves文件里面记录的是集群里所有DataNode的主机名,
写hostname配置

启动

[root@centos tmp]# cd /opt/modules/hadoop-2.5.0
[root@centos hadoop-2.5.0]# ls
bin  data  etc  include  lib  libexec  sbin  share
[root@centos hadoop-2.5.0]# bin/hdfs namenode -format

省略
17/09/04 11:09:07 INFO common.Storage: Storage directory /opt/modules/hadoop-2.5.0/data/tmp/dfs/name has been successfully formatted.
17/09/04 11:09:08 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
17/09/04 11:09:08 INFO util.ExitUtil: Exiting with status 0
17/09/04 11:09:08 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at centos.luichi.info/192.168.1.218
************************************************************/
[root@centos hadoop-2.5.0]#
[root@centos hadoop-2.5.0]# sbin/hadoop-daemon.sh start namenode
starting namenode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-root-namenode-centos.out
[root@centos hadoop-2.5.0]# sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /opt/modules/hadoop-2.5.0/logs/hadoop-root-datanode-centos.out
[root@centos hadoop-2.5.0]#

http://IP:50070

查询端口

netstat -ntlp
netstat -an |grep 50070

在当开启了防火墙时,做如下设置,开启相关端口,
修改/etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 50070 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT1

永久性生效,重启后不会复原。

开启: chkconfig iptables on
关闭: chkconfig iptables off
2、 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

1、永久性生效,重启后不会复原。
开启: chkconfig iptables on
关闭: chkconfig iptables off
2、 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值