hadoop:开源软件,可靠的、分布式、可伸缩的大数据软件(是一个生态体系包括但不限于:hive、spark、MR、persto、kylin)
国家提出去IOE战略:
- IBM //ibm大、小型机
- Oracle //oracle数据库服务器 RAC
- EMC //EMC共享存储设备。
数据量的技术;目前互联网公司产生的数据量是非常大的;比如阿里巴巴天猫和淘宝商城每天产生的数据量在600PB两级;数据随着时间的长短产生的价值月低;实时计算是未来的发展的趋势。
二进制换算公式:
机制 | K | M | G | T | P | E | Z | Y | N |
二进位 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 | 1024 |
海量数据PB、RAID、磁盘阵列。
大数据解决了两个问题:
1.存储:分布式存储
2.计算:分布式计算
分布式:由分布在不同主机上的进程协同在一起,才能构成整个应用。采用的架构为:B/S:Browser / http server:瘦客户端.
failure over //容灾(这是架构师需要考虑的问题,其目的是保证业务的连续性)
fault over //容错
云计算特点:
- 服务化。
- 计算资源虚拟化
- 存储系统和网络资源虚拟机
- PAAS(RDS、缓存平台、MQ消息中间件、大数据平台、分布式服务治理等等)
- SAAS(这个主要分行业,金融行业、交通、ERP等等)
大数据的四个V特征:
1.volume //体量大
2.variety //样式多.
3.velocity //速度快
4.valueless //价值密度低
hadoop四个模块:
1.common
2.hdfs
3.hadoop yarn
4.hadooop mapreduce(mr)
安装hadoop
环境说明:在/root新建了soft;和大数据相关的软件都放到soft
1.安装jdk
a)下载jdk-8u65-linux-x64.tar.gz;下载地址为百度云:https://pan.baidu.com/s/16423sIRTOupnr9hNR-x8VQ
b)tar jdk-8u65-linux-x64.tar.gz
$>mkdir /root/soft
$>rz jdk-8u65-linux-x64.tar.gz
$>tar -xzvf jdk-8u65-linux-x64.tar.gz
c)创建符号连接
$>ln -s /root/soft/jdk-1.8.0_65 /root/soft/jdk
d)验证jdk安装是否成功
$>cd /soft/jdk/bin(也可以进入任何目录)
$>./java -version
配置环境变量:
1.编辑/etc/profile
$>vim /etc/profile
...
export JAVA_HOME=/root/soft/jdk
exprot PATH=$PATH:$JAVA_HOME/bin
2.使环境变量即刻生效
$>source /etc/profile
3.进入任意目录下,测试是否ok
$>cd ~
$>java -version
示例:
#hive
export HIVE_HOME=/usr/local/hive/apache-hive-2.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin
#zookeeper
export zk_HOME=/usr/local/zk
export PATH=$PATH:$zk_HOME/bin
#zookeeper
export zk_HOME=/usr/local/zk
export PATH=$PATH:$zk_HOME/bin
#jdk
export JAVA_HOME=/root/soft/jdk
export PATH=$PATH:$JAVA_HOME/bin
#hadoop
export HADOOP_HOME=/root/soft/hadoop
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
安装hadoop
1.安装hadoop
a)下载hadoop-2.7.3.tar.gz 下载Hadoop-2.7.3的百度云地址为:https://pan.baidu.com/s/14NsDXAvO5AJraUR1sNk4ng
b)tar开
$>cd /root/soft
$>rz hadoop-2.7.3.tar.gz
$>tar -xzvf hadoop-2.7.3.tar.gz
c)创建符号连接
$>ln -s /root/soft/hadoop-2.7.3 /root/soft/hadoop
d)验证jdk安装是否成功
$>cd /soft/hadoop/bin
$>./hadoop version
2.配置hadoop环境变量
$>vim /etc/profile
...
export JAVA_HOME=/root/soft/jdk
exprot PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/root/soft/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3.生效
$>source /etc/profile
配置hadoop单机版和集群配置
1.standalone(local)nothing !不需要启用单独的hadoop进程(单机版本数据hadoop)。
2.Pseudodistributed mode
伪分布模式(完全分布式安装可以本博客中的hadoop安装2)
a)进入${HADOOP_HOME}/etc/hadoop目录
b)编辑core-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost(自己Linux系统下/etchostname的名字)/</value>
</property>
</configuration>
c)编辑hdfs-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
d)编辑mapred-site.xml
注意:cp mapred-site.xml.template mapred-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
e)编辑yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启用Hadoop
1)cd /root/soft/hadoop/sbin
2)执行:start-all.sh文件
3)或者可以执行:start-dfs.sh和start-yarn.sh
4)成功安装验证
最终jps查看有5个进程:
- namenode
- datanode
- secondnamenode
- resourcemanager
- nodemanager
如下图所示:
配置SSH(免密钥登录,机器多为了提高效率)
1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
- 执行命令为: yum list installed | grep ssh
- 没有安装openssh-server + openssh-clients + openssh
- 命令为:yum install -y openssh-server + openssh-clients + openssh
2)检查是否启动了sshd进程
$>ps -Af | grep sshd
3)在client侧生成公私秘钥对。
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)
5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
- cd ~/.ssh
- cat id_rsa.pub >> authorized_keys
6)修改authorized_keys的权限为644。
$>chmod 644 authorized_keys(644 rw-r--r--)给authorized_keys赋权限
7)测试
$>ssh localhost
8)这些操作的目的是多台机器免密码登录,其目的在后面scp传输文件的时候不用输入密码