1. 程式人生 > >生產環境下hadoop HA叢集及Hbase HA叢集配置

生產環境下hadoop HA叢集及Hbase HA叢集配置

一、環境準備

作業系統版本:
centos7 64位

hadoop版本:
hadoop-2.7.3

hbase版本:

hbase-1.2.4

1、機器及角色

IP角色
192.168.11.131NamenodeDFSZKFailoverControllerResourceManagerJobhistoryHMasterQuorumPeerMain
192.168.11.132NamenodeDFSZKFailoverControllerHMasterQuorumPeerMain
192.168.11.133DatanodeNodeManagerJournalNodeHRegionServerQuorumPeerMain
192.168.11.134DatanodeNodeManagerJournalNodeHRegionServerQuorumPeerMain
192.168.11.135DatanodeNodeManagerJournalNodeHRegionServerQuorumPeerMain

master1:
# hostnamectl set-hostname master1
其他主機名分別配置為master2、slave1、slave2、slave3

2、所有節點關閉防火牆及selinux

說明:

命令前面#表示在root使用者下的操作,$表示在hduser使用者下操作的。

檢視防火牆狀態

# firewall-cmd --state

running

關閉防火牆

# systemctl stop firewalld.service

防火牆配置為禁用狀態

# systemctl disable firewalld.service

立即關閉selinux(臨時)

# setenforce 0

永久關閉selinux

# vi /etc/sysconfig/selinux

SELINUX=enforcing --> disabled


3、配置yum源

所有節點配置yum源

# cd 

# mkdir apps

http://mirrors.163.com/centos/7/os/x86_64/Packages/wget-1.14-15.el7.x86_64.rpm

# rpm -i wget-1.14-15.el7.x86_64.rpm 

# cd /etc/yum.repos.d

# wget  http://mirrors.aliyun.com/repo/Centos-7.repo

# mv Centos-7.repo CentOS-Base.repo 

# scp CentOS-Base.repo [email protected]:/etc/yum.repos.d/

# scp CentOS-Base.repo [email protected]:/etc/yum.repos.d/

# scp CentOS-Base.repo [email protected]:/etc/yum.repos.d/

# scp CentOS-Base.repo [email protected]:/etc/yum.repos.d/

# yum clean all

# yum makecache

# yum update

4、配置ntp時間同步,master1為ntp服務端,其他為ntp客戶端

所有節點安裝ntp

# yum install -y ntp

ntp server端:

首先配置當前時間

# date -s "2018-05-27 23:03:30"

編輯配置檔案

# vi /etc/ntp.conf

在註釋下新增兩行

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

server 127.127.1.0

fudge 127.127.1.0 stratum 11

註釋下面

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

啟動ntp服務並配置為開機自啟動

# systemctl start ntpd.service

# systemctl enable ntpd.service

ntp客戶端(其餘四臺都為ntp客戶端):

# vi /etc/ntp.conf

同樣註釋下新增兩行

#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

server 192.168.11.131

fudge 127.127.1.0 stratum 11

四行添加註釋

#server 0.centos.pool.ntp.org iburst

#server 1.centos.pool.ntp.org iburst

#server 2.centos.pool.ntp.org iburst

#server 3.centos.pool.ntp.org iburst

# systemctl start ntpd.service

# systemctl enable ntpd.service

手動同步時間

# ntpdate 192.168.11.131

28 May 07:04:50 ntpdate[1714]: the NTP socket is in use, exiting

對出現的報錯做處理

# lsof -i:123

-bash: lsof: command not found

# yum install -y lsof

# lsof -i:123

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

ntpd    1693  ntp   16u  IPv4  25565      0t0  UDP *:ntp 

ntpd    1693  ntp   17u  IPv6  25566      0t0  UDP *:ntp 

ntpd    1693  ntp   18u  IPv4  25572      0t0  UDP localhost:ntp 

ntpd    1693  ntp   19u  IPv4  25573      0t0  UDP localhost.localdomain:ntp 

ntpd    1693  ntp   20u  IPv6  25574      0t0  UDP localhost:ntp 

ntpd    1693  ntp   21u  IPv6  25575      0t0  UDP localhost.localdomain:ntp 

殺掉ntp的程序,注意ntp程序id各不相同,按實際情況處理

# kill -9 1693

再次同步時間成功

# ntpdate 192.168.11.131

27 May 23:06:14 ntpdate[1728]: step time server 192.168.11.131 offset -28808.035509 sec

5、修改主機名和hosts檔案

所有節點修改主機名(永久)

# hostnamectl set-hostname master1~slave3

臨時修改主機名

# hostname master1~slave3

主節點修改hosts檔案

# vi /etc/hosts

192.168.11.131    master1

192.168.11.132    master2

192.168.11.133    slave1

192.168.11.134    slave2

192.168.11.135    slave3

把hosts檔案覆蓋到其他機器

# scp /etc/hosts [email protected]~135:/etc/

所有節點建立管理使用者和組

建立組和使用者

# groupadd hduser

# useradd -g hduser hduser

# passwd hduser

二、配置hadoop環境

1、建立目錄並賦權

每臺機器上建立如下資料夾

# mkdir /data1

# mkdir /data2

修改許可權

# chown hudser:hduser /data1

# chown hudser:hduser /data2

# su hduser

$ mkdir -p /data1/hadoop_data/hdfs/namenode

$ mkdir -p /data2/hadoop_data/hdfs/namenode 

$ mkdir -p /data1/hadoop_data/hdfs/datanode(NameNode不要)

$ mkdir -p /data2/hadoop_data/hdfs/datanode(NameNode不要)

$ mkdir -p /data1/hadoop_data/pids

$ mkdir -p /data2/hadoop_data/pids 

$ mkdir -p /data1/hadoop_data/hadoop_tmp

$ mkdir -p /data2/hadoop_data/hadoop_tmp

2、無密驗證

master1和master2節點操作

# su - hduser

$ ssh-keygen -t rsa 

$ cd ~/.ssh

$ cat id_rsa.pub >> authorized_keys

master1節點操作

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

master2節點操作

$ scp ~/.ssh/authorized_keys [email protected]:~/.ssh/

slave1、slave2和slave3節點建立.ssh目錄

# mkdir /home/hduser/.ssh 

# chown hduser:hduser /home/hduser/.ssh 

master1節點操作

$ scp ~/.ssh/authorized_keys [email protected]:~/.ssh

$ scp ~/.ssh/authorized_keys [email protected]:~/.ssh

$ scp ~/.ssh/authorized_keys [email protected]:~/.ssh

master1和master2節點驗證

驗證方法,分別在兩個節點,ssh登陸本機(hdusser使用者)及其他四個節點,看看是不是無密登陸。

如果未通過驗證,所有機器執行下面命令

$ chmod 600 ~/.ssh/authorized_keys

$ chmod 700 ~/.ssh

3、所有節點配置java環境

$ mkdir -p /data1/usr/src 

上傳包到/data1/usr/src目錄下

$ cd /data1/usr/src

$ tar xf jdk1.7.0_79.tar -C /data1/usr/

$ vi ~/.bashrc

export JAVA_HOME=/data1/usr/jdk1.7.0_79      

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib/rt.jar

export PATH=$PATH:$JAVA_HOME/bin

$ source ~/.bashrc

4、mastar1節點配置hadoop

下載hadoop-2.7.3.tar.gz,上傳到/data1/usr/src

http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

$ cd /data1/usr/src 

$ tar -zxf hadoop-2.7.3.tar.gz -C /data1/usr/

編輯hadoop-env.sh

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/data1/usr/jdk1.7.0_79

export HADOOP_PID_DIR=/data1/hadoop_data/pids

export HADOOP_PID_DIR=/data2/hadoop_data/pids

export HADOOP_MAPRED_PID_DIR=/data1/hadoop_data/pids

編輯mapred-env.sh

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/mapred-env.sh

export HADOOP_MAPRED_PID_DIR=/data2/hadoop_data/pids

編輯yarn-env.sh

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/yarn-env.sh

export YARN_PID_DIR=/data2/hadoop_data/pids

編輯core-site.xml

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/core-site.xml

<configuration>

<!-- 指定hdfs的nameservice為masters -->

 <property>

   <name>fs.defaultFS</name>

   <value>hdfs://masters</value>

 </property>

 <!-- 指定hadoop執行時產生檔案的儲存目錄 -->

 <property>

   <name>hadoop.tmp.dir</name>

   <value>/data2/hadoop_data/hadoop_tmp</value>

 </property>

 <!-- 指定zookeeper地址 -->

 <property>

   <name>ha.zookeeper.quorum</name>

   <value>master1:2181,master2:2181,slave1:2181,slave2:2181,slave3:2181</value>

 </property>

</configuration>

編輯hdfs-site.xml

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/hdfs-site.xml

<configuration>

       <!--指定hdfs的nameservice為masters,需要和core-site.xml中的保持一致 -->

       <property>

               <name>dfs.nameservices</name>

               <value>masters</value>

       </property>

       <!-- h1下面有兩個NameNode,分別是master1,master2 -->

       <property>

               <name>dfs.ha.namenodes.masters</name>

               <value>master1,master2</value>

       </property>

       <!-- master1的RPC通訊地址 -->

       <property>

               <name>dfs.namenode.rpc-address.masters.master1</name>

               <value>master1:9000</value>

       </property>

       <!-- master1的http通訊地址 -->

       <property>

               <name>dfs.namenode.http-address.masters.master1</name>

               <value>master1:50070</value>

       </property>

       <!-- master2的RPC通訊地址 -->

       <property>

               <name>dfs.namenode.rpc-address.masters.master2</name>

相關推薦

生產環境hadoop HA叢集Hbase HA叢集配置

一、環境準備作業系統版本:centos7 64位hadoop版本:hadoop-2.7.3hbase版本:hbase-1.2.41、機器及角色IP角色192.168.11.131NamenodeDFSZKFailoverControllerResourceManagerJob

生產環境hadoop HA集群Hbase HA集群配置

自動切換 value 下載 shared 第一次 borde sla com 結果 一、環境準備操作系統版本:centos7 64位hadoop版本:hadoop-2.7.3hbase版本:hbase-1.2.41、機器及角色IP角色192.168.11.131Nameno

生產環境hadoop叢集配置之DNS配置實驗

一、實驗環境: Mac os 下 VirtualBox中三臺安裝centos 6.3虛擬機器 主機名 別名 IP地址 系統版本 角色 lhmaster lhmaster.lihui.hadoop 192.168.1.4 Centos

Linux Shell腳本生產環境安全地刪除文件

rm safe 腳本編寫背景 無論是生產環境、測試環境還是開發環境,經常需要使用rm命令刪除&批量一些“重要”目錄下的文件。按照Linux的哲學“小即是美”(一個程序只做一件事)+“用戶清楚自己做什麽”(用戶知道自己想要什麽,也明白自己在做什麽,並且會為自己的行為負責),那麽用戶在執行r

linux環境關於顯示日期修改密碼的小練習

一只小菜鳥的成長1.顯示1984-11-18是1984年的第幾天 2.顯示當前的日期 ##上面是兩種不同的表現形式## 3.在超級用戶下修改student用戶的密碼,並且student用戶在第一次登錄後強制修改密碼 ## passwd -e ## 強制修改密碼##註意:當使用root用戶修改其他用戶密

一次生產環境MongoDB備份還原數據

刪除 命令格式 type 庫存 功能 字符 導出文件 信息 fields 最近開發一個版本的功能當中用到了MongoDB分頁,懶於造數據,於是就研究了下從生產環境上導出數據到本地來進行測試。 研究了一下,發現MongoDB的備份還原和MySQL語法還挺類似,下面請看詳細介紹

如何在生產環境實現每天自動備份mysql數據庫

mysql mysql備份 自動備份mysql mysql數據庫備份 甘兵 1、描述 我相信很多朋友在工作都都會有這種需求,老板或領導讓你每天都要備份mysql數據庫,你該如何實現呢,是每天到一定的時間在服務器上敲一遍mysql的備份命令,還是想寫個腳本,定時定點的自動備份呢?我相信

hadoop、zookeeperhbase的啟動關閉

ado bsp nbsp serve star 目錄 per slave -h      hadoop     啟動:進入到hadoop目錄,sbin/start-all.sh   關閉:sbin/stop-all.sh   zookeeper   啟動:進入到zook

Maven_生產環境開發對Maven的需求

手動 不同 保存 拆分 多個 需要 開發 復制 strong 目前技術開發時存在的問題:   一個項目就是一個工程     如果一個項目非常龐大,就不適合繼續使用package來劃分模塊。最好是每一個模塊對應一個工程,利於分工協作。     借助Maven就可以將一個項目拆

java生產環境記憶體調優

Tomcat 效能監控與調優 Nginx 效能監控與調優 JVM 層 GC 調優 JAVA程式碼層調優 1.JVM的引數型別 標準引數(各版本中保持穩定) -help -server -client -version -showversion -cp -classpath

php在linux環境的安裝使用擴充套件的安裝

下載地址 http://php.net/downloads.php 開始安裝 第一步:安裝相應的庫檔案 yum install xml2-config xml2-confg-devel libxml2 libxml2-devel bzip2 bzip2-de

SpringCloud從入門到進階(四)——生產環境Eureka的完全分布式部署

分開 -s rip linux mas 此外 實例名 leo 版本 內容   由於前兩節的內容我們知道,開啟了preferIpAddress後,Eureka的偽分布式部署會提示replica不可用。這一節我們講解如何在生產環境下部署完全分布式的Eureka集群,確保開啟了p

SpringCloud從入門到進階(四)——生產環境Eureka的完全分散式部署

內容   由於前兩節的內容我們知道,開啟了preferIpAddress後,Eureka的偽分散式部署會提示replica不可用。這一節我們講解如何在生產環境下部署完全分散式的Eureka叢集,確保開啟了preferIpAddress後replica的可用性。 版本   IDE:IDEA 2017.2.

如何在生產環境實現每天自動備份mysql資料庫

www.syncnavigator.cn SyncNavigator 做資料同步時所支援的資料庫型別: 支援sqlserver 2000-2014所有版本,全相容,和MYsql 4.x 、MYsql 5.x 、MYsql 6.x版本。 來源資料庫和目標資料庫可以版本不同,比如:來源資料庫

redis叢集實戰(單臺機器Windows環境搭建3主3從redis叢集

本文主要展示在單臺win10機器上搭建三主三從redis叢集。 搭建過程 主要參考作者: 每天都在變得更好的阿飛  的兩篇部落格 《Redis叢集主從複製(一主兩從)搭建配置教程【Windows環境】》https://blog.csdn.net/u010648555/

windows 環境anaconda的安裝tensorflow1.9+opencv搭建

剛接觸計算機視覺,需要搭個開發環境,主要用到anaconda+TensorFlow+opencv。話不多說,直接幹。 我電腦是windows的,mac的安裝方式一樣。 1,下載anaconda  官網:https://www.anaconda.com/download/#windo

Ubuntu16.04環境搭建Hadoop3.0.3偽分散式叢集

    最近剛好趕上雙11騰訊促銷,於是搶購了一個8核16G記憶體的雲伺服器,加上業務上需要用到hadoop,hive,於是想搭建搭建一個hadoop分散式叢集,但是限於自己手頭上伺服器數量不多,因此打算先搭建一個hadoop偽分散式叢集。   首先介紹一下我的安裝

[JVM]生產環境jvm調優概述

JVM相關的典型面試問題: Java生產環境下效能監控與調優詳解 生產環境發生了記憶體溢位如何處理? 生產環境應該給伺服器分配多少記憶體合適? 如何對垃圾收集器的效能進行調優? 4.生產環境CPU負載飆高該如何處理? 5.生產環境應該給應用分

[JVM]Java生產環境效能監控與調優詳解_Btrace

本章關鍵詞:BTrace、攔截、注意事項 一、入門 1.做什麼的? 可以在應用程式不重啟,不修改的情況下,正在執行的情況下,動態的修改位元組碼,達到監控除錯的目的 可以動態的向目標應用程式的位元組碼注入追蹤程式碼 用到的技術 JavaComplierApi、J

[JVM]Java生產環境效能監控與調優_參考文件連結

第二章 jdk8工具集 https://docs.oracle.com/javase/8/docs/technotes/tools/unix/index.html Troubleshooting https://docs.oracle.com/javase/8/doc