centos安装单机Hadoop、Hive

1、从华为云申请一个ECS

2、配置yum源为华为镜像源,配置方式参考http://cmc-cd-mirror.rnd.huawei.com/mirror,在操作系统类中找到CentOS,点击“我要使用”,参考弹出的help信息配置ECS的yum源。

3、使用java -version检查java是否安装,若没有,则参考https://segmentfault.com/a/1190000015389941安装java,并参考以下脚本配置以下两个环境变量:

#具体的目录取值,请以具体情况为准
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
export PATH=$PATH:$JAVA_HOME/bin

使用java -version检查java是否安装成功。

4、安装hadoop,从官网下载hadoop压缩包,此处使用hadoop-2.7.7.tar.gz版本,解压后并配置环境变量

#解压hadoop到当前目录
tar xzf hadoop-2.7.7.tar.gz
#配置环境变量
export HADOOP_HOME=/home/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使用hadoop version检查hadoop是否安装成功

5、配置

默认即为独立(本地)模式,无需修改配置,若要使用“伪分布式”或者“全分布式”,请参考《Hadoop权威指南》附录A中A.3的配置。

测试:可以使用Hadoop自带的wordCount测试Hadoop的可用性

具体请参考《Hive权威指南》2.2.4 测试Hadoop 章节,我所使用的2.7.7版本,examples.jar包是hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar,其他命令一样,注意结果输出目录需要是一个不存在的目录。

6、安装Hive

从官网下载apache-hive-2.3.5-bin.tar.gz,并解压到当前目录,然后添加环境变量

#解压hive到当前目录
tar xzf apache-hive-2.3.5-bin.tar.gz
#配置环境变量
export HIVE_HOME=/home/apache-hive-2.3.5-bin
export PATH=$PATH:$HIVE_HOME/bin

修改Hive配置文件

单机版(仅有一个用户访问)的hive可以不用安装MySql,在修改hive默认配置时,需要在conf/hive-site.xml中修改,hive-site.xml通过hive-default.xml.template复制生成

cp hive-default.xml.template hive-site.xml

(1)启动hive,报错

Exception in thread "main" java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D

修改:将hive-site.xml配置文件中的${system:java.io.tmpdir}改为自定义路径

(2)再次启动hive,执行 SHOW TABLES; 报错:

hive> show tables;
FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

修改:将hive-site.xml配置文件中的hive.metastore.schema.verification属性改为false

  <property>

    <name>hive.metastore.schema.verification</name>

    <value>false</value>
  </property>

(3)再次启动hive

执行 SHOW TABLES; 报错

FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

修改:将hive-site.xml配置文件中的datanucleus.schema.autoCreateAll属性改为true。

(4)再次启动hive

执行 SHOW TABLES; 报错

修改:将配置文件中${system:user.name}删除

(5)再次启动hive

7、说明:

  • 以上修改环境变量只是临时生效,若要永久生效,则需要把export语句写入到/etc/profile中。
  • 若启动过程中遇到其他错误,谷歌搜索错误码基本能找到答案。
发布了16 篇原创文章 · 获赞 0 · 访问量 816

猜你喜欢

转载自blog.csdn.net/shengruxiahua2571/article/details/100120703
今日推荐