我正在尝试将hive-site.xml配置为在EMR上在本地MySQL之外的MySQL。如何修改现有的集群配置以从hive-site.xml添加S3?
发布于 2015-09-21 16:20:04
我不知道您所说的“从S3添加hive-site.xml”是什么意思。如果您只是想将文件从S3中取出并放到您的conf目录中,那么您可以在登录到集群时使用aws完成这一操作,
aws s3 cp s3://path/to/hive-site.xml ~/conf关于将现有EMR集群的Hive MetaStore迁移到像RDS这样的外部服务的更详细说明,请参见下面
--
建立一个现有的EMR集群来查看外部MySQL数据库非常容易。首先,您需要转储在主节点上运行的MySQL数据库,以保存现有的模式信息。假设您有大量的临时存储并且您的数据库套接字位于/var/lib/mysql/mysql.sock
mysqldump -S /var/lig/mysql/mysql.sock hive > /media/ephemeral0/backup.sql然后,您需要将其导入到外部MySQL实例中。如果是在RDS中,那么首先需要创建hive数据库,然后将数据导入其中:
mysql -h rds_host -P 3306 -u rds_master_user -prds_password mysql -e "create database hive"和,
mysql -h rds_host -P 3306 -u rds_master_user -prds_password hive < /media/ephemeral0/backup.sql接下来,您需要创建一个用户,以供hive使用。登录到外部MySQL实例并执行以下语句(使用更好的用户名和密码):
grant all privileges on hive.* to 'some_hive_user'@'%' identified by 'some_password'; flush privileges;最后,创建/对hive-site.xml进行与您引用的文档中概述的相同的更改(填写正确的主机、用户和密码信息)并重新启动MetaStore。若要重新启动MetaStore,请关闭已经运行的MetaStore进程并启动一个新进程。
ps aux | grep MetaStore
kill pid
hive --service metastore&发布于 2017-01-06 02:07:05
如果您使用的是EMR 3.x,则只需在提供的链接中使用该方法(使用引导操作)。
如果您在ERM 4.x+中,则该引导操作不可用。你可以
EMR --configuration添加带有xxx.json文件的自定义属性。好处是直接的。con是您添加的所有配置属性,这种方式在aws web console上是不理想的,如果您在那里拥有亚稳态数据库凭据,因为您使用的是外部亚稳态。Step的hive.xml之后添加一个sudo reload hive-server2,然后再添加一个Step来执行sudo reload hive-server2以重新启动hive服务器以获得新的配置。https://stackoverflow.com/questions/28931317
复制相似问题