Hadoop+Hive三节点集群环境搭建

更改主机名

更改hosts文件

vi /etc/hosts

在后面添加ip地址和主机名的映射

在这里插入图片描述

配置多台服务器间的免密登录

可以参考:https://blog.csdn.net/u010698107/article/details/119079821

Hadoop配置

1.下载安装

Hadoop官网:[http://hadoop.apache.org]
(http://hadoop.apache.org)

新建目录
/opt/hadoop

将下载的压缩包解压到 /opt/hadoop

重命名文件名

cd /opt/hadoop
mv hadoop-3.3.1 hadoop

更改配置文件

进入安装目录

cd /opt/hadoop/hadoop/etc/hadoop

修改 core-site.xml 文件

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <!-- 此处改为主节点的主机名-->
        <value>hdfs://centosAI1:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoopdata</value>
    </property>
</configuration>

修改 hdfs-site.xml 文件

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

修改 yarn-site.xml 文件

<configuration>
<!-- 注意修改主机名 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>centosAI1:18040</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>centosAI1:18030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>centosAI1:18025</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>centosAI1:18141</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>centosAI1:18088</value>
    </property>
</configuration>

修改 mapred-site.xml 文件

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

配置workers文件
vi /opt/hadoop/hadoop/etc/hadoop/workers
加入主机名称,如果文件中有localhost这行信息,直接删除掉

centosAI1
centosAI2
centosAI3

配置系统环境变量,三台机器都需配置

vim ~/.bash_profile

添加内容,路径为自己安装的目录

# hadoop
export HADOOP_HOME=/opt/hadoop/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

修改环境变量以后使之生效

source ~/.bash_profile

输入

vim /etc/profile

添加以下内容:

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

使生效:

source /etc/profile

创建数据存放目录

mkdir /opt/hadoop/hadoopdata

格式化文件系统

hadoop namenode -format

将配置文件复制到workers节点上

scp -r /opt/hadoop root@centosAI2:/opt
scp -r /opt/hadoop root@centosAI3:/opt

将hadoop-env.sh中java路径更改为自己的

输入:echo $JAVA_HOME
查看JAVA_HOME
在这里插入图片描述
在hadoop的配置目录etc/hadoop中(我的是/opt/hadoop/hadoop/etc/hadoop/)修改hadoop-env.sh,
把JAVA_HOME换成正确的目录,三台服务器都需修改

export JAVA_HOME=/usr/local/java/jdk1.8.0_333

命令行输入start-all.sh启动集群

start-all.sh

三台服务器上查看是否启动成功
输入 jps
主节点上应包含
DataNode
NameNode
SecondaryNameNode
NodeManager

从节点上应包含
DataNode
NodeManager

Hive 安装配置

首先需安装mysql

下载并解压hive压缩包
可以从官网下载:
https://mirrors.cnnic.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz
也可以用wget命令下载:

wget https://mirrors.cnnic.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

解压并更改文件名:

sudo tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /usr/local
cd /usr/local
sudo mv apache-hive-3.1.2-bin hive

把hive命令加入到环境变量中去

vim ~/.bashrc

加入:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/opt/hadoop/hadoop

其中HADOOP_HOME需要被配置成你机器上Hadoop的安装路径

运行如下命令使配置立即生效:

source ~/.bashrc

修改配置文件

cd /usr/local/hive/conf
mv hive-default.xml.template hive-default.xml

使用vim编辑器新建一个配置文件hive-site.xml:

cd /usr/local/hive/conf
vim hive-site.xml

在hive-site.xml中添加如下配置信息:

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>123456</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

其中 hive 和 123456 应与接下来在mysql中创建的用户名和密码相同

将mysql-connector-java的jar包拷贝到/usr/local/hive/lib目录下,我用的是
mysql-connector-java-8.0.29.jar

登录mysql:
新建hive数据库,与以上配置文件hive-site.xml中数据库名称对应。

create database hive;

创建hive用户,用户名密码与以上配置文件hive-site.xml中对应

create user 'hive'@'localhost' identified by '123456';

对hive用户赋予权限:

grant all on *.* to 'hive'@'localhost'

刷新权限:

flush privileges;

退出mysql
初始化mysql数据库:

schematool -dbType mysql -initSchema

此时可以此时hive
命令行输入hive

hive

查看数据库:

show databases;

在这里插入图片描述
也可测试创建数据库及其他操作。
若出错可关闭hadoop安全模式后再进行测试。

至此已全部安装完成。

其他问题:
在hive中插入数据时卡死,插入不成功。
解决:可能是主机名的问题
在这里插入图片描述
此处显示应为自己配置的主机名,如不是,可使用

Hostname 你的主机名

修改。此问题只有部分服务器会出现。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值