A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

              在此之前,接触了hadoop,在本地安装遇到了好多坑,这里简单讲一下安装过程和常见错误。
一、安装环境
       环境:centos6.5虚拟机
       ip:192.168.217.133
      用户:root
      安装了 mysq数据库
二、安装JDK
       需要安装JAVA环境,所以首先安装JDK,这里用到的是jdk-9.0.1版本。
       下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 找到对应下载即可
     1、查看主机是否安装了jdk
       [root@Master ~]# rpm -qa |grep java
        如果安装了,可以用rpm  -e 删除重新下载使用。
     2、安装jdk
          rpm -ivh jdk-9.0.1_linux-x64_bin.rpm
     3、修改/etc/profile环境,(前提查看jdk的安装路径,一般在/usr/java/ 底下。)
          vim /etc/profile
    添加如下:
             export JAVA_HOME=/usr/java/jdk-9.0.1
             export PATH=$PATH:$JAVA_HOME/bin
     保存退出
    使用   sourch /etc/profile  使配置生效。
      4、查看安装成功
            [root@Master conf]# java -version      
            java version "9.0.1"
           Java(TM) SE Runtime Environment (build 9.0.1+11)
           Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
        如果出现如上所示则jdk安装成功。
三、安装hadoop
        这里使用的是hadoop-1.2.1.tar.gz版本
        下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
   1、下载
         wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-1.2.1/hadoop-1.2.1.tar.gz
   2、解压进目录/opt/ (目录随意,也可自建)
        tar -zxf hadoop-1.2.1.tar.gz -C /opt/
   3、配置hadoop
         cd /opt/hadoop-1.2.1/conf
   主要配置4个文件:mapred-site.xml、core-site.xml、 hdfs-site.xml、hadoop-env.sh
    vim mapred-site.xml
    <configuration>  
            <property>
                   <name>mapred.job.tracker</name>
                   <value>Master:9001</value>                                                                                                                 
            </property>
    </configuration>

     vim core-site.xml
        <configuration>  
              <property>
                <name>hadoop.tmp.dir</name>
                <value>/hadoop</value>
            </property>
        <property>
                <name>dfs.name.dir</name>
                <value>/hadoop/name</value>
        </property>
        <property>
                <name>fs.default.name</name>
                <value>hdfs://Master:9000</value>                                                                                                         
        </property>
    </configuration>

   vim hdfs-site.xml
    <configuration>  
        <property>-
                <name>dfs.data.dir</name>
                <value>/hadoop/data</value>                                                                                                               
        </property>
   </configuration>

   vim  hadoop-env.sh
    export JAVA_HOME=/usr/java/jdk-9.0.1/   只添加这一行 JAVA路径。

   4、修改/etc/profile环境
     export HADOOP_HOME=/opt/hadoop-1.2.1
     export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
    保存退出
   source /etc/profile 使文件生效。

   5、测试是否安装成功
   [root@Master conf]# hadoop fs -ls /
  Warning: $HADOOP_HOME is deprecated.
   drwxr-xr-x   - root supergroup          0 2017-10-19 11:00 /hadoop
   出现如上表示成功。
  6、启动hadoop
使用jps查看
  [root@Master ~]# jps
    2391 Jps
    没有进程。
      进入hadoop执行目录
        # cd /opt/hadoop-1.2.1/bin
        # start-all.sh   执行即可
          执行过程中会提示你输入主机密码还几次,输入即可,如果不想输入,给主机设置ssh免密登录,不会的话网上一大堆这里就不多说了。

   7、检测启动状态
        使用jps命令查看
          [root@Master bin]# jps                     
         2642 TaskTracker
        4132 Jps
        2423 SecondaryNameNode
        2266 DataNode
        2155 NameNode
        2507 JobTracker
     出现如上进程说明安装成功。
   四、安装hive
          下载地址:http://archive.apache.org/dist/hive/hive-0.9.0/hive-0.9.0-bin.tar.gz
       1、下载软件
           wget http://archive.apache.org/dist/hive/hive-0.9.0/hive-0.9.0-bin.tar.gz
       解压进OPT目录
        tar -zxf hive-0.9.0-bin.tar.gz -C /opt/   
       2、进入conf目录修改配置内容
            cd /opt/hive-0.9.0-bin/conf
            hive-env.sh文件只有模板,所以首先我们复制一份模板使用
           cp hive-env.sh.template hive-env.sh
            vim hive-env.sh
     添加如下一行hadoop家目录
          HADOOP_HOME=/opt/hadoop-1.2.1   
        vim hive-site.xml
           添加如下配置:
              <configuration>
                   <property>
                      <name>javax.jdo.option.ConnectionURL</name>
                       <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNotExist=true</value>
                       <description>JDBC connect string for a JDBC metastore</description>
                 </property>
               <property>
                    <name>javax.jdo.option.ConnectionDriverName</name>
                            <value>com.mysql.jdbc.Driver</value>
                          <description>Driver class name for a JDBC metastore</description>
              </property>
              <property>
                       <name>javax.jdo.option.ConnectionUserName</name>
                       <value>root</value>
                      <description>username to use against metastore database</description>
               </property>
                <property>
                       <name>javax.jdo.option.ConnectionPassword</name>
                               <value>root</value>
                              <description>password to use against metastore database</description>
                           </property>
               </configuration>

             3、修改/etc/profile环境
                        export HIVE_HOME=/opt/hive-0.9.0-bin
                      export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH        ##这是JDK、Hadoop、Hive三个的结合,只要这一条即可。
                 保存退出
                source /etc/profile 使文件生效。
            4、启动hive
                  [root@Master ~]# hive
                             hive>
                         进入成功。
             以下部分讲一下hive启动的几个失败点:
              1、Caused by: java.net.ConnectException: Connection refused (Connection refused)
                    这种情况是连接失败,mysql服务没有启动,启动即可。
               2、Caused by: org.datanucleus.exceptions.NucleusException: The java type java.lang.Integer (jdbc-type="", sql-type="") cant be mapped for this datastore. No mapping is available.
                 错误与linux框的语言设置有关,在/etc/profile文件中添加如下一行:
                     export LANG=C  启动即可.
                3、Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BONECP" plugin to create a ConnectionPool gave an error : The specified datastore driver ("com.mysql.jdbc.Driver") was not found in the CLASSPATH. Please check your CLASSPATH specification, and the name of the driver
                这种错误属于缺少连接数据库的JAR包,下载:mysql-connector-java-5.1.44-bin.jar
                 下载地址:https://dev.mysql.com/downloads/connector/j/
                   把下载的jar包,放入/opt/hive-0.9.0-bin/lib 底下即可成功启动。
                 4、Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
                    出现这种错误是mysql密码错误,改成正确密码即可,(本机的mysql用户名和密码都是root)
                 5、如果出现没有权限的问题,进入数据库:
                    #(执行下面的语句  *.*:所有库下的所有表   %:任何IP地址或主机都可以连接)
                      GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
                      FLUSH PRIVILEGES;
                6、Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported i
                              出现原因:NameNode挂了,或者是两个NN都是standBy状态。
                              解决办法:重启namenode,让其恢复到正常状态。
                       其他的启动错误基本都很简单,查看报错基本都可解决,大家有什么不能解决的错误,提出来一起看一下,谢谢浏览。


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马