日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

CLOUD 04:zookeeper,kafka,hadoop高可用

發布時間:2025/6/16 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CLOUD 04:zookeeper,kafka,hadoop高可用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

zookeeper 安裝

1 禁用防火墻和 selinux
2 設置 /etc/hosts ip 主機名對應關系
3 安裝 openjdk

zookeeper 角色,選舉
leader 集群主節點
follower 參與選舉的附屬節點
observer 不參與選舉的節點,同步 leader 的命名空間

1 拷貝配置文件
/usr/local/zookeeper/conf/zoo_sample.cfg 到
/usr/local/zookeeper/conf/zoo.cfg

2 修改配置文件vim /usr/local/zookeeper/conf/zoo.cfg
29 server.1=zk1:2888:3888
30 server.2=zk2:2888:3888
31 server.3=zk3:2888:3888
32 server.4=zk4:2888:3888:observer

3 創建目錄 zookeeper 配置文件里面的 dataDir 指定的目錄
mkdir /tmp/zookeeper
4 在目錄下創建 myid 文件,寫入自己的 id 值
echo 主機ID > /tmp/zookeeper/myid
如:
echo 1 > /tmp/zookeeper/myid
5 啟動集群,查看角色
/usr/local/zookeeper/bin/zkServer.sh start
/usr/local/zookeeper/bin/zkServer.sh status

kafka 集群安裝
1 禁用防火墻和 selinux
2 設置 /etc/hosts ip 主機名對應關系
3 安裝 openjdk
4 安裝 kafka 到 /usr/local/kafka
5 修改配置文件 /usr/local/kafka/config/server.properties
broker.id= id值不能相同
zookeeper.connect=zk1:2181,zk4:2181

啟動 kafka
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

同步到其他機器
rsync -zaSH m11:/usr/local/kafka /usr/local/
vim kafka/config/server.properties
broker.id= id值不能相同

驗證:
jps 能看到 kafka
netstat 能看到 9092 被監聽

創建主題
bin/kafka-topics.sh --create --zookeeper zk4:2181 --replication-factor 1 --partitions 1 --topic nsd1703

查看顯示已存在的主題
bin/kafka-topics.sh --list --zookeeper zk4:2181

查看主題的詳細信息
bin/kafka-topics.sh --describe --zookeeper zk1:2181,zk2:2181 --topic nsd1703

生存者發布信息
bin/kafka-console-producer.sh --broker-list zk1:9092,zk3:9092 --topic nsd1703

消費者消費信息
bin/kafka-console-consumer.sh --zookeeper zk1:2181,zk2:2181 --topic nsd1703 --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server zk1:9092,zk4:9092 --topic nsd1703

--from-beginning 是從頭開始消費消息

hadoop 高可用
初始化 4.20 機器
設置/etc/hosts 可以ping通所有
關閉selinux,firewalld
安裝openjdk jps
設置 免密碼登陸4.10到所有機器 4.20到所有機器

core-site.xml

<configuration><property><name>fs.defaultFS</name><value>hdfs://mycluster</value> </property><property><name>hadoop.tmp.dir</name><value>/var/hadoop</value></property><property><name>ha.zookeeper.quorum</name><value>node1:2181,node2:2181,node3:2181</value></property><property><name>hadoop.proxyuser.nfsuser.groups</name><value>*</value></property><property><name>hadoop.proxyuser.nfsuser.hosts</name><value>*</value></property> </configuration>

hdfs-site.xml

<configuration><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.nameservices</name><value>mycluster</value></property><property><name>dfs.ha.namenodes.mycluster</name><value>nn1,nn2</value></property><property><name>dfs.namenode.rpc-address.mycluster.nn1</name><value>master1:8020</value></property><property><name>dfs.namenode.rpc-address.mycluster.nn2</name><value>master2:8020</value></property><property><name>dfs.namenode.http-address.mycluster.nn1</name><value>master1:50070</value></property><property><name>dfs.namenode.http-address.mycluster.nn2</name><value>master2:50070</value></property><property><name>dfs.namenode.shared.edits.dir</name> #使用連接組<value>qjournal://node1:8485;node2:8485;node3:8485/mycluster</value></property><property><name>dfs.journalnode.edits.dir</name><value>/var/hadoop/journal</value> #使用此類監控</property><property><name>dfs.client.failover.proxy.provider.mycluster</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property><property><name>dfs.ha.fencing.methods</name><value>sshfence</value> #使用SSH切換</property><property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/root/.ssh/id_rsa</value> #默認密鑰路徑</property><property><name>dfs.ha.automatic-failover.enabled</name><value>true</value> #失敗自動切換</property> </configuration>

同步配置到所有集群機器

在其中一臺初始化 zookeeper 集群
在master執行
bin/hdfs zkfc -formatZK
在定義的節點啟動 journalnode
在m11,m12,m13執行
sbin/hadoop-daemon.sh start journalnode
在其中一臺 namenode 上執行格式化命令
在master執行
bin/hdfs namenode –format
格式化以后把數據目錄拷貝到另一臺 namenode
在master上執行
rsync -azSH --delete /var/hadoop new:/var/

初始化 JournalNode
在另一臺 namenode #new機器上
./bin/hdfs namenode -initializeSharedEdits
停止 JournalNode
在m11,m12,m13執行
sbin/hadoop-daemon.sh stop journalnode
啟動 dfs
在master
./sbin/start-dfs.sh
驗證配置
bin/hadoop dfsadmin -report

查看集群狀態 bin/hdfs haadmin -getServiceState nn1 bin/hdfs haadmin -getServiceState nn2
bin/hadoop fs -ls hdfs://mycluster/

bin/hadoop fs -mkdir hdfs://mycluster/input
驗證高可用,關閉 active namenode
sbin/hadoop-daemon.sh stop namenode

<configuration><!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property><property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property><property><name>yarn.resourcemanager.hostname.rm1</name><value>master1</value></property><property><name>yarn.resourcemanager.hostname.rm2</name><value>master2</value></property><property><name>yarn.resourcemanager.recovery.enabled</name><value>true</value></property><property><name>yarn.resourcemanager.store.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value></property><property><name>yarn.resourcemanager.zk-address</name><value>node1:2181,node2:2181,node3:2181</value></property><property><name>yarn.resourcemanager.cluster-id</name><value>yarn-ha</value></property> </configuration>

啟動服務,檢查狀態
sbin/start-yarn.sh
bin/yarn rmadmin -getServiceState rm1
bin/yarn rmadmin -getServiceState rm2

轉載于:https://blog.51cto.com/13478354/2082643

總結

以上是生活随笔為你收集整理的CLOUD 04:zookeeper,kafka,hadoop高可用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。