hive1.2.2+mysql5.6.41+hadoop2.6.1安装过程(以及中途遇到的各种坑)

                            hive1.2.2+mysql5.6.41+hadoop2.6.1安装过程


一.安装MySQL

   1.下载mysql的repo源

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

  2.安装mysql-community-release-el7-5.noarch.rpm包

 rpm -ivh mysql-community-release-el7-5.noarch.rpm

3.安装MySQL

yum install mysql-server mysql

4.设置密码(刚安装后出事后的密码设置,我设置的密码是111111)

--启动服务
service mysqld start
--初始化账号
mysqladmin -uroot password '111111'

5.然后用密码登陆

mysql -uroot -p(你设置的密码)
--进来之后  1.第一查看用户表
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select host,user,password from user;
+-------------+------+-------------------------------------------+
| host        | user | password                                  |
+-------------+------+-------------------------------------------+
| localhost   | root | *FD571203974BA9AFE270FE62151AE967ECA5E0AA |
| masterh     | root |  |
| 127.0.0.1   | root |                                           |
| ::1         | root |                                           |
| localhost   |      |                                           |
| masterh     |      |                                           |
| %           | root |                                           |
| %           | hive | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| localhost   | hive |                                           |
| mysqlserver | hive |                                           |
+-------------+------+-------------------------------------------+
10 rows in set (0.00 sec)
--通过查看用户表,以上的用户。我的本地的IP对应的主机名称是masterh,我们可以发现这里并没有显示该账号的密码。所以会导致在后续的hive配置中会出现错误,对应的会在后面说。所以下一步我们就是修改密码
--2.修改本地IP所有对应账号的密码
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
--执行SQL语句,利用update语句以及内置password函数(会将密码加密)
mysql>update user set password=password('111111') where host='masterh' and      user='root';
--在此处我们还可以做一个操作,允许远程客户端可以连接访问(我用的是navicat)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '111111' WITH GRANT OPTION;
mysql>exit;

通过以上的方法,可以将本地IP对应的root账号的密码进行了设置。然后我们通过登录查看是否设置成功

首先重启mysql的服务:service mysqld stop 

                                           service mysqld start

mysql -h masterh -u root -p 111111

如果设置成功就可以正常登录(以上密码的修改也是我遇到,花了很长时间通过各种百度,实验得以解决)


二.安装hive

1.下载http://www.eu.apache.org/dist/hive/stable/apache-hive-1.2.2-bin.tar.gz 并进行解压

2.修改配置文件

在conf目录:
cp hive-default.xml.template hive-site.xml
生成hive-site.xml文件之后:

  

  <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://masterh: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>111111</value>
        <description>password to use against metastore database</description>
    </property>



---------------------注意----------------------------------------
由于我本机配置hadoop的时候      本机名称(masterh)直接对应的时本机的IP地址。所以这里用了masterh
(容易入坑的地方)


追加到文件中

(总共需要修改4处内容)

然后,把${system:java.io.tmpdir}全部替换/hive
            把${system:user.name}全部替换root(这里用到一个在vim打开的情况下查找词的过程    esc 然后  /{system:user.name})

3.修改环境变量


接下来,进入bin目录(/usr/local/src/apache-hive-1.2.2-bin/bin)

修改hive-config.sh
把一下内容追加进文件:
export JAVA_HOME=/usr/local/src/jdk1.7.0_45
export HADOOP_HOME=/usr/local/src/hadoop-2.6.1
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin

最后:修改~/.bashrc
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
并且把$HIVE_HOME/bin追加到PATH环境变量中

这里修改成自己对应的路径
执行一下bash生效


4.下载mysql驱动:
https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
文件:mysql-connector-java-5.1.46.tar.gz
把解压出来的mysql-connector-java-5.1.46-bin.jar文件复制到/usr/local/src/apache-hive-1.2.2-bin/lib

至此我们所有的配置安装工作都做好了


三.我所遇到的启动过程中的问题

1.

[ERROR] Terminal initialization failed; falling back to unsupported
  java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
      at jline.TerminalFactory.create(TerminalFactory.java:101)
      at jline.TerminalFactory.get(TerminalFactory.java:158)
  Exception in thread "main" java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
      at jline.console.ConsoleReader.<init>(ConsoleReader.java:230)
      at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)

解决方法:

将当前hive版本的$HIVE_HOME/lib目录下的jline-2.12.jar包拷贝到 
$HADOOP_HOME/share/hadoop/yarn/lib目录下,        
并将旧版本的Hive的Jline包从$HADOOP_HOME/etc/hadoop/yarn/lib目录下删除

2.

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
        at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
        at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

解决方案: 1.检查mysql 服务是否打开,service mysqld start

                    2.问题是没有连接上mysql .利用在hive-site.xml 的主机名称,账号,密码登陆看是否能登入mysql 

3.注意启动的时候打开hadoop服务

4.最后启动hive我们连接MySQL可以看到下图,说明成功了:

以上就是在启动阶段我所遇到一些问题以及我个人的配置流程(如果错误欢迎指正)

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值