zoukankan      html  css  js  c++  java
  • hadoop伪分布集群

    创建用户  useradd -m hadoop -G root -s /bin/bash
    修改用户密码   passwd hadoop

    创建用户权限  vi sudo
    hadoop ALL=(ALL) ALL 最大的权限和root一样

    修改主机名   vi /etc/sysconfig/network   改 HOSTNAME=master(主机名)  修改完主机名需要重启一下虚拟机

          vi /etc/hosts  添加  192.168.56.2 master

    配置静态IP地址  vi/etc/sysconfig/network-scripts/ifcfg-eth0
                   文件修改为: ONBOOT=yes
                                  BOOTPROTO=static
                                  IPADDR=192.168.56.2 (虚拟机的IP)
                                    NETMASK=255.255.255.0
                                         GATEWAY=192.168.56.1 (win上的以太网IP)
                                         DNSI=8.8.8.8

    关闭防火墙  service iptables stop
    永久关闭防火墙  chkconfig iptables off

    生成SSH公钥 ssh-keygen -t rsa   (遇见问题直接回车)

    删除原有JDK     rpm -e --nodeps  例如:rpm -e --nodeps JDK (查看JDK命令:rpm -qa | grep jdk)

    上传压缩包hadoop,jdk,zookeeper,hbase,hive,sqoop,flume。解压,这里上传到了/root/app下边

    先配置环境变量

      进入 vi /etc/profile
        export JAVA_HOME=/root/app/jdk1.8.0_161
        export PATH=$PATH:$JAVA_HOME/bin
        export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
        export PATH=$PATH:$HADOOP_HOME/bin

        export HBASE_HOME=/root/app/hbase-1.2.0-cdh5.7.0
        export PATH=$PATH:$HBASE_HOME/bin

        export HIVE_HOME=/root/app/hive-1.1.0-cdh5.7.0
        export PATH=$PATH:$HIVE_HOME/bin

        export SQOOP_HOME=/root/app/sqoop-1.4.6-cdh5.7.0
        export PATH=$PATH:$SQOOP_HOME/bin

    配置hadoop

      进入vi /root/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop

      修改配置文件:

        1.hadoop-env.sh
                   export JAVA_HOME=/root/app/jdk1.8.0_161
                   export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0
        2.core-site.xml
                   <property>
                            <name>fs.default.name</name>
                            <value>hdfs://master:8020</value>
                   </property>
                   <property>
                            <name>hadoop.tmp.dir</name>
                            <value>/opt/hdfs/tmp</value>
                   </property>
        3.hdfs-site.xml
                   <property>
                            <name>dfs.replication</name>
                            <value>3</value>
                   </property>
                   <property>
                            <name>dfs.name.dir</name>
                            <value>/root/data/name</value>
                   </property>
                   <property>
                            <name>dfs.data.dir</name>
                            <value>/root/data/data</value>
                   </property>
        4.mapred-site.xml(cp mapred-site.xml.template mapred-site.xml)
                    <property>
                           <name>mapreduce.framework.name</name>
                           <value>yarn</value>
                   </property>
        5.yarn-site.xml
                      <property>
                           <name>yarn.resourcemanager.address</name>
                           <value>master:8080</value>
                      </property>
                      <property>
                           <name>yarn.resourcemanager.resource-tracker.address</name>
                           <value>master:8082</value>
                      </property>
                      <property>
                           <name>yarn.nodemanager.aux-services</name>
                           <value>mapreduce_shuffle</value>
                      </property>
                      <property>
                           <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                           <value>org.apache.hadoop.mapred.ShuffleHandler</value>
                      </property>
        6.slaves
             master

    格式化  hadoop namenode -format

    启动hadoop 进入 vi /root/app/hadoop-2.6.0-cdh5.7.0/sbin  执行./start-all.sh

    启动之后查看jps

    配置zookeeper

      1.进入 conf目录下 拷贝zoo_sample.cfg 为zoo.cfg

        cp zoo_sample.cfg zoo.cfg

      2.打开zoo.cfg

        找到dataDir  配置dataDir  zookeeper的数据文件目录

        /root/data/zookeeper

      3.启动zookeeper

      进入sbin 执行 ./zkServer.sh start #参数start开启,status查看状态,stop关闭,standalone单机模式

    配置hbase

      1.拷贝zoo.cfg到hbase的conf下

      2.配置hbase-env.sh

        (1).JAVA_HOME=  jdk的路径

        (2).HBASE_CLASSPATH  hadoop安装目录下的etc/hadoop

        (3).HBASE_MANAGES_ZK   使用hbase自带的zookeeper还是外部zookeeper

      3.配置hbase-site.xml

        <property>

                <name>hbase.rootdir</name>

                <value>hdfs://master:8020/hbase</value>

            </property>

         <property>

                <name>hbase.cluster.distributed</name>

                <value>true</value>

          </property>

          <property>

                <name>hbase.master</name>

                <value>master:60000</value>

           </property>

        <property>

                <name>hbase.zookeeper.quorum</name>

                <value>master</value>

             </property>

      4.配置Regionserver

        master

      5.启动hbase

        进入bin目录,启动 ./start-hbase.sh

              启动hbase shell,   输入list 列出表格

    配置hive

      1.安装mysql服务

        (1).yum install mysql-server

        (2).在mysql配置文件/etc/my.cnf中加入default-character-set=utf8
        (3).设置开机自启动  chkconfig mysqld on
                   chkconfig --list mysqld
        (4).启动mysql  service mysqld start
        (5).登陆mysql   mysqladmin -u root password 123456
                 mysql -u root -p

        (6).启动mysql服务  service mysqld start

        (7).创建hive数据库用来保存hive元数据
          create database hive;
          使hadoop01(操作系统用户)用户可以操作数据库hive中的所有表:
          grant all on hive.* to hadoop01@’master’ identified by ‘hadoop01的登陆密码’;
          flush privileges;

       修改字符编码
            /etc/my.cnf文件中的所有如下:
            [mysqld]
            datadir=/var/lib/mysql
            socket=/var/lib/mysql/mysql.sock
            user=mysql
            # Disabling symbolic-links is recommended to prevent assorted security risks
            symbolic-links=0
            default-character-set=utf8
            [mysqld_safe]
            log-error=/var/log/mysqld.log
            pid-file=/var/run/mysqld/mysqld.pid
            default-character-set=utf8
            [client]
            port=3306
            default-character-set=utf8

        (8).修改hive-site.xml文件

          <?xml version="1.0" encoding="UTF-8" standalone="no"?>
          <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
          <configuration>
              <property>
                  <name>javax.jdo.option.ConnectionURL</name>
                  <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
              </property>
              <property>
                  <name>javax.jdo.option.ConnectionDriverName</name>
                  <value>com.mysql.jdbc.Driver</value>
               </property>
              <property>
                  <name>javax.jdo.option.ConnectionUserName</name>
                  <value>本机用户名</value>
              </property>
              <property>
                   <name>javax.jdo.option.ConnectionPassword</name>
                    <value>本机密码</value>
              </property>
          </configuration>
        (9).修改hive-env.sh文件

          export JAVA_HOME=/root/app/jdk1.8.0_161
          export HADOOP_HOME=/root/app/hadoop-2.6.0-cdh5.7.0

        (10).追加mysql的jdbc驱动jar包
          在hive解压目录的lib文件夹下添加mysql的jdbc驱动

        (11).启动Hadoop和MySQL,然后执行 hive
        (12).进入Hive命令行,执行命令,创建一个名为test的表,并查询该表的记录数
            create table test(id int);
            select count(*) from test;
    配置sqoop

      (1).修改/home/hadoop01/app/sqoop-1.4.6-cdh5.7.0/bin/configure-sqoop文件

        将其中关于Zookeep和HBase的行都注释掉,除非集群已经安装了Zookeep和Hbase

       (2).拷贝mysql的jdbc jar文件sqoop的lib目录

        注意:1.使用sqoop前需要导入json的包到sqoop的lib目录下
                     2.将hive/lib/hive.* 拷贝到sqoop的lib目录下

      (3).验证安装是否成功
        sqoop version
        sqoop list-databases --connect jdbc:mysql://master:3306/ --username root -P

    配置flume

      (1).定义三大组件

      

       (2).配置source组件   

     (3).配置sink组件

     

      (4).文件切换规则:
      

      (5).回滚配置:

      

      (6).channel组件配置:

      

      (7).三大组件绑定:

       (8).

        1.进入到flume/conf 将 flume-env.sh.templ 复制为flume-env.sh
         将export  JAVA_OPTS 那行的注释去掉
        2.进到flume目录下 sudo  vi dir-hdfs.conf
          将之前写好的配置文件粘贴(注意将源目录和hdfs目录修改,并且注释不要放在数值类型参数后边)
        3.执行bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -Dflume.root.logger=INFO,console
        4.创建 源目录log 给与777权限 并且在log目录下存放需要采集的数据 a.log b.log c.log
        5.观察flume中日志信息,查看采集后的文件是否加了后缀 .FINISHED


    相关资料以及架包:

      https://pan.baidu.com/s/12QRR9bWFvNRaBppUar1MeQ

      提取码:239b

  • 相关阅读:
    每天OnLineJudge 之 “蛇形矩阵 ”
    Hello World 发生了什么?
    软件开发人员真的了解SQL索引吗(索引使用原则)
    软件开发人员真的了解SQL索引吗(聚集索引)
    项目经验总结(一)如何约定接口的定义
    min的个人网站终于创建起来了
    WCF单例服务,如何实现并发
    如何规范.net中的js开发(2)原理篇(更新版)
    网站架构之缓存应用(3)实现篇
    网站架构之缓存应用(1)概念篇
  • 原文地址:https://www.cnblogs.com/lihui123/p/12818174.html
Copyright © 2011-2022 走看看