使用yum源安装CDH Hadoop集群(9)

<property> <name>hive.server2.enable.impersonation</name> <value>true</value> </property>

并在 core-site.xml 中添加:

<property> <name>hadoop.proxyuser.hive.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hive.groups</name> <value>*</value> </property>

安装mysql

yum方式安装mysql以及jdbc驱动:

$ yum install mysql mysql-devel mysql-server mysql-libs -y $ yum install mysql-connector-java $ ln -s /usr/share/java/mysql-connector-java.jar /usr/lib/hive/lib/mysql-connector-java.jar

创建数据库和用户,并设置密码为hive:

$ mysql -e " CREATE DATABASE hive; USE hive; CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'localhost'; GRANT ALL PRIVILEGES ON metastore.* TO 'hive'@'cdh1'; FLUSH PRIVILEGES; "

如果是第一次安装,则初始化 hive 的元数据库:

$ /usr/lib/hive/bin/schematool --dbType mysql --initSchema

如果是更新,则执行:

$ /usr/lib/hive/bin/schematool --dbType mysql --upgradeSchema

配置开启启动并启动数据库:

$ chkconfig mysqld on $ service mysqld start

修改 hive-site.xml 文件中以下内容:

<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://cdh1:3306/hive?useUnicode=true&amp;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>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hive</value> </property>

配置hive

修改/etc/hadoop/conf/hadoop-env.sh,添加环境变量 HADOOP_MAPRED_HOME,如果不添加,则当你使用 yarn 运行 mapreduce 时候会出现 UNKOWN RPC TYPE 的异常

export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce

在 hdfs 中创建 hive 数据仓库目录:

hive 的数据仓库在 hdfs 中默认为 /user/hive/warehouse,建议修改其访问权限为 1777,以便其他所有用户都可以创建、访问表,但不能删除不属于他的表。

每一个查询 hive 的用户都必须有一个 hdfs 的 home 目录( /user 目录下,如 root 用户的为 /user/root)

hive 所在节点的 /tmp 必须是 world-writable 权限的。

创建目录并设置权限:

$ sudo -u hdfs hadoop fs -mkdir /user/hive $ sudo -u hdfs hadoop fs -chown hive /user/hive $ sudo -u hdfs hadoop fs -mkdir /user/hive/warehouse $ sudo -u hdfs hadoop fs -chmod 1777 /user/hive/warehouse $ sudo -u hdfs hadoop fs -chown hive /user/hive/warehouse

启动hive-server和metastore:

$ service hive-metastore start $ service hive-server start $ service hive-server2 start

测试

$ hive -e 'create table t(id int);' $ hive -e 'select * from t limit 2;' $ hive -e 'select id from t;'

访问beeline:

$ beeline beeline> !connect jdbc:hive2://localhost:10000 hive hive org.apache.hive.jdbc.HiveDriver

与hbase集成

先安装 hive-hbase:

$ yum install hive-hbase -y

如果你是使用的 cdh4,则需要在 hive shell 里执行以下命令添加 jar:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/db4a7121584d8905dd7ecca24b051cac.html