安装JDK
yum list | grep jdk #查看yum源 yum -y install java-1.8.0-openjdk* #安装jdk java -version #验证是否成功安装,安装路径一般在/usr/lib/jvm
安装Hadoop
下载地址:https://archive.apache.org/dist/hadoop/core/
tar -zxvf hadoop-2.9.2.tar.gz #解压 mv /usr/local/hadoop-2.9.2 /usr/local/hadoop #重命名
配置JDK和Hadoop的环境变量
vim /etc/profile # Add JDK export JAVA_HOME=/usr/lib/jvm/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar #Add Hadoop export HADOOP_HOME=.../hadoop #路径为hadoop的解压路径 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
并使环境变量生效source /etc/profile
配置Hadoop
在…/hadoop目录下新建文件夹tmpmkdir tmp,然后进入配置文件目录 cd .../hadoop/ect/hadoop,复制文件cp mapred-site.xml.template mapred-site.xml,然后进行以下修改
#修改Hadoop启动所需的jdk环境目录 vim hadoop-env.sh #修改内容为 export JAVA_HOME=/usr/lib/jvm/java vim core-site.xml #修改内容如下vim hdfs-site.xml #修改内容如下 fs.defaultFS hdfs://VM-20-12-centos:9005 hadoop.tmp.dir /..../hadoop/tmp vim mapred-site.xml #修改内容如下 dfs.replication 1 dfs.client.use.datanode.hostname true dfs.datanode.use.datanode.hostname true dfs.permissions false vim yarn-site.xml #修改内容如下 mapreduce.framework.name yarn vim slaves #配置主从节点,因为是伪分布式,只需要配置当前主机名 VM-20-12-centos yarn.resourcemanager.hostname VM-20-12-centos yarn.nodemanager.aux-services mapreduce_shuffle
格式化namenode存储路径
hadoop namenode -format
启动Hadoop
start-all.sh #启动 jps #查看节点,正常除了jps有5个 stop-all.sh #关闭
安装Hive
下载地址:https://archive.apache.org/dist/hive/
tar -zxvf apache-hive-2.3.7-bin.tar.gz #解压 mv apache-hive-2.1.1-bin hive #修改名称
配置环境变量
vim /etc/profile export HIVE_HOME=.../hive #路径为hive的解压路径 export PATH=$PATH:$HIVE_HOME/bin source /etc.profile #使环境变量生效 hive --version #检查是否安装成功
配置hive
cd .../hive/conf cp hive-default.xml.template hive-site.xml vim hive-site.xmljavax.jdo.option.ConnectionUserName #账号root javax.jdo.option.ConnectionPassword #密码****** javax.jdo.option.ConnectionURL #IPjdbc:mysql://localhost:3306/hive javax.jdo.option.ConnectionDriverName #驱动名称,由com.mysql.jdbc.Driver改为com.mysql.cj.jdbc.Drivercom.mysql.cj.jdbc.Driver
删除原有配置
下载并复制mysql的驱动程序到hive/lib下面
下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/
cp -p mysql-connector-java-8.0.27.jar .../hive/lib
Hive初始化并执行
schematool -dbType mysql -initSchema 初始化 hive #启动hadoop后执行
在过程中可能遇到的问题
问题1:hadoop依赖的jar包和hive依赖的jar包冲突
问题描述:SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/app/Hive/hive/lib/log4j-slf4j-impl-2.6.2.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
/app/Hive/hive/lib/log4j-slf4j-impl-2.6.2.jar
SLF4J: Found binding in [jar:file:/app/hadoop/hadoop/share/hadoop/common/lib/slf
4j-log4j12-1.7.25.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
/app/hadoop/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar
解决方法:删除其中一个jar包
问题2:metastore元数据库初始化失败
问题描述:java.io.IOException: Schema script failed, errorcode 2
解决方法:1、查看hive-site.xml原有旧配置是否已更新或已删除
2、查看Hadoop配置目录下是否也存在hive-site.xml,若有则进行替换
问题3:路径有误
问题描述:java.net.URISyntaxException: Relative path in absolute URI: KaTeX parse error: Expected '}', got 'EOF' at end of input: …a.io.tmpdir%7D/%7Bsystem:user.name%7D
解决方法:
编辑配置hive文件hive-site.xml#如下命令将"${system:Java.io.tmpdir}“字段全部替换成”/hive/tmp"
sed -i 's#${system:Java.io.tmpdir}#/hive/tmp#g' hive-site.xml
问题4:配置文件中驱动名称有误
com.mysql.jdbc.Driver驱动是mysql-connector-java 5中的
com.mysql.cj.jdbc.Driver驱动是mysql-connector-java 6以上版本的
解决方法:根据jdbc 版本进行相应的修改
参考文章
https://blog.csdn.net/weixin_43861175/article/details/90372513
https://blog.csdn.net/mayunyun1987100/article/details/51154056
https://blog.csdn.net/weixin_39839162/article/details/114871504
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)