• Hadoop之Hive 安装_在hadoop 伪分布上


    1.  Hive mysql的metastore安装准备

    把hive-0.12.0.tar.gz解压到/zzy/

    # tar -zxvf hive-0.12.0.tar.gz -C /zzy    (-C 指定解包后的路径)

    修改/etc/profile文件,将hive加入环境变量

    # vim /etc/profile

    export JAVA_HOME=/usr/java/jdk1.7.0_79

    export HADOOP_HOME=/itcast/hadoop-2.4.1

    export HIVE_HOME=/itcast/hive-0.12.0

    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

    Source 一下,让配置生效

    # source /etc/profile

    安装完毕!

    提示:metastore是hive元数据的集中存放地。metastore默认使用内嵌的derby数据库作为存储引擎。Derby引擎的缺点:一次只能打开一个会话,使用Mysql作为外置存储引擎,多用户同时访问。

    2. 安装mysql数据库

    (注意:没网络,可以配置好本地yum源 请参考本博客 Hadoop 之配置本地yum 源)

    # yum -y install mysql-server

    启动mysql数据库

    # service mysqld start

    初始化mysql数据库(默认root的密码为空,按提示一步步完成)

    # /usr/bin/mysql_secure_installation

    将mysql加入开机启动

    # chkconfig mysqld on

    允许远程登录mysql

    首先登录mysql数据,然后执行下面两行语句: (登陆mysql:mysql –u用户名 –p密码)

              a. GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY zzy WITH GRANT OPTION;

              b.flush privileges; (mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,

                   还有一种方法,就是重新启动 mysql服务器,来使新设置生效。­)

    修改$HIVE_HOME/bin的hive-config.sh,增加以下三行

    export JAVA_HOME=/usr/java/jdk1.7.0_79

    export HIVE_HOME=/itcast/hive-0.12.0

    export HADOOP_HOME=/itcast/hadoop-2.4.1

    3. 配置MySQL的metastore

    a.上传数据库驱动mysql-connector-java-5.1.28.jar到/zzy/hive-0.12.0/lib

    b.修改$HIVE_HOME/conf/hive-site.xml

    # vim /zzy/hive-0.12.0/conf/hive-site.xml (cp hive-default.xml.template hive-site.xml)

    <configuration>

    <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

    </property>

    <property>

    <name>javax.jdo.option.ConnectionDriverName</name>

    <value>com.mysql.jdbc.Driver</value>

    </property>

    <property>

    <name>javax.jdo.option.ConnectionUserName</name>

    <value>root</value>

    </property>

    <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>lg</value>

    </property>

    </configuration>

    配置完毕!

    4. 测试配置是否正确

    启动hive    (输入 #hive --service cli 启动)

    # hive

    创建数据库

    hive> create database test_db;

    显示所有数据库

    show databases;

    使用数据库test_db

    hive> use test_db;

    创建学生表

    hive> create table student(id int,name string);

    查看是否在HDFS中存有下面文件夹

    http://19.168.0.140:50070/explorer.html#/user/hive/warehouse/test_db.db/student

    ---------------------------------------bug----------------------------------------

    1.  service mysqld start

    Another MySQL daemon already running with the same unix socketservice mysqld stop

    mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak

    service mysqld start

    2. hive> create database test_db;

    FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

    3. 用客户端sqlyog 链接数据库的时候报错

    1045 access denied for user 'root'@'localhost' using password yes

    image

    解决方案:如下

    # /etc/init.d/mysql stop
    # mysqld_safe --user=mysql --skip-grant-tables --skip-networking &
    # mysql -u root mysql
    mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’;
    mysql> FLUSH PRIVILEGES;
    mysql> quit
    # /etc/init.d/mysql restart
    # mysql -uroot -p
    Enter password: <输入新设的密码newpassword>
    mysql>

    岁月里,寒暑交替。人世间,北来南往。铭心的,云烟的。都付往事,不念,不问。
  • 相关阅读:
    C#中ToString格式大全
    mysql事务
    Mac eclipse 启动卡住
    Mac 安装zkdash
    Mac 安装SecureCRT
    java多线程、并发系列之 (synchronized)同步与加锁机制
    jvm 年轻代
    查看日志技巧
    which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    tomcat限制内存
  • 原文地址:https://www.cnblogs.com/chaoren399/p/2854341.html
Copyright © 2020-2023  润新知