Hadoop+Hive安装配置

在此之前,接触了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,让其恢复到正常状态。

其他的启动错误基本都很简单,查看报错基本都可解决,大家有什么不能解决的错误,提出来一起看一下,谢谢浏览。





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值