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

原文地址:https://www.cnblogs.com/lihui123/p/12818174.html