1. Zookeeper环境安装
链接:https://pan.baidu.com/s/1wzbCiDxP7H5G_llwjSS3Rw?pwd=wgal
提取码:wgal
1.1 上传tar包
zookeeper-3.4.6.tar
注意:上传文件位置为 /export/server目录
1.2 解压缩
cd /export/server
tar xvf /export/server/zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
1.3 添加环境变量
echo 'export ZOOKEEPER_HOME=/export/server/zookeeper' >> /etc/profile
echo 'export PATH=$PATH:$ZOOKEEPER_HOME/bin' >> /etc/profile
# 刷新环境变量
source /etc/profile
1.4 创建数据目录
mkdir -p /export/data/zkdata
echo 1 > /export/data/zkdata/myid
# 注意:!!!!!!!!!
# 注意:!!!!!!!!!
# 注意:!!!!!!!!!
# 搭建集群时,还需要在创建完node2虚拟机上执行
echo 2 > /export/data/zkdata/myid
# 搭建集群时,还需要在创建完node3虚拟机上执行
echo 3 > /export/data/zkdata/myid
1.5 修改配置文件
# 将环境变量重命名为zoo.cfg
mv /export/server/zookeeper/conf/zoo_sample.cfg /export/server/zookeeper/conf/zoo.cfg
# 替换其中的内容
sed -i "s#^dataDir.*#dataDir=/export/data/zkdata#" /export/server/zookeeper/conf/zoo.cfg
# 将host和port信息写入配置文件中
echo 'server.1=192.168.88.161:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg
echo 'server.2=192.168.88.162:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg
echo 'server.3=192.168.88.163:2888:3888' >> /export/server/zookeeper/conf/zoo.cfg
1.6 Zookeeper服务启动停止
# 启动
zkServer.sh start
# 停止
zkServer.sh stop
# 查看状态
zkServer.sh status
## 注意启动时需要三台机器都执行启动服务
1.7 查看运行的java服务
jps
正常启动会有: QuorumPeerMain 服务
1.8 集群搭建说明
在node1的机器上配置完成后,需要将node1中的zookeeper目录复制到node2和node3的对应目录下,同时需要将基础环境配置步骤在node2和node3上重新执行一遍
可以使用分发脚本进行数据分发,分发脚本编写和使用规则参考另一篇文章
https://blog.csdn.net/m0_49620121/article/details/135432995?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22135432995%22%2C%22source%22%3A%22m0_49620121%22%7D
2. hadoop安装
链接:https://pan.baidu.com/s/1Wd4WIOmDxIyJ-4nfA4mtvA?pwd=4ddz
提取码:4ddz
2.1 上传压缩包
上传目录为: /export/server
2.2 解压缩文件
cd /export/server
tar zxvf /export/server/hadoop-3.3.0-Centos7-64-with-snappy.tar.gz
2.3 配置环境变量
echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /etc/profile
echo 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> /etc/profile
# 刷新环境变量
source /etc/profile
2.4 修改配置文件
进入配置文件目录下
cd /export/server/hadoop-3.3.0/etc/hadoop
2.4.1 修改hadoop-env.sh文件
export JAVA_HOME=/export/server/jdk1.8.0_241
#文件最后添加
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
2.4.2 修改core-site.xml文件
<configuration>
<!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node1:8020</value>
</property>
<!-- 设置Hadoop本地保存数据路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/export/data/hadoop-3.3.0</value>
</property>
<!-- 设置HDFS web UI用户身份 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>
<!-- 整合hive 用户代理设置 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
2.4.3 修改hdfs-site.xml文件
<configuration>
<!-- 设置SNN进程运行机器位置信息 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node2:9868</value>
</property>
<!-- 设置副本数量 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
2.4.4 修改mapred-site.xml文件
<configuration>
<!-- 设置MR程序默认运行模式: yarn集群模式 local本地模式 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- MR程序历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
2.4.5 修改yarn-site.xml文件配置文件
<configuration>
<!-- 设置YARN集群主角色运行机器位置,尽量NameNode和ResourceManager和SecondaryNameNode分不同机器 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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>
<!-- 开启日志聚集 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置yarn历史服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://node1:19888/jobhistory/logs</value>
</property>
<!-- 保存的时间7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
2.4.6 修改workers文件
192.168.88.161
192.168.88.162
192.168.88.163
2.5 集群搭建说明
需要将node1中的Hadoop文件复制到node2和node3的对应位置
# 使用数据分发脚本分发hadoop-3.3.0目录
xsync /export/server/hadoop-3.3.0
# 使用数据分发脚本分发环境变量文件
xsync /etc/profile
2.6 hadoop集群启动
2.6.1 数据初始化
注意: 初始化操作必须在node1中执行
hdfs namenode -format
2.6.2 服务器启动和关闭
# 整体服务启动/关闭服务
start-all.sh
# 整体服务服务关闭
stop-all.sh
# 启动JobHistoryServer
mapred --daemon historyserver
# 单独启动hdfs
start-dfs.sh
# 单独关闭hdfs
stop-dfs.sh
# 单独启动yarn
start-yarn.sh
# 单独关闭yarn
stop-yarn.sh
# 单独启动hdfs服务的单个组件
hdfs --daemon start namenode/datanode/secondarynamenode
# 单独关闭hdfs服务的单个组件
hdfs --daemon stop namenode/datanode/secondarynamenode
# 单独启动yarn服务的单个组件
yarn --daemon start resourcemanager/nodemanager
# 单独关闭yarn服务的单个组件
yarn --daemon stop resourcemanager/nodemanager
如果想在Windows电脑上使用web登陆9870的HDFS管理界面,需要配置本地映射
位于Windows的C:\Windows\System32\drivers\etc\hosts
192.168.88.161 node1.onepandas.cn node1
192.168.88.162 node2.onepandas.cn node2
192.168.88.163 node3.onepandas.cn node3
hdfs结构管理界面url:http://192.168.88.161:9870/node1:9870
yarn Web UI管理界面:http://192.168.88.161:8088/node1:8088
3.Hive安装
链接:https://pan.baidu.com/s/1E83wjgzrc4AUKrOEUk0xIA?pwd=t8z5
提取码:t8z5
3.1 上传压缩包
上传位置: /export/server
3.2 解压缩
cd /export/server/
tar zxvf /export/server/apache-hive-3.1.2-bin.tar.gz
mv apache-hive-3.1.2-bin/ ./hive3.1.2
3.3 解决Hive与Hadoop之间guava版本差异
rm -rf /export/server/hive3.1.2/lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/server/hive3.1.2/lib/
3.4 配置hive的环境变量
echo 'export HIVE_HOME=/export/server/hive3.1.2' >> /etc/profile
echo 'export PATH=$PATH:$HIVE_HOME/bin:$HIVE_HOME/sbin' >> /etc/profile
# 刷新环境变量
source /etc/profile
3.5 修改配置文件
3.5.1 修改hive-env.sh
# 切换到配置文件目录
cd /export/server/hive3.1.2/conf
# 拷贝配置文件并重命名
cp hive-env.sh.template ./hive-env.sh
# 将配置信息写入配置文件
echo 'export HADOOP_HOME=/export/server/hadoop-3.3.0' >> /export/server/hive3.1.2/conf/hive-env.sh
echo 'export HIVE_CONF_DIR=/export/server/hive3.1.2/conf' >> /export/server/hive3.1.2/conf/hive-env.sh
echo 'export HIVE_AUX_JARS_PATH=/export/server/hive3.1.2/lib' >> /export/server/hive3.1.2/conf/hive-env.sh
3.5.2 修改hive-site.xml
<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&useSSL=false</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>123456</value>
</property>
<!-- H2S运行绑定host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node1</value>
</property>
<!-- 远程模式部署metastore metastore地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
</property>
<!-- 关闭元数据存储授权 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
3.6 上传mysql 的jdbc驱动
注意:驱动上传到
/export/server/apache-hive-3.1.2-bin/lib/
目录下
链接:https://pan.baidu.com/s/1w3L9jRO_moT7gmUjAAyhpg?pwd=t0wo
提取码:t0wo
mysql-connector-java-5.1.40.jar
3.7 初始化元数据
schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表
3.8 在hdfs创建hive存储目录
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
3.9 启动hive
# 启动metastore服务
#前台启动 关闭ctrl+c
#前台启动开启debug日志
/export/server/hive3.1.2/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console
#后台启动 进程挂起 关闭使用jps+ kill -9(先使用jps获取runjar的id在kill +9 id号)
nohup /export/server/hive3.1.2/bin/hive --service metastore &
# 启动hiveserver2服务
nohup /export/server/hive/bin/hive --service hiveserver2 &
#注意 启动hiveserver2需要一定的时间 不要启动之后立即beeline连接 可能连接不上
先用lsof -i:10000 查看hiveserver2有没有启动
启动beeline
输入:!connect jdbc:hive2://node1:10000
到此 Zookeeper/Hadoop/Hive 基础环境搭建完毕
有问题欢迎指出!!!