国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

spark 基于物理機(jī)centos7環(huán)境搭建分布式集群

這篇具有很好參考價(jià)值的文章主要介紹了spark 基于物理機(jī)centos7環(huán)境搭建分布式集群。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

非生產(chǎn)環(huán)境,就使用一個(gè)新一點(diǎn)的版本,提前先踩踩坑,版本的選型真是一個(gè)頭疼的問(wèn)題,先看一下apache的官網(wǎng)的測(cè)試圖:

偽分布式看這里:

配置之前:若是用偽分布式時(shí),在本機(jī)必須生成key-gen 與ssh-copy-id到本機(jī),且hosts中必須加入127.0.0.1 ?本機(jī)名并關(guān)閉防火墻這幾步才可以,否則會(huì)報(bào)

ryan.pub: ssh: connect to host ryan.pub port 22: No route to host

ryan.pub: Warning: Permanently added 'ryan.pub' (ECDSA) to the list of known hosts.

先選好Spark:3.0.1

對(duì)應(yīng)的Hadoop:3.2和2.7中選一個(gè),綜合上面的圖,2.7無(wú)法使用HBase,只能選3.2了

#hadoop軟件:

http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1-src.tar.gz

#spark軟件:

http://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1-bin-hadoop3.2.tgz

#spark源碼

http://archive.apache.org/dist/spark/spark-3.0.1/spark-3.0.1.tgz

#hadoop源碼

http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

HBase:2.3.3

http://archive.apache.org/dist/hbase/2.3.3/hbase-2.3.3-bin.tar.gz

Hive: 3.1.2

http://archive.apache.org/dist/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

ZooKeeper: 3.5.5

http://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

Kafka:2.6-scala2.12

http://mirror.bit.edu.cn/apache/kafka/2.6.0/kafka_2.12-2.6.0.tgz

Flume:1.9

http://mirror.bit.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

集群環(huán)境配置:

主機(jī)名稱/IP spark hadoop mysql hbase hive zookeeper flume kafka redis
linux01.pub/192.168.10.10 1 1 1 1 1        
linux02.pub/192.168.10.11 1 1   1          
linux03.pub/192.168.10.12 1 1   1          
linux04.pub/192.168.10.13 1 1   1   1 1 1 1
linux05.pub/192.168.10.14 1 1   1   1 1 1 1
linux06.pub/192.168.10.15 1 1   1   1 1 1 1

一、基礎(chǔ)環(huán)境配置

1、先在linux01上安裝mysql
千萬(wàn)記住,安裝前一定要?jiǎng)h除本機(jī)所有的Mysql或Mariadb

#!/bin/bash
service mysql stop 2>/dev/null
service mysqld stop 2>/dev/null
rpm -qa | grep -i mysql | xargs -n1 rpm -e --nodeps 2>/dev/null
rpm -qa | grep -i mariadb | xargs -n1 rpm -e --nodeps 2>/dev/null
rm -rf /var/lib/mysql
rm -rf /usr/lib64/mysql
rm -rf /etc/my.cnf
rm -rf /usr/my.cnf
直接參照此前寫(xiě)過(guò)的這篇,不再重復(fù)

https://blog.csdn.net/qq_36269641/article/details/109641947

檢查,mysql是否安裝成功,可以用netstat, 如果沒(méi)有可以用以下命令安裝

# 安裝網(wǎng)絡(luò)工具

yum install -y net-tools

# 查看端口或程序

netstat -nltp |grep mysqld ?#或 3306

?2、網(wǎng)絡(luò)改成靜態(tài)地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33
注:網(wǎng)卡名稱可能不一致,ifcfg-ens**(*為數(shù)字)即是配置文件??梢允褂迷谶M(jìn)入該文件夾后查看所有文件,符合名稱的即為網(wǎng)卡配置文件或使用 ip addr查看。

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static ? ? ? ? ?//將原文件里的改為此處,使用靜態(tài)ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes ? ? ? ? ? ? ? //將原文件里的改為此處,默認(rèn)打開(kāi)網(wǎng)卡
NETMASK=255.255.255.0 ? ?//新增:此處為子網(wǎng)掩碼
GATEWAY=192.168.**.* ? ? //新增:此處為網(wǎng)關(guān)
IPADDR=192.168.**.* ? ?//新增:此處為ip地址,需與子網(wǎng)保持在一個(gè)網(wǎng)段內(nèi),最后一位隨意(1~254)
DNS1=114.114.114.114 ? ? //新增:域名解析服務(wù)器
DNS2=119.29.29.29 ? ? ? ?//新增:域名解析服務(wù)器
保存后,重啟網(wǎng)卡服務(wù)即可(systemctl ?restart network)。測(cè)試主機(jī)與虛擬機(jī)互 ping 以及虛擬機(jī) ping 百度。
3、安裝必要插件

sudo yum install -y epel-release
sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git

4.修改主機(jī)名
主機(jī)名分別為:

hostnamectl ?set-hostname ?hadoop-master(主機(jī)名)
?vim /etc/hosts #加上以下內(nèi)容
192.168.29.151 cluster01?? ?#第一臺(tái)機(jī)器的ip和主機(jī)名
192.168.29.152 cluster02?? ?#第二臺(tái)機(jī)器的ip和主機(jī)名
192.168.29.153 cluster03?? ?#第三臺(tái)機(jī)器的ip和主機(jī)名
192.168.29.154 cluster04?? ?#第四臺(tái)機(jī)器的ip和主機(jī)名
192.168.29.155 cluster05?? ?#第五臺(tái)機(jī)器的ip和主機(jī)名
?
5.關(guān)閉防火墻

# 禁止開(kāi)機(jī)啟動(dòng)
systemctl disable firewalld
# 關(guān)閉防火墻
systemctl stop firewalld
?

6、創(chuàng)建atguigu用戶,并修改atguigu用戶的密碼

?useradd atguigu

?passwd atguigu
?
1)配置atguigu用戶具有root權(quán)限,方便后期加sudo執(zhí)行root權(quán)限的命令

?vim /etc/sudoers
修改/etc/sudoers文件,在%wheel這行下面添加一行,如下所示:

\## Allow root to run any commands anywhere

root ? ALL=(ALL) ? ALL

\## Allows people in group wheel to run all commands

%wheel ?ALL=(ALL) ? ?ALL

atguigu ?ALL=(ALL) ? NOPASSWD:ALL
?
注意:atguigu這一行不要直接放到root行下面,因?yàn)樗杏脩舳紝儆趙heel組,你先配置了atguigu具有免密功能,但是程序執(zhí)行到%wheel行時(shí),該功能又被覆蓋回需要密碼。所以atguigu要放到%wheel這行下面。

2)在/opt目錄下創(chuàng)建文件夾,并修改所屬主和所屬組

(1)在/opt目錄下創(chuàng)建module、software文件夾

?mkdir /opt/module

?mkdir /opt/software
?
? (2)修改module、software文件夾的所有者和所屬組均為atguigu用戶

? chown atguigu:atguigu /opt/module?

? chown atguigu:atguigu /opt/software

(3)查看module、software文件夾的所有者和所屬組

?cd /opt/

?ll

6)卸載自帶的jdk

? 注意:如果你的虛擬機(jī)是最小化安裝不需要執(zhí)行這一步。

?rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps?


? rpm -qa:查詢所安裝的所有rpm軟件包

? grep -i:忽略大小寫(xiě)

? xargs -n1:表示每次只傳遞一個(gè)參數(shù)

? rpm -e –nodeps:強(qiáng)制卸載軟件

1)卸載現(xiàn)有的JDK
注意:安裝JDK前,一定確保提前刪除了虛擬機(jī)自帶的JDK。

2)用XShell傳輸工具將JDK導(dǎo)入到opt目錄下面的software文件夾下面

3)在Linux系統(tǒng)下的opt目錄中查看軟件包是否導(dǎo)入成功

?ls /opt/software/
看到如下結(jié)果:

jdk-8u212-linux-x64.tar.gz
4)解壓JDK到/opt/module目錄下

?tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

5)配置JDK環(huán)境變量

? (1)新建/etc/profile.d/my_env.sh文件

?sudo vim /etc/profile.d/my_env.sh
添加如下內(nèi)容

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_212

export PATH=$PATH:$JAVA_HOME/bin

? (3)source一下/etc/profile文件,讓新的環(huán)境變量PATH生效?source /etc/profile

6)測(cè)試JDK是否安裝成功

[atguigu@hadoop102 ~]$ java -version

如果能看到以下結(jié)果,則代表Java安裝成功。


注意:重啟(如果java -version可以用就不用重啟)

? reboot
?

7.配置ssh無(wú)密登錄配置

① 生成公匙和私匙

ssh-keygen -t rsa

然后敲(三個(gè)回車),查看/root/.ssh/目錄,可以看到會(huì)生成兩個(gè)文件id_rsa(私鑰)、id_rsa.pub(公鑰)

cd /root/.ssh/

② 將公鑰拷貝到要免密登錄的目標(biāo)機(jī)器上

將所有主機(jī)的公鑰分別追加到主機(jī)的~/.ssh/authorized_keys,在登錄三臺(tái)主機(jī)后都執(zhí)行以下三條命令
ssh-copy-id -i ~/.ssh/id_rsa.pub ceson@ceson01
ssh-copy-id -i ~/.ssh/id_rsa.pub ceson@ceson02
ssh-copy-id -i ~/.ssh/id_rsa.pub ceson@ceson03

# 時(shí)間同步?
yum install ntpdate -y?
ntpdate time.windows.com
或者

下載時(shí)間同步模塊
yum -y install ntpdate

連接遠(yuǎn)程服務(wù)器
ntpdate -u time1.aliyun.com

修改文件
ntpdate -u ntp.api.bz

date 查看系統(tǒng)時(shí)間

hwclock --show 查看硬件時(shí)間

hwclock -w 永久保存

date 查看 成功

二、hadoop的集群配置
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software
#修改解壓文件默認(rèn)名字(名字過(guò)于長(zhǎng),所以建議修改一下)
mv ?hadoop-3.1.3/ hadoop313?? ??? ?#將hadoop改為hadoop313
#配置環(huán)境變量
vim /etc/profile.d/myenv.sh
# jdk
export JAVA_HOME=/opt/software/java/jdk180?? ?#自己的jdk路徑
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# hadoop
export HADOOP_HOME=/opt/software/hadoop313?? ?#自己的hadoop路徑
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
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
保存退出,通過(guò)命令 source /etc/profile 激活
輸入 java -version 如果實(shí)現(xiàn)jdk的版本信息就是激活成功了

3、文件復(fù)制
將jdk、hadoop、環(huán)境配置文件復(fù)制到其他機(jī)器上 ,其他機(jī)器上必須創(chuàng)建所需的文件夾

scp ? -r ? ?$pdir/$fname ? ? ? ? ? ?$user@$host:$pdir/$fname
命令 遞歸 ? ?要拷貝的文件路徑/名稱 ? 目的地用戶@主機(jī):目的地路徑/名稱
#下面是我將jdk、環(huán)境變量配置文件、hadoop 拷貝到cluster02上,同樣的方式復(fù)制到其他機(jī)器上?
#注:拷貝到其他機(jī)器的環(huán)境變量配置文件需要激活一下 source /etc/profile 再通過(guò) java -version 來(lái)驗(yàn)證是否激活
scp -r /opt/software/java/ root@cluster02:/opt/software/
scp -r /etc/profile.d/myenv.sh root@cluster02:/etc/profile.d/
scp -r /opt/software/hadoop313/ root@cluster02:/opt/software/

三、hadoop的集群配置
以上步驟配置完成,就需要進(jìn)行集群配置了

1、集群的配置介紹
NameNode 和 SecondaryNameNode 不要安裝在同一臺(tái)服務(wù)器
ResourceManager 也很消耗內(nèi)存,不要和 NameNode、SecondaryNameNode 配置在同一臺(tái)機(jī)器上

  cluster01 cluster02 cluster03 cluster04 cluster05 cluster06
HDFS NameNode   SecondaryNameNode      
DataNode DataNode DataNode DataNode DataNode DataNode DataNode
YARN   ResourceManager        
NodeManager NodeManager NodeManager NodeManager NodeManager NodeManager NodeManager

2、4個(gè)xml文件的配置
1、core-site.xml

<!-- 指定 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.29.151:8020</value>
</property>
<!-- 指定 hadoop 數(shù)據(jù)的存儲(chǔ)目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/software/hadoop313/data</value>
</property>
<!-- 配置 HDFS 網(wǎng)頁(yè)登錄使用的靜態(tài)用戶為 root -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>root</value>
</property>



2、hdfs-site.xml

<!-- nn web 端訪問(wèn)地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>cluster01:9870</value>
</property>
<!-- 2nn web 端訪問(wèn)地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>cluster03:9868</value>
</property>

3、yarn-site.xml

<!-- 指定 MR 走 shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>cluster02</value>
</property>
<!-- 環(huán)境變量的繼承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>

4、mapred-site.xml

<!-- 指定 MapReduce 程序運(yùn)行在 Yarn 上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

5、配置workers
配置workers,增加五個(gè)主機(jī)名
注意:該文件中添加的內(nèi)容結(jié)尾不允許有空格,文件中不允許有空行

vim /opt/software/hadoop313/etc/hadoop/workers
cluster01
cluster02
cluster03
cluster04
cluster05

將配置好的4個(gè)xml文件和workers文件覆蓋到其他4個(gè)機(jī)器上去(同文件替換)

四、啟動(dòng)集群
1、NameNode初始化
#如果集群是第一次啟動(dòng),需要在cluster01節(jié)點(diǎn)格式化 NameNode
[root@cluster01 hadoop313]# hdfs namenode -format
2、啟動(dòng) HDFS、YARN
#啟動(dòng) HDFS
[root@cluster01 hadoop313]# sbin/start-dfs.sh
#在配置了 ResourceManager 的節(jié)點(diǎn)(cluster02)啟動(dòng) YARN
[root@cluster02 hadoop313]# sbin/start-yarn.sh

3、驗(yàn)證是否成功啟動(dòng)
Web 端查看 HDFS 的 NameNode
瀏覽器中輸入:http://192.168.29.151:9870
查看 HDFS 上存儲(chǔ)的數(shù)據(jù)信息

Web 端查看 YARN 的 ResourceManager
瀏覽器中輸入:http://192.168.29.152:8088
查看 YARN 上運(yùn)行的 Job 信息

以上界面如果能正常打開(kāi),恭喜你!集群搭建成功了!

2、開(kāi)始安裝Spark:3.0.1與Hadoop3.2.1生態(tài)
之前寫(xiě)過(guò)一篇Hadoop3.1.1的:https://blog.csdn.net/qq_36269641/article/details/108986498

為了保險(xiǎn)還是重新再來(lái)一遍

2.1 開(kāi)始安裝Hadoop3.2.1
hdfs是一切的基礎(chǔ),所以在所有機(jī)器上配置:namenode:linux01.pub ? secondary namenode:linux02.pub datanade:linux01~06.pub

#解壓

tar -zxf hadoop-3.2.1.tar.gz ?-C /opt/apps/

2.1.1 配置環(huán)境變量,增加路徑與登錄用戶:
vim /etc/profile

# JDK1.8.0_191
export JAVA_HOME=/opt/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt/jar:$JAVA_HOME/lib/tools.jar

#keeper-3.5.7
export ZOOKEEPER_HOME=/database/hadoop/bigdata/zookeeper-3.5.7
export PATH=$PATH:${ZOOKEEPER_HOME}/bin
#hadoop-3.1.3
export HADOOP_HOME=/database/hadoop/bigdata/hadoop-3.1.3
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

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

#export HDFS_DATANODE_USER=root
#export HDFS_DATANODE_SECURE_USER=root
#export HDFS_NAMENODE_USER=root
#export HDFS_SECONDARYNAMENODE_USER=root
#export YARN_RESOURCEMANAGER_USER=root
#export YARN_NODEMANAGER_USER=root
# spark 3.0.1配置
export ?SPARK_HOME=/database/hadoop/bigdata/spark-3.0.0-bin-hadoop3.2
export ?PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
# hbase配置
export ?HBASE_HOME=/database/hadoop/bigdata/hbase-2.0.5
export ?PATH=$PATH:$HBASE_HOME/bin
# hive配置
export ?HIVE_BASE=/database/hadoop/bigdata/hive-3.1.2
export ?PATH=$PATH:$HIVE_BASE/bin

source /etc/profile

hadoop version


創(chuàng)建目錄:臨時(shí)文件目錄、HDFS 元數(shù)據(jù)目錄、HDFS數(shù)據(jù)存放目錄,以后opt下的所有目錄要全部分發(fā)到1-6臺(tái)主機(jī)上去,所以統(tǒng)一在opt下創(chuàng)建

mkdir -p /opt/data/hdfs/name /opt/data/hdfs/data /opt/log/hdfs /opt/tmp

切換到配置文件目錄下,開(kāi)始配置hadoop

cd /opt/apps/hadoop-3.2.1/etc/hadoop

core-site.xml?? ?核心配置文件
dfs-site.xml?? ?hdfs存儲(chǔ)相關(guān)配置
apred-site.xml?? ?MapReduce相關(guān)的配置
arn-site.xml?? ?yarn相關(guān)的一些配置
workers?? ?用來(lái)指定從節(jié)點(diǎn),文件中默認(rèn)是localhost
hadoop-env.sh?? ?配置hadoop相關(guān)變量
先修改hadoop-env.sh,加入java_home的變量,防止出錯(cuò):

export JAVA_HOME=/home/apps/jdk1.8.0_212

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
export HDFS_ZKFC_USER=root

2.1.2 開(kāi)始配置core: core-site.xml
?

<configuration>
? ? ? ? <!-- hdfs地址,ha模式中是連接到nameservice ?-->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>fs.defaultFS</name>
? ? ? ? ? ? ? ? <value>hdfs://cluster</value>
? ? ? ? </property>
? ? ? ? <!-- 這里的路徑默認(rèn)是NameNode、DataNode、JournalNode等存放數(shù)據(jù)的公共目錄,也可以單獨(dú)指定 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hadoop.tmp.dir</name>
? ? ? ? ? ? ? ? <value>/database/data/hdfs/tmp</value>
? ? ? ? </property>

? ? ? ? <!-- 指定ZooKeeper集群的地址和端口。注意,數(shù)量一定是奇數(shù),且不少于三個(gè)節(jié)點(diǎn)-->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>ha.zookeeper.quorum</name>
? ? ? ? ? ? ? ? <value>hadoop-node3:2181,hadoop-node4:2181,hadoop-node5:2181</value>
? ? ? ? </property>
</configuration>
?

2.1.3 配置HDFS:hdfs-site.xml
指定備用地址,副本數(shù),元數(shù)據(jù),數(shù)據(jù)位置,以及web網(wǎng)絡(luò)訪問(wèn)

?
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.name.dir</name>
? ? ? ? ? ? ? ? <value>file:/database/data/hdfs/name</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.datanode.data.dir</name>
? ? ? ? ? ? ? ? <value>file:/database/data/hdfs/data</value>
? ? ? ? </property>

? ? ? ? <!-- 指定副本數(shù),不能超過(guò)機(jī)器節(jié)點(diǎn)數(shù) ?-->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.replication</name>
? ? ? ? ? ? ? ? <value>6</value>
? ? ? ? </property>

? ? ? ? <!-- 為namenode集群定義一個(gè)services name -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.nameservices</name>
? ? ? ? ? ? ? ? <value>hadoop-master寫(xiě)成各自節(jié)點(diǎn)名字</value>?
? ? ? ? </property>

? ? ? ? <!-- nameservice 包含哪些namenode,為各個(gè)namenode起名 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.ha.namenodes</name>
? ? ? ? ? ? ? ? <value>hadoop-master,hadoop-node1,hadoop-node2,hadoop-node3,hadoop-node4,hadoop-node5</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn1 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-master</name>
? ? ? ? ? ? ? ? <value>hadoop-master:9000</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn2 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-node1</name>
? ? ? ? ? ? ? ? <value>hadoop-node1:9000</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn3 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-node2</name>
? ? ? ? ? ? ? ? <value>hadoop-node2:9000</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn4 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-node3</name>
? ? ? ? ? ? ? ? <value>hadoop-node3:9000</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn5 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-node4</name>
? ? ? ? ? ? ? ? <value>hadoop-node4:9000</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn6 的namenode的rpc地址和端口號(hào),rpc用來(lái)和datanode通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.rpc-address.hadoop-node5</name>
? ? ? ? ? ? ? ? <value>hadoop-node5:9000</value>
? ? ? ? </property>

? ? ? ? <!--名為 nn1 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-master</name>
? ? ? ? ? ? ? ? <value>hadoop-master:50070</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn2 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-node1</name>
? ? ? ? ? ? ? ? <value>hadoop-node1:50070</value>
? ? ? ? </property>

? ? ? ? <!--名為 nn3 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-node2</name>
? ? ? ? ? ? ? ? <value>hadoop-node2:50070</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn4 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-node3</name>
? ? ? ? ? ? ? ? <value>hadoop-node3:50070</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn5 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-node4</name>
? ? ? ? ? ? ? ? <value>hadoop-node4:50070</value>
? ? ? ? </property>

? ? ? ? <!-- 名為 nn6 的namenode的http地址和端口號(hào),用來(lái)和web客戶端通訊 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.http-address.hadoop-node5</name>
? ? ? ? ? ? ? ? <value>hadoop-node5:50070</value>
? ? ? ? </property>

? ? ? ? <!-- namenode間用于共享編輯日志的journal節(jié)點(diǎn)列表 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.namenode.shared.edits.dir</name>
? ? ? ? ? ? ? ? <value>qjournal://hadoop-master:8485;hadoop-node1:8485;hadoop-node2:8485;hadoop-node3:8485;hadoop-node4:8485;hadoop-node5:8485/cluster</value>
? ? ? ? </property>

? ? ? ? <!-- 指定該集群出現(xiàn)故障時(shí),是否自動(dòng)切換到另一臺(tái)namenode -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.ha.automatic-failover.enabled</name>
? ? ? ? ? ? ? ? <value>true</value>
? ? ? ? </property>

? ? ? ? <!-- journalnode 上用于存放edits日志的目錄 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.journalnode.edits.dir</name>
? ? ? ? ? ? ? ? <value>/database/data/hdfs/tmp/data/dfs/journalnode</value>
? ? ? ? </property>

? ? ? ? <!-- 客戶端連接可用狀態(tài)的NameNode所用的代理類 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.client.failover.proxy.provider</name>
? ? ? ? ? ? ? ? <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
? ? ? ? </property>

? ? ? ? <!-- 一旦需要NameNode切換,使用ssh方式進(jìn)行操作 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.ha.fencing.methods</name>
? ? ? ? ? ? ? ? <value>
? ? ? ? ? ? ? ? sshfence
? ? ? ? ? ? ? ? shell(/bin/true)
? ? ? ? ? ? ? ? </value>
? ? ? ? </property>

? ? ? ? <!-- 如果使用ssh進(jìn)行故障切換,使用ssh通信時(shí)用的密鑰存儲(chǔ)的位置 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.ha.fencing.ssh.private-key-files</name>
? ? ? ? ? ? ? ? <value>/root/.ssh/id_rsa</value>
? ? ? ? </property>

? ? ? ? <!-- 啟用webhdfs -->
? ? <property>
? ? ? ? ? ? ? ? <name>dfs.webhdfs.enabled</name>
? ? ? ? ? ? ? ? <value>true</value>
? ? </property>

? ? ? ? <property>
? ? ? ? <name>dfs.journalnode.http-address</name>
? ? ? ? <value>0.0.0.0:8480</value>
? ? </property>

? ? <property>
? ? ? ? <name>dfs.journalnode.rpc-address</name>
? ? ? ? <value>0.0.0.0:8485</value>
? ? </property>

? ? ? ? <!-- connect-timeout超時(shí)時(shí)間 -->
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>dfs.ha.fencing.ssh.connect-timeout</name>
? ? ? ? ? ? ? ? <value>30000</value>
? ? ? ? </property>
</configuration>
?

2.1.4 配置YARN: yarn-site.xml?

vim yarn-site.xml

<configuration>
?? ?<!-- Site specific YARN configuration properties -->
?? ?<!-- 啟用HA高可用性 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.ha.enabled</name>
?? ??? ?<value>true</value>
?? ?</property>

?? ?<!-- 指定resourcemanager的名字 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.cluster-id</name>
?? ??? ?<value>yrc</value>
?? ?</property>

?? ?<!-- 使用了2個(gè)resourcemanager,分別指定Resourcemanager的地址 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.ha.rm-ids</name>
?? ??? ?<value>rm1,rm2</value>
?? ?</property>
??
?? ?<!-- 指定rm1的地址 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.hostname.rm1</name>
?? ??? ?<value>ceson01</value>
?? ?</property>
??
?? ?<!-- 指定rm2的地址 ?-->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.hostname.rm2</name>
?? ??? ?<value>ceson02</value>
?? ?</property>
??
?? ?<!-- 指定當(dāng)前機(jī)器ceson01作為rm1 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.ha.id</name>
?? ??? ?<value>rm1</value>
?? ?</property>
??
?? ?<!-- 指定zookeeper集群機(jī)器 -->
?? ?<property>
?? ??? ?<name>yarn.resourcemanager.zk-address</name>
?? ??? ?<value>ceson01:2181,ceson02:2181,ceson03:2181</value>
?? ?</property>
??
?? ?<!-- NodeManager上運(yùn)行的附屬服務(wù),默認(rèn)是mapreduce_shuffle -->
?? ?<property>
?? ??? ?<name>yarn.nodemanager.aux-services</name>
?? ??? ?<value>mapreduce_shuffle</value>
?? ?</property>
</configuration>
?

2.1.5 配置MapReduce:mapred-site.xml
指定mr使用的yarn模式,節(jié)點(diǎn)linux01.pub和類路徑

vim mapred-site.xml

<configuration>
?? ?<!-- 采用yarn作為mapreduce的資源調(diào)度框架 -->
?? ?<property>
?? ??? ?<name>mapreduce.framework.name</name>
?? ??? ?<value>yarn</value>
?? ?</property>

?? ?<property>
?? ??? ?<name>yarn.app.mapreduce.am.env</name>
?? ??? ?<value>HADOOP_MAPRED_HOME=/home/ceson/wechat_env/hadoop-3.1.2</value>
?? ?</property>
?? ?<property>
?? ??? ?<name>mapreduce.map.env</name>
?? ??? ?<value>HADOOP_MAPRED_HOME=/home/ceson/wechat_env/hadoop-3.1.2</value>
?? ?</property>
?? ?<property>
?? ??? ?<name>mapreduce.reduce.env</name>
?? ??? ?<value>HADOOP_MAPRED_HOME=/home/ceson/wechat_env/hadoop-3.1.2</value>
?? ?</property>

</configuration>
?

2.1.6 指定所有的datanode: workders
linux01.pub
linux02.pub
linux03.pub
linux04.pub
linux05.pub
linux06.pub

2.1.7 集群分發(fā)
將linux01中/opt下的所有文件分發(fā)到其它主機(jī),并將/etc/profile也一起分發(fā)下去

?scp -r /opt linux02.pub:$PWD
?scp -r /opt linux03.pub:$PWD
?scp -r /opt linux04.pub:$PWD
?scp -r /opt linux05.pub:$PWD
?scp -r /opt linux06.pub:$PWD

2.1.8 集群一鍵啟動(dòng)與一鍵停止
在start-dfs.sh 和stop-dfs.sh中加入以下啟動(dòng)配置

HDFS_DATANODE_USER=root

HADOOP_SECURE_DN_USER=hdfs

HDFS_NAMENODE_USER=root

HDFS_SECONDARYNAMENODE_USER=root

2.1.9 在linux01.pub上初始化namenode:-format
hadoop ?namenode ?-format

出現(xiàn)這個(gè)信息時(shí),表示已經(jīng)初始化成功:

2020-11-26 21:03:07,909 INFO common.Storage: Storage directory /opt/data/hdfs/name has been successfully formatted.

2.1.10 啟動(dòng)hadoop并進(jìn)行測(cè)試
主節(jié)點(diǎn)上啟動(dòng)HDFS:

start-dfs.sh
?namenode上的進(jìn)程:

datanode上的進(jìn)程:

HDFS測(cè)試namenode:

打開(kāi):http://linux01.pub:9870/

start-all.sh

啟動(dòng)HDFS和yarn:

http://linux01.pub:8088/

上傳一個(gè)文件到HDFS:

hdfs dfs -put ./hadoop-3.2.1.tar.gz /

可以看到文件已經(jīng)被分塊存放到不同的服務(wù)器上了:

或者

主機(jī)初次運(yùn)行需要格式化hdfs,后面運(yùn)行就不需要步驟

每個(gè)hadoop節(jié)點(diǎn)啟動(dòng)journalnode
hdfs --daemon start journalnode

# 在節(jié)點(diǎn)ceson01上手動(dòng)輸入[hdfs namenode –format]
hdfs namenode –format

#格式化 zk(在ceson01 手動(dòng)輸入)
hdfs zkfc –formatZK

#啟動(dòng) ceson01 namenode?
hadoop-daemon.sh start namenode

#ceson02上同步ceson01 namenode元數(shù)據(jù)?
hdfs namenode -bootstrapStandby

?啟動(dòng)Hadoop集群環(huán)境

start-all.sh
或者啟動(dòng)
start-dfs.sh
start-yarn.sh
2.7 主備節(jié)點(diǎn)啟動(dòng)狀況查看

ceson@ceson01:~$ hdfs haadmin -getServiceState nn1
active
ceson@ceson01:~$ hdfs haadmin -getServiceState nn2
standby


?驗(yàn)證hadoop
50070端口是Hadoop管理頁(yè)面,切到Datanodes選項(xiàng)卡可以看到集群所有Datanode的情況
8088端口是YARN管理頁(yè)面,可以看到集群節(jié)點(diǎn)運(yùn)行任務(wù)的情況

http://ceson01:50070/
http://ceson01:8088/

或者jsp命令 主備master節(jié)點(diǎn)一般都會(huì)駐留以下進(jìn)程,非master節(jié)點(diǎn)只有以下部分進(jìn)程
21776 DataNode
22725 ResourceManager
21271 NameNode
22919 NodeManager
21005 JournalNode
22302 DFSZKFailoverController
?

第六臺(tái)上的數(shù)據(jù)信息:

主節(jié)點(diǎn)上的元數(shù)據(jù)信息:

?
2.2 開(kāi)始安裝Spark3.0.1
上傳解壓到指定文件夾

2.2.1 配置系統(tǒng)變量:
# spark 3.0.1配置
export ?SPARK_HOME=/opt/apps/spark-3.0.1-bin-hadoop3.2
export ?PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

2.2.2 修改配置文件
將所有.template文件復(fù)制一份出來(lái),去掉后綴名:

for i in *.template; do cp ${i} ${i%.*}; done

再建立一個(gè)目錄將原文件移到里面

修改spark-env.sh 加入:

vim spark-env.sh
#加入以下配置
export JAVA_HOME=/home/apps/jdk1.8.0_212
export HADOOP_CONF_DIR=/opt/apps/hadoop-3.2.1/etc/hadoop
export SPARK_MASTER_HOST=linux01.pub
export SPARK_MASTER_PORT=7077
export SPARK_LOCAL_DIRS=/opt/apps/spark-3.0.1-bin-hadoop3.2
在slaves中加入:

linux01.pub
linux02.pub
linux03.pub
linux04.pub
linux05.pub
linux06.pub

2.2.3 分發(fā)到其它5臺(tái)電腦上
?scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ linux02.pub:$PWD
scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ ?linux03.pub:$PWD
scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ ?linux04.pub:$PWD
scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ ?linux05.pub:$PWD
scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ ?linux06.pub:$PWD
scp -r /opt/apps/spark-3.0.1-bin-hadoop3.2/ ?linux06.pub:$PWD

2.2.4 運(yùn)行spark:
進(jìn)入spark目錄下的sbin下,

./start-all.sh

為了區(qū)分開(kāi)hadoop 中的start-all.sh 可以將此名改個(gè)名稱,以后用這個(gè)名稱來(lái)啟動(dòng)就不會(huì)和hadoop相互沖突了,但實(shí)際也很少同時(shí)都啟動(dòng),平時(shí)hadoop也只是啟動(dòng)其中的hdfs,即start-dfs.sh而已

?cp start-all.sh ?spark-start-all.sh

此時(shí)每一臺(tái)分機(jī)上都啟動(dòng)了一個(gè)worker進(jìn)程

網(wǎng)頁(yè)查看:http://linux01.pub:8080/

至此,spark搭建就已經(jīng)完成了,相對(duì)比較簡(jiǎn)單。

3、安裝ZooKeeper
安裝到:linux04; linux05; linux06;

3.1 解壓、添加環(huán)境變量
tar -zxf apache-zookeeper-3.5.5-bin.tar.gz -C /opt/apps/

mv apache-zookeeper-3.5.5-bin/ zookeeper3.5.5

cd /opt/apps/zookeeper3.5.5

?vim /etc/profile

# Zookeeper配置
export ?ZK_HOME=/opt/apps/zookeeper3.5.5
export ?PATH=$PATH:$ZK_HOME/bin

?source /etc/profile

3.2 配置文件
在linux04\05\06.pub上各新建一個(gè)目錄來(lái)存放zk的數(shù)據(jù):

mkdir -p /opt/data/zkdata

并配置id:

在linux04.pub上: echo 1 > /opt/data/zkdata/myid

在linux05.pub上: echo 2 > /opt/data/zkdata/myid

在linux06.pub上: echo 3 > /opt/data/zkdata/myid

此處id與下面zoo.cfg中的server.1/2/3要相對(duì)應(yīng)

?cp zoo_sample.cfg zoo.cfg
vim zoo.cfg

dataDir=/opt/data/zkdata
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the?
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1i
server.1=linux04.pub:2888:3888
server.2=linux05.pub:2888:3888
server.3=linux06.pub:2888:3888
3.3 啟動(dòng)腳本紡編寫(xiě)
bin/zk-startall.sh

#!/bin/bash
? if [ $# -eq 0 ]
? then
? ? echo "please input param: start stop"
? else
? ? for i in {4..6}
? ? do
? ? ?echo "${i}ing linux0${i}.pub"
? ? ?ssh linux0${i}.pub "source /etc/profile;/opt/apps/zookeeper3.5.5/bin/zkServer.sh ${1}"
? ? done
? ? if [ $1 = start ]
? ? then
? ? ?sleep 3
? ? ?for i in {4..6}
? ? ?do
? ? ? ?echo "checking linux0${i}.pub"
? ? ? ?ssh linux0${i}.pub "source /etc/profile;/opt/apps/zookeeper3.5.5/bin/zkServer.sh status"
done fi
fi?
授權(quán)執(zhí)行:chmod +x ./zk-startall.sh

3.4 分發(fā)到linux05、06.pub上
scp -r ./zookeeper3.5.5/ linux05.pub:$PWD

scp -r ./zookeeper3.5.5/ linux06.pub:$PWD

3.5 運(yùn)行與測(cè)試
zk-startall.sh

4、開(kāi)始安裝HBase
4.1 環(huán)境變量
# hbase 配置
export ?HBASE_HOME=/opt/apps/hbase-2.3.3
export ?PATH=$PATH:$HBASE_HOME/bin
4.2 配置hbase
先安裝scala2.12.12

https://downloads.lightbend.com/scala/2.12.12/scala-2.12.12.tgz
解壓后并配置scala與hbase系統(tǒng)變量

# java scala ?mysql 配置
export ?JAVA_HOME=/home/apps/jdk1.8.0_212
export ?SCALA_HOME=/home/apps/scala-2.12.12
export ?PATH=$PATH:$JAVA_HOME/bin:/usr/local/mysql/bin:$SCALA_HOME/bin
?
?
# hbase配置
export ?HBASE_HOME=/opt/apps/hbase-2.3.3
export ?PATH=$PATH:$HBASE_HOME/bin
4.2.1 將hadoop下的core-site.xml和hdfs-site.xml復(fù)制到hbase/conf/下
cp /opt/apps/hadoop-3.2.1/etc/hadoop/core-site.xml /opt/apps/hadoop-3.2.1/etc/hadoop/hdfs-site.xml /opt/apps/hbase-2.3.3/conf

4.2.2 配置hbase-env.sh
export HBASE_MANAGES_ZK=false

export ?JAVA_HOME=/home/apps/jdk1.8.0_212

4.2.3 配置hbase-site.xml
<configuration>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.rootdir</name>
? ? ? ? ? ? ? ? <value>hdfs://linux01.pub:9000/hbase</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.cluster.distributed</name>
? ? ? ? ? ? ? ? <value>true</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.master</name>
? ? ? ? ? ? ? ? <value>linux01.pub:60000</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.zookeeper.quorum</name>
? ? ? ? ? ? ? ? <value>linux04.pub,linux05.pub,linux06.pub</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.zookeeper.property.dataDir</name>
? ? ? ? ? ? ? ? <value>/opt/data/hbase</value>
? ? ? ? </property>
? ? ? ? <property>
? ? ? ? ? ? ? ? <name>hbase.unsafe.stream.capability.enforce</name>
? ? ? ? ? ? ? ? <value>false</value>
? ? ? ? </property>
</configuration>
4.2.4 regionservers配置
linux01.pub
linux02.pub
linux03.pub
linux04.pub
linux05.pub
linux06.pub
4.2.5 解決日志沖突
#在hbase/lib/client-facing-thirdparty 下

mv /opt/apps/hbase-2.3.3/lib/client-facing-thirdparty/slf4j-log4j12-1.7.30.jar slf4j-log4j12-1.7.30.jar.bak

#將hbase的slf4j文件改名但不刪除,作備份作用,以免和hadoop的日志沖突

4.3 分發(fā)軟件包
分發(fā)目錄、分發(fā)profile、分發(fā)hbase目錄到linux02.pub~linux06.pub上,已經(jīng)做過(guò)多次,省略

4.4 啟動(dòng)并測(cè)試

啟動(dòng):start-hbase.sh ?停止:stop-hbase.sh

#測(cè)試進(jìn)入shell: hbase shell

create 't1', {NAME => 'f1', VERSIONS => 5}

增加網(wǎng)頁(yè)訪問(wèn):vim hbase-site.xml

<!-- 新增的web訪問(wèn)配置 -->
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>

訪問(wèn):http://linux01.pub:60010

檢查與zk的集成:

檢查與hadoop的集成:

5、開(kāi)始安裝Hive
上傳解壓

5.1 下載mysql connector
https://dev.mysql.com/downloads/connector/j/

5.2 檢查mysql是否啟動(dòng)


5.3、將connector放到hive安裝目錄下的lib中


[root@linux01 home]# tar -zxf mysql-connector-java-5.1.49.tar.gz -C /opt/apps/hive3.1.2/lib/
[root@linux01 home]# cd /opt/apps/hive3.1.2/lib/

[root@linux01 lib]# mv mysql-connector-java-5.1.49/*.jar ./
[root@linux01 lib]# rm -rf mysql-connector-java-5.1.49

5.4 將Hadoop下lib中的guava-27.0-jre.jar 復(fù)制到lib下,將原guava-19.0.jar直接刪除
[root@linux01 lib]# ls /opt/apps/hadoop-3.2.1/share/hadoop/common/lib/guava-*
/opt/apps/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar

[root@linux01 lib]# cp /opt/apps/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar ./
[root@linux01 lib]# rm -rf ./guava-19.0.jar

5.5 配置hive
5.5.1 配置環(huán)境變量

# hive配置
export ?HIVE_BASE=/opt/apps/hive3.1.2
export ?PATH=$PATH:$HIVE_BASE/bin

5.5.2 配置hive-env.sh

創(chuàng)建hive-env.sh 文件,復(fù)制hive-env.sh.template并更名為hive-env.sh:

# hadoop安裝目錄
export HADOOP_HOME=/opt/apps/hadoop-3.2.1
# Hive 配置文件目錄
export HIVE_CONF_DIR=/opt/apps/hive3.1.2/conf
# Hive 信賴jar包目錄
export HIVE_AUX_JARS_PATH=/opt/apps/hive3.1.2/lib

5.5.3 配置hive-site.xml

hive-site.xml 文件,復(fù)制hive-default.xml.template并更名為hive-site.xml:

刪除3210行處的特殊字符:

啟動(dòng)HADOOP:start-all.sh

創(chuàng)建兩個(gè)hdfs文件夾:

[root@linux01 ~]# hdfs dfs -mkdir -p /user/hive/warehouse; hdfs dfs -mkdir -p /tmp/hive
[root@linux01 ~]# hdfs dfs -chmod -R 777 /user/hive/warehouse; hdfs dfs -chmod -R 777 ?/tmp/hive
[root@linux01 ~]# hdfs dfs -ls /
Found 3 items
drwxr-xr-x ? - root supergroup ? ? ? ? ?0 2020-11-27 00:58 /hbase
drwxr-xr-x ? - root supergroup ? ? ? ? ?0 2020-11-27 11:57 /tmp
drwxr-xr-x ? - root supergroup ? ? ? ? ?0 2020-11-27 11:57 /user

修改system:java.io.tmp.dir與system:user.name,改為自己創(chuàng)建的臨時(shí)文件夾與自己的帳號(hào)

143、149、1848、4407行

快捷修改VIM:

:%s#${system:java.io.tmpdir}#/opt/tmp/hive#g
:%s#${system:user.name}#root#g

配置數(shù)據(jù)庫(kù):

585行:javax.jdo.option.ConnectionURL ? value改為:jdbc:mysql://linux01.pub:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8

1104行:javax.jdo.option.ConnectionDriverName values改為:com.mysql.jdbc.Driver ? (如果是8.0的com.mysql.cj.jdbc.Driver

1131:javax.jdo.option.ConnectionUserName value改為:你的數(shù)據(jù)庫(kù)用戶名稱

571行:javax.jdo.option.ConnectionPassword value改變:你的密碼

800行:hive.metastore.schema.verification value改為:false

5.5.4 創(chuàng)建日志配置文件:hive-log4j2.properties
#將template去掉:

[root@linux01 conf]# cp hive-log4j2.properties.template hive-log4j2.properties
[root@linux01 conf]# vim hive-log4j2.properties

# 創(chuàng)建日志目錄:

property.hive.log.dir = /opt/log/hive

大坑:hive中的日志jar包與hadoop中的日志jar包沖突,而出現(xiàn)SLF4J: Class path contains multiple SLF4J bindings.

解決方法也很簡(jiǎn)單:它下面會(huì)有提示是哪一個(gè)jar,這個(gè)必須給開(kāi)發(fā)一個(gè)雞腿,直接把hive中的jar刪除就解決了。

5.6 啟動(dòng)hive并測(cè)試
初始化:schematool -initSchema -dbType mysql

啟動(dòng):hive

測(cè)試:show tables;

6、安裝Flume
6.1、利用模板文件創(chuàng)建conf下的env與conf文件
6.2、在env中加入export java_home
6.3、i測(cè)試:進(jìn)入bin下:.\flume-ng version


6.4、分發(fā)到5、6機(jī)器上即完成
?

7、安裝Kafka
7.1 啟動(dòng)zookeeper
使用我們自己的腳本:zk-startall.sh start

7.2 修改conf下的server.properties

修改brokerid:

linux04.pub: brokerid-->0

linux05.pub: brokerid-->1

linux06.pub: brokerid-->2

修改綁定的IP:listeners=PLAINTEXT://linux04.pub:9092

修改日志目錄:新建一個(gè)目錄:log.dirs=/opt/log/kafka

修改zk集群:zookeeper.connect=linux04.pub:2181,linux05.pub:2181,linux06.pub:2181

7.3 分發(fā)到其它分機(jī):

改brokerid, 改IP, 建目錄并改日志目錄、配置環(huán)境

# Kafka配置
export ?KAFKA_HOME=/opt/apps/kafka_2in.12-2.6.0
export ?PATH=$PATH:$KAFKA_HOME/bin

修改id ? ip

7.4 編寫(xiě)一鍵啟動(dòng)腳本

#!/bin/bash
if [ $# -eq 0 ]
? then
? echo "please input param: start stop"
? else
? if [ $1 = start ]
? then
? for i in {4..6}
? do
? echo "${1}ing linux0${i}.pub"
? ssh linux0${i}.pub "source /etc/profile;/opt/apps/kafka_2.12-2.6.0/bin/kafka-server-start.sh -daemon /opt/apps/kafka_2.12-2.6.0/config/server.properties"
? done
? fi
? if [ $1 = stop ]
? then
? for i in {4..6}
? do
? ssh linux0${i}.pub "source /etc/profile;/opt/apps/kafka_2.12-2.6.0/bin/kafka-server-stop.sh"
? done
? fi
fi

啟動(dòng)并測(cè)試:

8、安裝Redis
8.1 下載解壓編譯
https://redis.io/

下載最新版本

unstable就不考慮了

安裝gcc:

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile

source /etc/profile

?編譯:

make && make install PREFIX=/opt/apps/redis6

8.2 配置環(huán)境變量
#redis配置
export ?REDIS_HOME=/opt/apps/redis6
export ?PATH=$PATH:$REDIS_HOME/bin

8.3 配置redis
將源碼包中的redis.conf復(fù)制到安裝目錄下:

cp /opt/jars/redis-6.0.9/redis.conf ./

修改bind為本機(jī)名稱:bind linux04.pub

修改后臺(tái)運(yùn)行:daemonize yes

8.4 啟動(dòng)測(cè)試
redis-server ./redis.conf

客戶端連接:

redis-cli -h linux04.pub -p 6379

8.5 分發(fā)到5和6,并修改綁定主機(jī)名稱與環(huán)境變量
?

9 Redis集群搭建
(暫時(shí)不搭了,抄一下別人的,用到時(shí)再來(lái)搭)

https://blog.csdn.net/qq_42815754/article/details/82912130

9.1、Redis Cluster(Redis集群)簡(jiǎn)介
redis是一個(gè)開(kāi)源的key value存儲(chǔ)系統(tǒng),受到了廣大互聯(lián)網(wǎng)公司的青睞。redis3.0版本之前只支持單例模式,在3.0版本及以后才支持集群,我這里用的是redis3.0.0版本;

redis集群采用P2P模式,是完全去中心化的,不存在中心節(jié)點(diǎn)或者代理節(jié)點(diǎn);

redis集群是沒(méi)有統(tǒng)一的入口的,客戶端(client)連接集群的時(shí)候連接集群中的任意節(jié)點(diǎn)(node)即可,集群內(nèi)部的節(jié)點(diǎn)是相互通信的(PING-PONG機(jī)制),每個(gè)節(jié)點(diǎn)都是一個(gè)redis實(shí)例;

為了實(shí)現(xiàn)集群的高可用,即判斷節(jié)點(diǎn)是否健康(能否正常使用),redis-cluster有這么一個(gè)投票容錯(cuò)機(jī)制:如果集群中超過(guò)半數(shù)的節(jié)點(diǎn)投票認(rèn)為某個(gè)節(jié)點(diǎn)掛了,那么這個(gè)節(jié)點(diǎn)就掛了(fail)。這是判斷節(jié)點(diǎn)是否掛了的方法;

那么如何判斷集群是否掛了呢? -> 如果集群中任意一個(gè)節(jié)點(diǎn)掛了,而且該節(jié)點(diǎn)沒(méi)有從節(jié)點(diǎn)(備份節(jié)點(diǎn)),那么這個(gè)集群就掛了。這是判斷集群是否掛了的方法;

那么為什么任意一個(gè)節(jié)點(diǎn)掛了(沒(méi)有從節(jié)點(diǎn))這個(gè)集群就掛了呢? -> 因?yàn)榧簝?nèi)置了16384個(gè)slot(哈希槽),并且把所有的物理節(jié)點(diǎn)映射到了這16384[0-16383]個(gè)slot上,或者說(shuō)把這些slot均等的分配給了各個(gè)節(jié)點(diǎn)。當(dāng)需要在Redis集群存放一個(gè)數(shù)據(jù)(key-value)時(shí),redis會(huì)先對(duì)這個(gè)key進(jìn)行crc16算法,然后得到一個(gè)結(jié)果。再把這個(gè)結(jié)果對(duì)16384進(jìn)行求余,這個(gè)余數(shù)會(huì)對(duì)應(yīng)[0-16383]其中一個(gè)槽,進(jìn)而決定key-value存儲(chǔ)到哪個(gè)節(jié)點(diǎn)中。所以一旦某個(gè)節(jié)點(diǎn)掛了,該節(jié)點(diǎn)對(duì)應(yīng)的slot就無(wú)法使用,那么就會(huì)導(dǎo)致集群無(wú)法正常工作。

綜上所述,每個(gè)Redis集群理論上最多可以有16384個(gè)節(jié)點(diǎn)。

9.2、集群搭建需要的環(huán)境

2.1 Redis集群至少需要3個(gè)節(jié)點(diǎn),因?yàn)橥镀比蒎e(cuò)機(jī)制要求超過(guò)半數(shù)節(jié)點(diǎn)認(rèn)為某個(gè)節(jié)點(diǎn)掛了該節(jié)點(diǎn)才是掛了,所以2個(gè)節(jié)點(diǎn)無(wú)法構(gòu)成集群。
2.2 要保證集群的高可用,需要每個(gè)節(jié)點(diǎn)都有從節(jié)點(diǎn),也就是備份節(jié)點(diǎn),所以Redis集群至少需要6臺(tái)服務(wù)器。因?yàn)槲覜](méi)有那么多服務(wù)器,也啟動(dòng)不了那么多虛擬機(jī),所在這里搭建的是偽分布式集群,即一臺(tái)服務(wù)器虛擬運(yùn)行6個(gè)redis實(shí)例,修改端口號(hào)為(7001-7006),當(dāng)然實(shí)際生產(chǎn)環(huán)境的Redis集群搭建和這里是一樣的。
2.3 安裝ruby


? ? 9.3、集群搭建具體步驟如下(注意要關(guān)閉防火墻)

3.1 在usr/local目錄下新建redis-cluster目錄,用于存放集群節(jié)點(diǎn)

3.2 把redis目錄下的bin目錄下的所有文件復(fù)制到/usr/local/redis-cluster/redis01目錄下,不用擔(dān)心這里沒(méi)有redis01目錄,會(huì)自動(dòng)創(chuàng)建的。操作命令如下(注意當(dāng)前所在路徑):

?cp -r redis/bin/ redis-cluster/redis01


3.3 刪除redis01目錄下的快照文件dump.rdb,并且修改該目錄下的redis.cnf文件,具體修改兩處地方:一是端口號(hào)修改為7001,二是開(kāi)啟集群創(chuàng)建模式,打開(kāi)注釋即可。分別如下圖所示:
刪除dump.rdb文件

修改端口號(hào)為7001,默認(rèn)是6379

將cluster-enabled yes 的注釋打開(kāi)

3.4 將redis-cluster/redis01文件復(fù)制5份到redis-cluster目錄下(redis02-redis06),創(chuàng)建6個(gè)redis實(shí)例,模擬Redis集群的6個(gè)節(jié)點(diǎn)。然后將其余5個(gè)文件下的redis.conf里面的端口號(hào)分別修改為7002-7006。分別如下圖所示:
創(chuàng)建redis02-06目錄


分別修改redis.conf文件端口號(hào)為7002-7006

3.5 接著啟動(dòng)所有redis節(jié)點(diǎn),由于一個(gè)一個(gè)啟動(dòng)太麻煩了,所以在這里創(chuàng)建一個(gè)批量啟動(dòng)redis節(jié)點(diǎn)的腳本文件,命令為start-all.sh,文件內(nèi)容如下:

cd redis01
./redis-server redis.conf
cd ..
cd redis02
./redis-server redis.conf
cd ..
cd redis03
./redis-server redis.conf
cd ..
cd redis04
./redis-server redis.conf
cd ..
cd redis05
./redis-server redis.conf
cd ..
cd redis06
./redis-server redis.conf
cd ..
?
3.6 創(chuàng)建好啟動(dòng)腳本文件之后,需要修改該腳本的權(quán)限,使之能夠執(zhí)行,指令如下:

chmod +x start-all.sh
1


3.7 執(zhí)行start-all.sh腳本,啟動(dòng)6個(gè)redis節(jié)點(diǎn)

3.8 ok,至此6個(gè)redis節(jié)點(diǎn)啟動(dòng)成功,接下來(lái)正式開(kāi)啟搭建集群,以上都是準(zhǔn)備條件。大家不要覺(jué)得圖片多看起來(lái)冗長(zhǎng)所以覺(jué)得麻煩,其實(shí)以上步驟也就一句話的事情:創(chuàng)建6個(gè)redis實(shí)例(6個(gè)節(jié)點(diǎn))并啟動(dòng)。
要搭建集群的話,需要使用一個(gè)工具(腳本文件),這個(gè)工具在redis解壓文件的源代碼里。因?yàn)檫@個(gè)工具是一個(gè)ruby腳本文件,所以這個(gè)工具的運(yùn)行需要ruby的運(yùn)行環(huán)境,就相當(dāng)于java語(yǔ)言的運(yùn)行需要在jvm上。所以需要安裝ruby,指令如下:

yum install ruby
然后需要把ruby相關(guān)的包安裝到服務(wù)器,我這里用的是redis-3.0.0.gem,大家需要注意的是:redis的版本和ruby包的版本最好保持一致。
將Ruby包安裝到服務(wù)器:需要先下載再安裝,如圖

安裝命令如下:

gem install redis-3.0.0.gem
?

3.9 上一步中已經(jīng)把ruby工具所需要的運(yùn)行環(huán)境和ruby包安裝好了,接下來(lái)需要把這個(gè)ruby腳本工具復(fù)制到usr/local/redis-cluster目錄下。那么這個(gè)ruby腳本工具在哪里呢?之前提到過(guò),在redis解壓文件的源代碼里,即redis/src目錄下的redis-trib.rb文件。


3.10 將該ruby工具(redis-trib.rb)復(fù)制到redis-cluster目錄下,指令如下:

cp redis-trib.rb /usr/local/redis-cluster
?

然后使用該腳本文件搭建集群,指令如下:

./redis-trib.rb create --replicas 1 47.106.219.251:7001 47.106.219.251:7002 47.106.219.251:7003 47.106.219.251:7004 47.106.219.251:7005 47.106.219.251:7006
?

注意:此處大家應(yīng)該根據(jù)自己的服務(wù)器ip輸入對(duì)應(yīng)的ip地址!


中途有個(gè)地方需要手動(dòng)輸入yes即可

至此,Redi集群搭建成功!大家注意最后一段文字,顯示了每個(gè)節(jié)點(diǎn)所分配的slots(哈希槽),這里總共6個(gè)節(jié)點(diǎn),其中3個(gè)是從節(jié)點(diǎn),所以3個(gè)主節(jié)點(diǎn)分別映射了0-5460、5461-10922、10933-16383solts。

3.11 最后連接集群節(jié)點(diǎn),連接任意一個(gè)即可:

redis01/redis-cli -p 7001 -c?
?

注意:一定要加上-c,不然節(jié)點(diǎn)之間是無(wú)法自動(dòng)跳轉(zhuǎn)的!如下圖可以看到,存儲(chǔ)的數(shù)據(jù)(key-value)是均勻分配到不同的節(jié)點(diǎn)的:


9.4、結(jié)語(yǔ)

呼~(yú)~~長(zhǎng)舒一口氣…終于搭建好了Redis集群。
整個(gè)過(guò)程其實(shí)挺簡(jiǎn)單,本篇主要正對(duì)入門(mén)級(jí)別的小伙伴,插入了很多圖片,所以顯得冗長(zhǎng),希望大家多多理解,如果不當(dāng)之處,還望及時(shí)指正~

最后,加上兩條redis集群基本命令:
1.查看當(dāng)前集群信息

cluster info
2.查看集群里有多少個(gè)節(jié)點(diǎn)

cluster nodes
————————————————
版權(quán)聲明:本文為CSDN博主「pub.ryan」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_36269641/article/details/110187059文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-435711.html

到了這里,關(guān)于spark 基于物理機(jī)centos7環(huán)境搭建分布式集群的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • HBase集群搭建記錄 | 云計(jì)算[CentOS7] | HBase完全分布式集群搭建

    HBase集群搭建記錄 | 云計(jì)算[CentOS7] | HBase完全分布式集群搭建

    本系列文章索引以及一些默認(rèn)好的條件在 傳送門(mén) 默認(rèn)使用master節(jié)點(diǎn)并用root用戶登錄終端進(jìn)行操作 文章難免會(huì)有點(diǎn)小bug,如果有顯而易見(jiàn)的錯(cuò)誤,比如沒(méi)有創(chuàng)建文件夾時(shí)就已經(jīng)開(kāi)始在該文件夾下操作,還請(qǐng)讀者自行創(chuàng)建~ 官網(wǎng)下載地址 博主因?yàn)檎n程需要以及版本問(wèn)題,下載的

    2023年04月23日
    瀏覽(31)
  • 【Centos8_配置單節(jié)點(diǎn)偽分布式Spark環(huán)境】

    【Centos8_配置單節(jié)點(diǎn)偽分布式Spark環(huán)境】

    安裝centos8 jdk 部署偽分布式spark環(huán)境 下載jdk linux版本 下載鏈接: jdk-8u381-linux-x64.tar.gz 將該文件上傳到Centos8 主機(jī) 部署配置jdk(java8) 詳細(xì)的Hadoop偽分布式配置 這里不是重點(diǎn),如果感興趣,請(qǐng)參照文后參考鏈接 上傳spark到centos8 解壓spark到指定目錄 配置spark偽分布式環(huán)境 開(kāi)啟

    2024年02月10日
    瀏覽(56)
  • 三臺(tái)CentOS7.6虛擬機(jī)搭建Hadoop完全分布式集群(一)

    三臺(tái)CentOS7.6虛擬機(jī)搭建Hadoop完全分布式集群(一)

    這個(gè)是筆者大學(xué)時(shí)期的大數(shù)據(jù)課程使用三臺(tái)CentOS7.6虛擬機(jī)搭建完全分布式集群的案例,已成功搭建完全分布式集群,并測(cè)試跑實(shí)例。 1.1安裝完虛擬機(jī)發(fā)現(xiàn)沒(méi)有sudo命令和hadoop用戶執(zhí)行命令失敗 我在安裝CentOS 7.6虛擬機(jī)后,我發(fā)現(xiàn)不能執(zhí)行sudo命令,同時(shí)hadoop用戶執(zhí)行命令失敗。

    2024年02月03日
    瀏覽(29)
  • Hadoop集群搭建記錄 | 云計(jì)算[CentOS7] | 偽分布式集群 Master運(yùn)行WordCount

    Hadoop集群搭建記錄 | 云計(jì)算[CentOS7] | 偽分布式集群 Master運(yùn)行WordCount

    本系列文章索引以及一些默認(rèn)好的條件在 傳送門(mén) 首先需要明確eclipse安裝目錄,然后將hadoop-eclipse-plugin_版本號(hào).jar插件放在安裝目錄的dropins下 關(guān)于插件,可以通過(guò)博主上傳到csdn的免費(fèi)資源獲取,鏈接 具體版本可以自己選擇: 在eclipse界面中依次選擇:Window→show view→other→

    2023年04月09日
    瀏覽(56)
  • Hadoop(偽分布式)+Spark(local模式)搭建Hadoop和Spark組合環(huán)境

    Hadoop(偽分布式)+Spark(local模式)搭建Hadoop和Spark組合環(huán)境

    環(huán)境 使用 Ubuntu 14.04 64位 作為系統(tǒng)環(huán)境(Ubuntu 12.04,Ubuntu16.04 也行,32位、64位均可),請(qǐng)自行安裝系統(tǒng)。 Hadoop版本 : Hadoop 2.7.4 創(chuàng)建hadoop用戶 如果你安裝 Ubuntu 的時(shí)候不是用的 \\\"hadoop\\\" 用戶,那么需要增加一個(gè)名為 hadoop 的用戶。 首先按 ctrl+alt+t 打開(kāi)終端窗口,輸入如下命令創(chuàng)

    2023年04月08日
    瀏覽(39)
  • 大數(shù)據(jù)開(kāi)源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    大數(shù)據(jù)開(kāi)源框架環(huán)境搭建(七)——Spark完全分布式集群的安裝部署

    前言:七八九用于Spark的編程實(shí)驗(yàn) 大數(shù)據(jù)開(kāi)源框架之基于Spark的氣象數(shù)據(jù)處理與分析_木子一個(gè)Lee的博客-CSDN博客_spark輿情分析 目錄 實(shí)驗(yàn)環(huán)境: 實(shí)驗(yàn)步驟: 一、解壓 二、配置環(huán)境變量:? 三、修改配置文件? 1.修改spark-env.sh配置文件: 2.修改配置文件slaves: 3.分發(fā)配置文件:

    2024年02月11日
    瀏覽(94)
  • Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    Linux從零搭建Hadoop集群(CentOS7+hadoop 3.2.0+JDK1.8+Mapreduce完全分布式集群案例)

    和相關(guān)配置版本 :Linux CentOS Hadoop Java 版本: CentOS7 Hadoop3.2.0 JDK1.8 虛擬機(jī)參數(shù)信息內(nèi)存3.2G、處理器2x2、內(nèi)存50G ISO:CentOS-7-x86_64-DVD-2009.iso 基本主從思路: 先把基礎(chǔ)的設(shè)置(SSH、JDK、Hadooop、環(huán)境變量、Hadoop和MapReduce配置信息)在一臺(tái)虛擬機(jī)(master)上配好,通過(guò)

    2024年02月05日
    瀏覽(28)
  • 大數(shù)據(jù)技術(shù)棧-Hadoop3.3.4-完全分布式集群搭建部署-centos7(完全超詳細(xì)-小白注釋版)虛擬機(jī)安裝+平臺(tái)部署

    目錄 環(huán)境條件: 1、安裝虛擬機(jī)(已安裝好虛擬機(jī)的可跳轉(zhuǎn)至? 二、安裝JDK與Hadoop) (1)直接新建一臺(tái)虛擬機(jī) (2)首次啟用虛擬機(jī),進(jìn)行安裝 一、集群前置環(huán)境搭建(三臺(tái)機(jī)器分別設(shè)置hostname、網(wǎng)卡(ip)配置、ssh免密登錄) 1、查看一下本機(jī)與虛擬機(jī)的網(wǎng)卡和ip信息 (1)

    2024年02月06日
    瀏覽(31)
  • 基于Docker搭建hdfs分布式實(shí)驗(yàn)環(huán)境

    理論知識(shí) Docker Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,基于?Go 語(yǔ)言?并遵從 Apache2.0 協(xié)議開(kāi)源。Docker 可以讓開(kāi)發(fā)者打包他們的應(yīng)用以及依賴包到一個(gè)輕量級(jí)、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任

    2023年04月08日
    瀏覽(18)
  • CentOS7安裝Zookeeper分布式集群

    前言 ZooKeeper 是一個(gè)開(kāi)源的分布式協(xié)調(diào)服務(wù)框架,主要用于分布式系統(tǒng)中的數(shù)據(jù)同步、配置管理、集群控制和命名服務(wù)等方面的處理。本文在3個(gè)系統(tǒng)為CentOS7的Linux節(jié)點(diǎn)上配置了Zookeeper分布式集群,安裝配置的過(guò)程均在普通用戶 sxZhang 的賬戶上完成,安裝路徑為 ~/bigdata ,3個(gè)

    2024年01月17日
    瀏覽(26)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包