1.检查集群
该部分的安装需要在 Hadoop 已经成功安装的基础上,并丏要求 Hadoop 已经正常启劢。 Hadoop 正常启劢的验证过程如下:
(1) 使用下面的命令,看可否正常显示 HDFS 上的目录列表
[zoe@master ~]$ hdfs dfs -ls /
(2) 使用浏览器查看相应界面
http://master:50070
http://master:18088
该页面的结果跟 Hadoop 安装部分浏览器展示结果一致。如果满足上面的两个条件,表示 Hadoop 正常启劢。
我们将 Hive 安装在 HadoopMaster 节点上。所以下面的所有操作都在 HadoopMaster 节点上迚行。
下面所有的操作都使用 zoe 用户,切换 zoe 用户的命令是:
su - zoe / su
密码是:******
2.解压并安装 Hive
链接: https://pan.baidu.com/s/1i4Lf3jn 密码: 1d8s
使用下面的命令,解压已经下载好并放到集群上的 Hive 安装包(apache-hive-0.13.1-bin.tar.gz):
[zoe@master ~]$ tar -zxvf ~/apache-hive-0.13.1-bin.tar.gz
[zoe@master ~]$ cd apache-hive-0.13.1-bin
执行一下 ls -l 命令会看到下面的图片所示内容,这些内容是 Hive 包含的文件:
3.安装配置 MySQL
链接: https://pan.baidu.com/s/1qXPAUWO 密码: z8ec
(见:https://my.oschina.net/u/2977387/blog/891797 这里我就不重复讲了)
4.配置 Hive
进入 hive 安装目录下的配置目录,然后修改配置文件:
[zoe@master ~]$ cd /home/zoe/apache-hive-0.13.1-bin/conf
然后再该目录下创建一个新文件 hive-site.xml,命令如下:
[zoe@master conf]$ gedit ~/apache-hive-0.13.1-bin/conf/
将下面的内容添加到 hive-site.xml 文件中:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive_13?characterEncoding=UTF-8</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hadoop</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hadoop</value>
</property>
</configuration>
『mysql-connector-java-5.1.27.tar』链接: https://pan.baidu.com/s/1qYRne0k 密码: spbp
将 mysql 的 java connector 复制到依赖库中:
[zoe@master ~]$ cd ~/software/
[zoe@master software]$ tar -zxvf ~/software/mysql-connector-java-5.1.27.tar/
[zoe@master software]$ cp ~/software/mysql-connector-java-5.1.27/mysql-connector-java-5.1.27-bin.jar ~/apache-hive-0.13.1-bin/lib/
使用下面的命令打开配置:
[zoe@master ~]$ vi ~/.bash_profile
将下面两行配置环境变量:
export HIVE_HOM E=$PWD/apache-hive-0.13.1-bin
export PATH=$PATH:$HIVE_HOME/bin
5.启动并验证 Hive 安装
进入 hive 安装主目录,启劢 hive 客户端:
[zoe@master apache-0.13.1-bin]$ bin/hive
出现下面的页面表示 hive 部署成功:
6.使用
7.异常
7.1出现异常”The last packet sent successfully to the server was 0 milliseconds ago.“
【两种解决异常:“The last packet sent successfully to the server was 0 milliseconds ago. ”的办法】
原因:(大部分)由于数据库回收了连接,而系统的缓冲池不知道,继续使用被回收的连接所致的。
【The last packet sent successfully to the server was 0 milliseconds ago.[nutch---mysql ]】
对于JDBC操作:
原因:
(1)大量数据访问情况下,mysql connection连接有可能失效
(2)长时间不妨问,connection会失效
解决:
(1)使用JDBC URL中使用autoReconnect属性,url添加
- &autoReconnect=true&failOverReadOnly=false&maxReconnects=10
(2) 修改MySQL的参数. /etc/my.cnf 添加
- [mysqld]
- wait_timeout=31536000
- interactive_timeout=31536000
(3)重启mysql
- service mysql restart
7.2以root身份重启mysql服务是出现异常--找不到PID file
[root@master hadoop]# service mysql restart
MySQL server PID file could not be found! [失败]
Starting MySQL..../usr/bin/mysqld_safe: line 181: 3832 Killed nohup /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mysql/plugin --user=mysql --log-error=/var/lib/mysql/master.err --pid-file=/var/lib/mysql/master.pid < /dev/null > /dev/null 2>&1
.The server quit without updating PID file (/var/lib/mysql/[失败].pid).
[root@master my.cnf.d]# service mysql restart
MySQL server PID file could not be found! [失败]
Starting MySQL.....The server quit without updating PID fil[失败]r/lib/mysql/master.pid).
查看mysql服务状态:
[root@master hadoop]# service mysql status
MySQL is not running, but lock file (/var/lock/subsys/mysql[失败]ts
my.cnf丢失,所以要将my.cnf从/usr/my.cnf重新拷贝到/etc/。解决!!