大数据学习的开端,了解Hadoop的安装与配置

随着云时代的来临,大数据(Bigdata)吸引了越来越多的关注。分析师团队认为,大数据(Big data)通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MapReduce一样的框架来向数十、数百或甚至数千的电脑分配工作。

这时候很多学者想学习大数据,或是沉迷于大数据强大的楦头,或是因为未来工作发展需要,亦或是……但是不管什么原因想学习大数据,都离不开困扰初学者的一个怪圈:大数据是什么,怎么用,关键是从哪学起。

  1. 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群: 740041381就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入

上面提到的强大的MapReduce其实是入门大数据的一个先锋:Hadoop的一个计算数据框架。其实Hadoop还有一个核心那就是其实现的一个分布式文件系统HDFS。二者共同完成Hadoop的功能,缺一不可。今天小编就带大家学习大数据入门Hadoop安装配置和其必备组件JDK与MySQL的安装配置,并且简单介绍Linux下MySQL数据表的基本操作。纯手工原创,希望大家支持牛学汇,关注小编。

资源配置要求:小编使用的是64位Ubuntu系统的台式机。大家手中的笔记本RAM4G+的亦可以实现单机配置。重点来了,开始安装配置boss:Hadoop:

安装与配置

 2.1 安装JDK-JAVA的开发工具包

2.1.1 解压缩jdk到/usr/local/java/目录下;tar -zxvf jdk.gz

2.1.2 配置jdk的环境变量

打开/etc/profile,在其中配置JAVA_HOME、PATH、CLASSPATH:

export JAVA_HOME=/usr/local/java/jdk*   ####告诉系统JDK的主目录在哪里

export PATH=$JAVA_HOME/bin$PATH    ####/bin/javac为JAVA程序的编译器;/bin/java为JAVA解释器及其他命令

export CHASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar     ####JAVA源文件编译结束生成的CLASS文件,告诉操作系统其位置

 2.1.3 验证环境变量是否正确:$java -version&java -version

 2.2 安装配置Hadoop

 2.2.1 解压缩Hadoop包到主目录

  $tar -zxvfhadoop.tar.gz

  $mv hadoop2.5232 hadoop  ####重命名hadoop

2.2.2 打开/etc/profile

          $sudo gedit/etc/profile

2.2.3 配置Hadoop环境  ####通过命令行调动Hadoop命令或者对其访问

export     HADOOP_HOME=/home/duanshi/hadoop

export  PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH          ####/bin/&/sbin/下面有hadoop与hdfs命令

 验证配置是否成功:$hadoop jar

 2.2.4 我们选择Hadoop V2版本的伪分布模式:在这个模式里我们可以在一个单独的机器上运行Hadoop,模拟一个分布式集群。这个模式将Hadoop的不同服务作为不同的JAVA程序来运行,但是在一个单独的机器里,此时Hadoop将使用分布式文件系统。该模式除了非真正的分布式外,其程序执行逻辑完全类似于分布式。

  2.2.5 安装ssh和配置ssh无密码登录:

        1)$sudo apt-get install openssh-server            ####安装ssh

        2)设置从Namenode到Datanode的SSH无密码登录:

      $ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa        ####创建ssh key

      $cat~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys ####将key添加到authorized_keys

      $ssh localhost                                   ####无密码登录

    2.2.6 配置Hadoop

        1) 创建tmp临时文件夹:$mkdir hadoop/tmp

         2) 创建namenode和datanade数据文件夹:

        $mkdir hadoopdata

        $mkdir hadoopdata/hdfs

        $mkdir hadoopdata/hdfs/name  ####存储命名空间和事物日志的路径

        $mkdir hadoopdata/hdfs/data  ####在datanode中存储数据块的路径

        3) 配置Hadoop

               要配置的文件在/hadoop/etc/hadoop/下

   1.hadoop-env.sh文件

配置JDK主目录:exportJAVA_HOME=/usr/local/java/jdk*

   2. 配置hdfs核心文件con-sita.xml

           <property>

              <name>fs.defaultFS</name>             ####hdfs分布式文件系统的一个主节点名称

             <value>hdfs://localhost:9000</value>          ####hdfs协议,为分布模式主机,端口为9000

           </property>

              <property>

              <name>hadoop.tmp.dir</name>

              <value>file:/home/duanshi/hadoop/tmp</value>  ####file本地文件系统

           </property>

  3. 配置hdfs-site.xml       ####配置两个节点目录name&data

             <property>

              <name>dfs.namenode.name.dir</name>

             <value>file:/home/duanshi/hadoopdata/hdfs/name</value>

             </property>

                <property>

              <name>dfs.datanode.data.dir</name>

             <value>file:/home/duanshi/hadoopdata/hdfs/data</value>

             </property>

                <property>

              <name>dfs.replication</name>   ####备份数据块,伪分布模式一个机器所以值为1

              <value>1</value>

             </property>

4.配置mepred.site.xml

           <property>

              <name>mapreduce.framework.name</name>   ####mapreduce资源调度框架为:yarn

              <value>1</value>

             </property>

 5.配置yarn调度器yarn.site.xml

            <property>

              <name>yarn.nodemanager.aux-services</name>    ####配置yarn辅助服务shuffle

              <value>mapreduce_shuffle</value>

             </property>

                <property>

              <name>yarn.nodemanager.aux-services。mapreduce_services.class</name>    ####该服务调用哪一个类来执行shuffle功能

             <value>org.apache.hadoop.mapred.ShuffleHandler</value>

             </property>

            #####分布式文件系统hdfs和yarn资源调度框架就配置结束了

 2.2.7 格式化namenode

    $hdfs namenode -format

      $start-dfs.sh    ####启动hdfs

      $jps          ####查看hdfs安装

      $hdfs dfsadmin -report  ####查看hdfs状态报告

     打开浏览器,链接;http://localhost:50070   ####hdfs自带监控的web控制台

          $start-yarn.sh

      就可以打开yarn的web控制台:http://localhost:8042

      $mr-jobhistory-daemon.sh starthistoryserver  ####打开MapReduce的历史服务

#############到此Hadoop伪分布模式安装配置结束################

 2.3 安装MySQL数据库

      $sudo apt-get installmysql-server      ####期间设置MySQL密码

      $mysql -uroot -p                        ####测试是否安装成功

      >create databasehadoop;                ####创建一个Hadoop的数据库

      >show databases;                        ####显示创建好的数据库

      >grant all privilegeson hadoop.* to hduser identified by "123456";      ####将Hadoop数据库授权给hduser用户,允许从本机登录

      >quit                                   ####退出当前数据库

      ------将数据库授权给其他用户,非本机-------

       $mysql -uroot -p 

       >selecthost,user,password frome user;   ####查看当前用户以及他们登录端口

       >grant allprivileges hadoop.* to hduser@"%" identified by"123456";    ####将Hadoop数据库所有表的操作授权给hduser,并且允许它从任何主机(%)登录

       >quit;

       $mysql -h127.10.1.2 -uhduser -p        ####例如hduser从该主机登录Hadoop数据库

       >qutt;

    2.3.1 修改MySQL默认编码

互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口。为帮助那些往想互联网方向转行想学习,却因为时间不够,资源不足而放弃的人。我自己整理的一份最新的大数据进阶资料和高级开发教程,大数据学习群: 740041381就可以找到组织学习  欢迎进阶中和进想深入大数据的小伙伴加入

       ####在apt-get安装的MySQL,默认编码不是utf8而是Latin1,那么就无法在数据库中插入中文信息######

       $sudo gedit/etc/mysql/my_cnf    ####打开MySQL配置文件

       a. 在[client]下追加:default-character-set=utf8

       b. 在[mysqld]下追加:character-set-server=utf8

       c. 在[mysql] 下追加: default-character-set=utf8

       保存并退出

       $sudo service mysqlrestart &/etc/init.d/mysqlrestart ####重启动数据库

       status    ######查看编码是否配置成功

    2.3.2 MySQL数据库表的基本操作

       $mysql -u hduser -p

       >use hadoop;               ####切换到或者打开Hadoop数据库

       >show tables;              ####查看数据库中表情况

       >create tableemployees(

       ->id integer notnull primary key auto-increment,

       ->name varchar(20),

       ->salary int,

       ->depaartmentvarchar(50),

       ->hiredate date

       ->);                       ####创建一个employees基本表,规定其主键,属性,以及属性的数据类型等,只是一个空表

       >show tables;

       >descemployees;           ####查看这个表的具体信息

       >insert intoemployees value(mull,'张三',8000,'财务部','2016-10-8');  ####添加一行信息

       >select * fromemployees;  #####查询表的基本信息,如果具体可以用ID,name,salary等替代*

       >select * fromemployees where department='生产部';     #####查询满足条件的信息

       >update employeesset salary=7000 where name='张三';    #####将张三薪水改为7000

       >delete fromeemployees where salary>=10000;            #####删除薪水大于等于10000的员工记录

       >drop tableenployees;                                  #####删除这个表的全部内容

       -------hadoop安装配置,MySQL安装配置,基本操作到此结束---------

上述为小编亲测整理的Hadoop伪分布模式的安装与配置。到了牛学汇下期,小编将继续分享大数据的学习之MapReduce的具体实战。

猜你喜欢

转载自blog.csdn.net/cryacq2798/article/details/88378003