Hadoop
是什么
开源的 分布式存储+分布式计算平台
核心组成:
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]#
查询端口
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