大数据系列之Hadoop知识整理(一)Hadoop介绍、伪分布式搭建
1.Hadoop简洁
还记得那个著名的尿布啤酒的故事么,沃尔玛发现将啤酒放在尿布旁边,男性朋友们在买尿布的时候能够顺手买走啤酒。2015年阿里11.11交易额912.17亿,同比增长59.7%。而在那一天据统计各地大妈消费了78%的品类,涉及粮油,厨电,食品,美妆,其中小家电品类广场舞音像第一,超出第二名美颜相机50%。
这些数据意味什么,这都是白花花的银子啊,如果按照人群,按照各自的喜好,在那一天给他们推荐喜欢的产品,后果可想而知
但是,这意味着数据量得大,超级大,超级超级的大
那么大数据要解决什么问题呢
1.存储 -->分布式存储
2.计算-->分布式计算(分布式:由分布在不同主机上的进程协同在一起,才能构成整个应用。)
那么大数据有什么特征呢
1.volume //体量大
2.variety //样式多.
3.velocity //速度快
4.valueless //价值密度低
基于此,Hadoop营运而生
虚拟机使用的centos7(与ubuntu的安装配置有点不同) ,jdk8,hadoop 2.7
2.1 jdk安装
hadoop需要jvm的支持,所以首先我们来安装jdk
a)下载jdk-8u65-linux-x64.tar.gz
b)tar开
$>cd ~
$>mkdir /soft
$>cd soft
c)验证jdk安装是否成功
$>cd /soft/jdk/bin
$>./java -version
2.2配置jdk的环境变量
1.编辑/etc/profile
$>su -(切换到超级管理员)
$>vim /etc/profile加上:
export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
exprot PATH=$PATH:$JAVA_HOME/bin
2.使环境变量即刻生效
$>source /etc/profile
3.进入任意目录下,测试是否ok
$>cd ~
$>java -version
2.3安装hadoop
a)下载hadoop-2.7.3.tar.gz
b)tar开
$>cd soft
$>tar -xzvf hadoop-2.7.3.tar.gz
c)无
d)验证hadoop安装是否成功
$>cd /soft/hadoop/bin
$>./hadoop version
2.4.配置hadoop环境变量
$>su -(切换到超级管理员)
$>vim /etc/profile...
export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65
export HADOOP_HOME=/home/zpx/soft/hadoop-2.7.3
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
$>source /etc/profile
2.5配置hadoop
1.standalone(local)
nothing !
不需要启用单独的hadoop进程。
2.Pseudodistributed mode
伪分布模式。
a)进入${HADOOP_HOME}/etc/hadoop目录
b)编辑core-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</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>
f)配置SSH(免登陆)
我们在搭建集群的时候需要登录到别的电脑,但是在登录的过程中需要不断的输入验证密码,非常麻烦。配置SSH之后每次登录别的集群的时候就不需要我们每次都输入验证密码。简单来说,SSH会为我们生成一对秘钥(分别是共有秘钥和私有秘钥),然后将公钥发送给server端,server端会在authorized_keys中做一个登记,记录一下,下次可以直接使用ssh直接登录,不需要输入密码验证
1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)$yum list installed | grep ssh
2)检查是否启动了sshd进程
$>ps -Af | grep sshd
3)在client侧生成公私秘钥对。
$>ssh-****** -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.(ubuntu下可以直接使用,不用再设置权限)
$>chmod 644 authorized_keys
7)测试
$>ssh localhost
2.6测试伪分布式
1.对hdfs进行格式化$>hadoop namenode -format。
然后使用start-all.sh(一般不推荐是使用这个命令)来开启hadoop,这时候我们会发下一个在centos下的问题(ubuntu下可以直接运行)
提示我们找不到JAVA_HOME,这时候我们需要回来手动修改一下修改hadoop配置文件,手动指定JAVA_HOME环境变量找到hadoop安装目录/home/zpx/soft/hadoop-2.7.3下的/etc/hadoop/hadoop-env.sh,大约在25行,手动指定JAVA_HOME
然后再一次开启hadoop,发现成功运行
并且5个进程全部开启(ResourceManager,NodeMnager,NameNode,DataNode,secondaryNamNode)
然后我们再验证一下,创建hdfs下的一个文件目录,查看一下,发现没有问题
或者是访问一下ui网站(Ip地址:50070),发现也没有问题
至此,Hadoop的伪分布式搭建成功
可以使用stop-all.sh来关掉hadoop
使用的包:链接: https://pan.baidu.com/s/19cOBJVFz4W8lLjTql8Jbng 密码: vevj