搭建大数据学习环境

个人学习使用

环境配置

虚拟机: centos7 minimal版本

jdk: java 8

apache软件下载

虚拟机:免密登录

搭建HADOOP

软件包: hadoop-2.7.7.tar.gz (apache版本)

hadoop配置:

tar -zvxf hadoop-2.7.7.tar.gz -C /usr/local/apps
vim /etc/profile
export HADOOP_HOME=/usr/local/apps/hadoop-2.7.7
export PATH=${HADOOP_HOME}/bin:$PATH 
source /etc/profile
cd /usr/local/apps/etc/hadoop 

vim hadoop-env.sh
# 指定JDK的安装位置
export JAVA_HOME=/usr/java/jdk1.8.0_201/

vim core-site.xml
<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop001:8020</value>
    </property>
    <property>
        <!--指定 hadoop 集群存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
</configuration>

vim hdfs-site.xml
<property>
      <!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔-->
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/namenode/data</value>
</property>
<property>
      <!--datanode 节点数据(即数据块)的存放位置-->
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/datanode/data</value>
</property>

vim yarn-site.xml
<configuration>
    <property>
        <!--配置 NodeManager 上运行的附属服务。需要配置成 mapreduce_shuffle 后才可以在 Yarn 上运行 MapReduce 程序。-->
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <!--resourcemanager 的主机名-->
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop001</value>
    </property>
    <property>
    <name>yarn.nodemanager.pmem-check-enabled</name>
    <value>false</value>
   </property>

    <property>
    <name>yarn.nodemanager.vmem-check-enabled</name>
    <value>false</value>
  </property>
</configuration>

vim mapred-site.xml
<configuration>
    <property>
        <!--指定 mapreduce 作业运行在 yarn 上-->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

vim slaves
hadoop001
hadoop002
hadoop003

# 将安装包分发到hadoop002
scp -r /usr/local/apps/hadoop-2.7.7  hadoop002:/usr/local/apps/hadoop-2.7.7
# 将安装包分发到hadoop003
scp -r /usr/local/apps/hadoop-2.7.7  hadoop003:/usr/local/apps/hadoop-2.7.7

hdfs namenode -format

start-dfs.sh

start-yarn.sh

最后可以访问50070端口访问web 

YARN配置参数学习:

(1)yarn.nodemanager.resource.memory-mb

表示该节点上YARN可使用的物理内存总量,默认是8192(MB),注意,如果你的节点内存资源不够8GB,则需要调减小这个值,而YARN不会智能的探测节点的物理内存总量。

(2)yarn.nodemanager.vmem-pmem-ratio

任务每使用1MB物理内存,最多可使用虚拟内存量,默认是2.1。

(3) yarn.nodemanager.pmem-check-enabled

是否启动一个线程检查每个任务正使用的物理内存量,如果任务超出分配值,则直接将其杀掉,默认是true。

(4) yarn.nodemanager.vmem-check-enabled

是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认是true。

(5)yarn.scheduler.minimum-allocation-mb

单个任务可申请的最少物理内存量,默认是1024(MB),如果一个任务申请的物理内存量少于该值,则该对应的值改为这个数。

(6)yarn.scheduler.maximum-allocation-mb

单个任务可申请的最多物理内存量,默认是8192(MB)。

搭建SPARK

软件包: spark-3.0.1-bin-hadoop2.7.tgz

tar -zxvf spark-3.0.1-bin-hadoop2.7.tgz -C /usr/local/apps
vim /etc/profile
export SPARK_HOME=/usr/local/apps/spark-3.0.1-bin-hadoop2.7
export PATH=${SPARK_HOME}/bin:$PATH
source /etc/profile
cd /usr/local/apps/spark-3.0.1-bin-hadoop2.7/conf
vim spark-env.sh
YARN_CONF_DIR=/usr/local/apps/hadoop-2.7.7/etc/hadoop
# JDK安装位置
JAVA_HOME=/usr/local/apps/jdk1.8.0_271/

搭建hive环境

软件包:mysql 5.7 apache-hive-2.3.7-bin.tar.gz

安装mysql

wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'
sudo rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-community-server
service mysqld start 
sudo grep 'temporary password' /var/log/mysqld.log
mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MysqlPasswd5!';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'MysqlPasswd5!' WITH GRANT OPTION;

增加hive用户

create user hiveuser identified by 'MysqlPasswd5!';

创建hive元数据库

create database hivemeta;

授权

mysql 5.7版本

GRANT ALL PRIVILEGES ON hivemeta.* TO 'hixveuser'@'%' IDENTIFIED BY 'MysqlPasswd5!' WITH GRANT OPTION;

mysql 8.0版本

GRANT ALL PRIVILEGES ON hivemeta.* TO 'hixveuser'@'%' WITH GRANT OPTION;

安装hive

tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local/apps
vim /etc/profile
export HIVE_HOME=/usr/local/apps/apache-hive-2.3.7-bin
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
cd /usr/local/apps/apache-hive-2.3.7-bin/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
HADOOP_HOME=/usr/local/apps/hadoop-2.7.7
vim hive-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://hadoop001:3306/hadoop_hive?createDatabaseIfNotExist=true</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
  
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
  </property>

</configuration>

下载mysql jar

初始化元数据

schematool -dbType mysql -initSchema

资料参考:

Last updated

Was this helpful?