Linux上安装hadoop和hive

一.下载安装包

1.Hadoop包

http://archive.apache.org/dist/hadoop/common/hadoop-2.6.5/

2.Hive包

https://mirrors.bfsu.edu.cn/apache/hive/hive-2.3.9/

3.Hive的MySQL驱动

https://dev.mysql.com/downloads/file/?id=476197

4.安装java

安装java:yum install java-1.8.0-openjdk.x86_64
配置java_home环境变量

二.安装Hadoop

1.解压包hadoop-2.6.5.tar.gz

命令:tar zxvf hadoop-2.6.5.tar.gz

2.剪切至/usr/local目录下

命令:mv hadoop-2.6.5 /usr/local/hadoop

3.配置文件

需要配置的文件如下:core-site.xml,hdfs-site.xml,所有的文件均位于/usr/local/hadoop/etc/hadoop下面,具体需要的配置如下:

3.1. 配置core-site.xml

<configuration>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>file:/home/hadoop/hadoop/tmp</value>
	</property>
	<property>
	<name>fs.defaultFS</name>
		<value>hdfs://localhost:9000</value>
	</property>
</configuration>

其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。

3.2. 配置hdfs-site.xml

<configuration>
	<property>
		<name>dfs.replication</name>
		<value>1</value>
	</property>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>file:/home/hadoop/hadoop/tmp/dfs/name</value>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>file:/home/hadoop/hadoop/tmp/dfs/data</value>
	</property>
</configuration>

其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。

4. 配置环境变量

4.1. 配置hadoop

命令:vim ~/.bashrc
追加:

HADOOP_HOME=/usr/local/hadoop
PATH=$HADOOP_HOME/bin:$PATH:.
PATH=$HADOOP_HOME/sbin:$PATH:.
export HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH

4.2. 重启

命令:source ~/.bashrc

5. 初始化数据

路径:/usr/local/hadoop

5.1. 初始化HDFS系统

命令:bin/hdfs namenode -format
命令执行展示图

5.2. 开启NameNode和DataNode守护进程

命令:sbin/start-dfs.sh
Linux上安装hadoop和hive_第1张图片

中间有需要输入机器密码的地方。

5.3. 启动纱线脚本

命令:sbin/start-yarn.sh
在这里插入图片描述

5.4. 查看进程

命令:jps
在这里插入图片描述

6. 测试

6.1 运行hadoop version

在这里插入图片描述

6.2在浏览器输入:http://localhost:50070

Linux上安装hadoop和hive_第2张图片

6.3 验证集群的所有应用程序

在网页输入:http://localhost:8088/
Linux上安装hadoop和hive_第3张图片

7. 安装过程中出现问题

7.1. JAVA_HOME找不到

原因:没有安装java

7.2. jps命令找不到

需要安装java开发环境
命令:yum install java-1.8.0-openjdk-devel.x86_64

三.安装Hive

1.解压缩包apache-hive-2.3.9-bin.tar.gz

命令: tar zxvf apache-hive-2.3.9-bin.tar.gz

2.剪切至/usr/local目录下

命令:mv apache-hive-2.3.9-bin /usr/local/hive

3.配置文件

路径: /usr/local/hive/conf

3.1配置hive-site.xml

3.1.1生成hive-site.xml

命令:cp hive-default.xml.template hive-site.xml

3.1.2生成必要目录并赋予权限

命令:$HADOOP_HOME/bin/hadoop fs -mkdir -p /usr/hive/warehouse
命令:$HADOOP_HOME/bin/hadoop fs -chmod 777 /usr/hive/warehouse
命令:$HADOOP_HOME/bin/hadoop fs -mkdir -p /tmp/hive
命令:$HADOOP_HOME/bin/hadoop fs -chmod 777 /tmp/hive

检测是否创建成功:
命令:$HADOOP_HOME/bin/hadoop fs -ls /usr/hive/
在这里插入图片描述
命令:$HADOOP_HOME/bin/hadoop fs -ls /tmp/
在这里插入图片描述

3.1.3修改hive-site.xml

<!--执行Hive操作访问HDFS时用于存储临时数据的目录,默认为/tmp/目录,通常设置为/tmp/hive/,目录权限设置为733-->
<configuration>
	<property>
		<name>hive.exec.scratchdir</name>
		<value>/tmp/hive</value>
	</property>
<!--执行Hive数据仓库操作的数据存储目录,设置为HDFS存储路径      hdfs://master_hostname:port/usr/hive/warehouse,即自己配置hadoop/core-site.xml的fs.defaultFS参数位置,其中master_hostname可以是主节点主机名Hadoop01,也可以是主节点IP地址;port是端口号-->
	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>/usr/hive/warehouse</value>
	</property>
<!--设置Hive通过JDBC模式连接MySQL数据库metastore内容,端口改为你自己的端口,这个hiveDB数据库与在mysql数据库创建的hiveDB数据库对应,用来保存hive元数据-->
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://127.0.0.1:3306/hivedb?createDatabaseIfNotExist=true</value>
	</property>
<!--设置Hive连接MySQL的驱动名称,最新版本连接MySQL的jar包 所有写com.mysql.cj.jdbc.Driver,如果是旧版本用com.mysql.jdbc.Driver-->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
<!--Hive连接存储metastore内容的数据库的用户名,填自己的用户-->
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>root</value>
	</property>
<!--Hive连接存储metastore内容的数据库的密码,填自己的密码-->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>123456</value>
	</property>
<!--是否允许Hive与MySQL之间存在多条连接-->
	<property>
		<name>javax.jdo.option.Multithreaded</name>
		<value>true</value>
	</property>
	<property>
		<name>hive.metastore.schema.verification</name>
		<value>false</value>
	</property>
	<property>
		<name>datanucleus.schema.autoCreateAll</name>
		<value>true</value>
	</property>
</configuration>

3.2. 配置hive-env.sh

在文本最后追加以下内容:

export HADOOP_HOME=/usr/local/hadoop
export HIVE_CONF_DIR=/usr/local/hive/conf
export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

3.3. 配置mysql驱动

3.3.1. 解压驱动包

命令: tar zxvf mysql-connector-java-5.1.46.tar.gz

3.3.2. 移动驱动包

命令:mv mysql-connector-java-5.1.46/mysql-connector-java-5.1.46.jar /usr/local/hive/lib/

4.配置环境变量

4.1配置hive

命令: vi ~/.bashrc
追加内容:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.

4.2重启

命令:source ~/.bashrc

5.启动hive

命令:hive --service metastore &
在这里插入图片描述

6.测试

命令:./usr/local/hive/bin/hive
Linux上安装hadoop和hive_第4张图片

结束

你可能感兴趣的:(linux,linux,hive,hadoop)