大数据本地环境搭建-Zookeeper/Hadoop/Hive搭建

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 服务


image.png

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&amp;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 基础环境搭建完毕
有问题欢迎指出!!!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容