搭建大数据学习环境
个人学习使用
环境配置
虚拟机: centos7 minimal版本
jdk: java 8
虚拟机:免密登录
搭建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>
初始化元数据
schematool -dbType mysql -initSchema
资料参考:
Last updated
Was this helpful?