zoukankan      html  css  js  c++  java
  • Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录

    Mac OSX系统中Hadoop / Hive 与 spark 的安装与配置 环境搭建 记录
     
     
    Hadoop 2.6 的安装与配置(伪分布式)
    1. 下载并解压缩
    2. 配置 .bash_profile :
      1. export HADOOP_HOME=/Users/fan/Applications/hadoop-2.6.0
      2. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    3. 配置 HDFS : 
      1. etc/hadoop/core-site.xml:
        <configuration>
            <property>
                <name>fs.defaultFS</name>
                <value>hdfs://localhost:9000</value>
            </property>
        </configuration>
         
        etc/hadoop/hdfs-site.xml:
        <configuration>
            <property>
                <name>dfs.replication</name>
                <value>1</value>
            </property>
        </configuration>
        2. 配置 ssh 自动登录,以方便 namenode 管理 datanode 以及节点间的数据传输
        1. Mac:  setting->share-> enable remote login, enable file share
        2. Others 
          1. Setup passphraseless ssh

            Now check that you can ssh to the localhost without a passphrase:
              $ ssh localhost
             
            If you cannot ssh to localhost without a passphrase, execute the following commands:
              $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
              $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
              $ chmod 0600 ~/.ssh/authorized_keys
             
    4. 启动 HDFS:
      1. bin/hdfs namenode -format
      2. Start-dfs.sh 
    5. 测试 HDFS 的 web UI 管理页面:
      1. 50070端口管理分布式 hdfs文件系统
    6. 配置 YARN:
      1. Configure parameters as follows:etc/hadoop/mapred-site.xml:
        <configuration>
            <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
            </property>
        </configuration>
         
        etc/hadoop/yarn-site.xml:
        <configuration>
            <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
            </property>
        </configuration>
         
    7. 启动 YARN:
      1. sbin/start-yarn.sh
         
    8. 测试 YARN 的 web UI 管理页面: localhost:8088/
     
    Start-dfs.sh启动出现问题:
    1.  无法启动 namenode , 但无出错提示, 在启动 hive 时出现 
    2. Connecting to ResourceManager at /0.0.0.0:8032
      java.net.ConnectException: Call From marta-komputer/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
       原因是 namenode 启动失败,此时可以使用 查看 start-dfs.sh 的 log 文件: /Users/fan/Applications/hadoop-2.6.0/logs/hadoop-fan-namenode-MacBook.log ,追踪到以下具体问题:
    hadoop/hdfs/name is in an inconsistent state: storage directory(hadoop/hdfs/data/) does not exist or is not accessible
     
    解决方法: 
     
    1. [CORRECT HDFS-SITE.XML] 
      <property>
      <name>dfs.namenode.name.dir</name>
      <value>/home/hduser/mydata/hdfs/namenode</value>
      </property>
     
     
      <property>
      <name>dfs.datanode.data.dir</name>
      <value>/home/hduser/mydata/hdfs/datanode</value>
      </property>
    1.  运行 Hadoop namenode -format 格式化目标目录
    2. Start-dfs.sh 启动 hdfs
     
     
     
     
     
    Hive 2.1.1 的安装与配置:
     
    1. 下载
    2. 配置.bash_profile文件 :  
      1. Export HIVE_HOME=xxx
      2. Export PATH=$HIVE_HOME/bin:$PATH
    3. 复制 conf 目录下的 hive-default.xml-template.xml 重命名为: hive-site.xml
    4. 修改 hive-site.xml,  配置好 schematool -dbType mysql -initSchema 初始化元数据工具所对应的 metastore 配置
      1. 修改 hive-site.xml 表中的 mysql 相关driver连接配置:
        1. 如  driverName   mysql user  password 等,  参考: url 
        2. 下载 mysql-connector.jar 放入 lib 目录下
      2. 启动,并修改 mysql 服务
    5. 运行:  schematool -dbType mysql -initSchema
    6. 修改 hive-site.xml 中的相关配置:  http://stackoverflow.com/questions/27099898/java-net-urisyntaxexception-when-starting-hive
      1. <name>hive.exec.scratchdir</name>
        <value>/tmp/hive-${user.name}</value>
         
        <name>hive.exec.local.scratchdir</name>
        <value>/tmp/${user.name}</value>
         
        <name>hive.downloaded.resources.dir</name>
        <value>/tmp/${user.name}_resources</value>
         
        <name>hive.scratch.dir.permission</name>
            <value>733</value>
    7. 启动 hive 测试
     
     
    Spark2.1.0-hadoop2.6的安装使用:
     
    1.    下载
    2. 增加 export  spark_classpath=mysql.connector.xxx.jar
    3. 复制 hive 的配置文件 hive-site.xml 放入到 spark 的目录下
    4. 启动 spark-shell 测试发现: aused by: MetaException(message:Hive Schema version 1.2.0 does not match metastore's schema version 2.1.0 Metastore is not upgraded or corrupt)
    5. 解决方法:   修改配置: https://docs.hortonworks.com/HDPDocuments/Ambari-2.2.2.0/bk_releasenotes_ambari_2.2.2.0/content/ambari_relnotes-2.2.2.0-known-issues.html
    6. 运行 spark-shell  成功.
    即可使用    
     
     
     
    Hbase 在 Mac 系统中的安装 配置 与启动和使用
     
    1. 下载
    2. cp 到 ~/Application 目录
    3. 配置 hbase-env.sh 中的 Java Home :  export JAVA_HOME=/Users/fan/.jenv/versions/1.8
    4. 配置hbase-site.xml 文件:
      1.   <property>
      2.                  <name>hbase.cluster.distributed</name>
      3.                  <value>true</value>
      4.         </property>
      5.         <property>
      6.                  <name>>hbase.rootdir</name>
      7.                  <value>hdfs://localhost:9000/user/hbase</value>
      8.         </property>
    5. 为 hbase 创建 hdfs 文件夹: hadoop fs -mkdir /user/hbase ;  
    6. 配置环境变量 :
      1. export HBASE_HOME=/Users/fan/Applications/hbase-1.2.4
      2. export PATH=$HBASE_HOME/bin:$PATH
    7. 启动 hbase: 
      1. zkServer.sh start 
      2. Start-hbase.sh
      3. hbase-daemon.sh start thrift (方便 python 连接) 
      4. Hbase shell   (cli环境)
    8. 查看 web ui :  http://localhost:16010/master-status
    9. Hbase cli :  hbase shell
     
    Zookeeper 的安装 配置 和 使用
     
    1. 配置: cp  conf/zoo_sample.cfg  conf/zoo.cfg
    2. 启动
      1. zkServer.sh start
    3. 停止:  
      1. zkServer.sh stop
    4. 命令行管理:
      1. zkCli.sh
     
     
     
    Kafka 的安装 配置 和 使用
     
    1. 下载
    2. 复制到 Applications 目录下
    3. 安装依赖的 zookeeper 并配置好。
    4. 设置环境变量:
      1. KAFKA_HOME=
    5. 启动kafka, 并测试 producer 和 consumer
      1. 启动Zookeeper服务:
        Kafka用到了Zookeeper,所有首先启动Zookper,下面简单的启用一个单实例的Zookkeeper服务。可以在命令的结尾加个&符号,这样就可以启动后离开控制台。
        1. > bin/zookeeper-server-start.sh config/zookeeper.properties &
        2. [2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)
        3. ...
        2. 现在启动Kafka:
        1. > bin/kafka-server-start.sh config/server.properties
        2. [2013-04-22 15:01:47,028] INFO Verifying properties (kafka.utils.VerifiableProperties)
        3. [2013-04-22 15:01:47,051] INFO Property socket.send.buffer.bytes is overridden to 1048576 (kafka.utils.VerifiableProperties)
        4. .
        3: 创建 topic
         
        创建一个叫做“test”的topic,它只有一个分区,一个副本。
        1. > bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
        可以通过list命令查看创建的topic:
        1. > bin/kafka-topics.sh --list --zookeeper localhost:2181
        2. test
         
        除了手动创建topic,还可以配置broker让它自动创建topic.
         
        4:发送消息.
         
        Kafka 使用一个简单的命令行producer,从文件中或者从标准输入中读取消息并发送到服务端。默认的每条命令将发送一条消息。
         
        运行producer并在控制台中输一些消息,这些消息将被发送到服务端:
        1. > bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 
        2. This is a messageThis is another message
        ctrl+c可以退出发送。
         
        5: 启动consumer
         
        Kafka also has a command line consumer that will dump out messages to standard output.
        Kafka也有一个命令行consumer可以读取消息并输出到标准输出:
        1. > bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
        2. This is a message
        3. This is another message
        你在一个终端中运行consumer命令行,另一个终端中运行producer命令行,就可以在一个终端输入消息,另一个终端读取消息。
        这两个命令都有自己的可选参数,可以在运行的时候不加任何参数可以看到帮助信息。
         
     
  • 相关阅读:
    BAM部署失败 未能加载”AdomdClient”或它的某一个依赖项。系统找不到指定的文件
    BizTalk Server 事务机制
    TSQL 访问远程数据库并对其数据表进行操作
    BAM门户聚合 – Pivot Table不显示数据
    Find max or min
    SetProperties
    Define
    Form derives from Form
    MWArrayComponent
    JAVA JDK
  • 原文地址:https://www.cnblogs.com/ToDoToTry/p/11962226.html
Copyright © 2011-2022 走看看