真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

生產環(huán)境下hadoopHA集群及HbaseHA集群配置

一、環(huán)境準備

成都創(chuàng)新互聯(lián)是專業(yè)的濱州網(wǎng)站建設公司,濱州接單;提供成都網(wǎng)站制作、成都網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行濱州網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

操作系統(tǒng)版本:
centos7 64位

hadoop版本:
hadoop-2.7.3

hbase版本:

hbase-1.2.4

1、機器及角色

IP角色
192.168.11.131NamenodeDFSZKFailoverControllerResourceManagerJobhistory



HMasterQuorumPeerMain
192.168.11.132NamenodeDFSZKFailoverController





HMasterQuorumPeerMain
192.168.11.133



DatanodeNodeManagerJournalNodeHRegionServer
QuorumPeerMain
192.168.11.134



DatanodeNodeManagerJournalNodeHRegionServer
QuorumPeerMain
192.168.11.135



DatanodeNodeManagerJournalNodeHRegionServer
QuorumPeerMain

master1:

# hostnamectl set-hostname master1

其他主機名分別配置為master2、slave1、slave2、slave3

2、所有節(jié)點關閉防火墻及selinux

說明:

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

查看防火墻狀態(tài)

# firewall-cmd --state

running

關閉防火墻

# systemctl stop firewalld.service

防火墻配置為禁用狀態(tài)

# systemctl disable firewalld.service

立即關閉selinux(臨時)

# setenforce 0

永久關閉selinux

# vi /etc/sysconfig/selinux

SELINUX=enforcing --> disabled

3、配置yum源

所有節(jié)點配置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 root@192.168.11.131:/etc/yum.repos.d/

# scp CentOS-Base.repo root@192.168.11.132:/etc/yum.repos.d/

# scp CentOS-Base.repo root@192.168.11.133:/etc/yum.repos.d/

# scp CentOS-Base.repo root@192.168.11.134:/etc/yum.repos.d/

# yum clean all

# yum makecache

# yum update

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

所有節(jié)點安裝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

對出現(xiàn)的報錯做處理

# 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文件

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

# hostnamectl set-hostname master1~slave3

臨時修改主機名

# hostname master1~slave3

主節(jié)點修改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 root@192.168.11.132~135:/etc/

所有節(jié)點創(chuàng)建管理用戶和組

創(chuàng)建組和用戶

# groupadd hduser

# useradd -g hduser hduser

# passwd hduser

二、配置hadoop環(huán)境

1、創(chuàng)建目錄并賦權

每臺機器上創(chuàng)建如下文件夾

# mkdir /data1

# mkdir /data2

修改權限

# chown hduser:hduser /data1

# chown hduser: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節(jié)點操作

# su - hduser

$ ssh-keygen -t rsa?

$ cd ~/.ssh

$ cat id_rsa.pub >> authorized_keys

master1節(jié)點操作

$ ssh-copy-id -i ~/.ssh/id_rsa.pub hduser@master2

master2節(jié)點操作

$ scp ~/.ssh/authorized_keys hduser@master1:~/.ssh/

slave1、slave2和slave3節(jié)點創(chuàng)建.ssh目錄

# mkdir /home/hduser/.ssh?

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

master1節(jié)點操作

$ scp ~/.ssh/authorized_keys hduser@slave1:~/.ssh

$ scp ~/.ssh/authorized_keys hduser@slave2:~/.ssh

$ scp ~/.ssh/authorized_keys hduser@slave3:~/.ssh

master1和master2節(jié)點驗證

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

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

$ chmod 600 ~/.ssh/authorized_keys

$ chmod 700 ~/.ssh

3、所有節(jié)點配置java環(huán)境

$ 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節(jié)點配置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

?

? ?fs.defaultFS

? ?hdfs://masters

?

?

?

? ?hadoop.tmp.dir

? ?/data2/hadoop_data/hadoop_tmp

?

?

?

? ?ha.zookeeper.quorum

? ?master1:2181,master2:2181,slave1:2181,slave2:2181,slave3:2181

?

編輯hdfs-site.xml

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

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.nameservices

? ? ? ? ? ? ? ?masters

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.ha.namenodes.masters

? ? ? ? ? ? ? ?master1,master2

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.rpc-address.masters.master1

? ? ? ? ? ? ? ?master1:9000

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.http-address.masters.master1

? ? ? ? ? ? ? ?master1:50070

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.rpc-address.masters.master2

? ? ? ? ? ? ? ?master2:9000

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.http-address.masters.master2

? ? ? ? ? ? ? ?master2:50070

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.name.dir

? ? ? ? ? ? ? ?file:///data2/hadoop_data/hdfs/namenode

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.datanode.data.dir

? ? ? ? ? ? ? ?file:///data1/hadoop_data/hdfs/datanode,data2/hadoop_data/hdfs/datanode

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.namenode.shared.edits.dir

? ? ? ? ? ? ? ?qjournal://slave1:8485;slave2:8485;slave3:8485/masters

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.journalnode.edits.dir

? ? ? ? ? ? ? ?/data2/hadoop_data/journal

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.ha.automatic-failover.enabled

? ? ? ? ? ? ? ?true

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.client.failover.proxy.provider.masters

? ? ? ? ? ? ? ?org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.ha.fencing.methods

? ? ? ? ? ? ? ?

? ? ? ? ? ? ? ? ?sshfence

? ? ? ? ? ? ? ? ?shell(/bin/true)

? ? ? ? ? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.ha.fencing.ssh.private-key-files

? ? ? ? ? ? ? ?/home/hduser/.ssh/id_rsa

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.ha.fencing.ssh.connect-timeout

? ? ? ? ? ? ? ?30000

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.datanode.max.xcievers

? ? ? ? ? ? ? ?8192

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?dfs.qjournal.write-txns.timeout.ms

? ? ? ? ? ? ? ?60000

? ? ? ?

編輯yarn-site.xml

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

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.ha.enabled

? ? ? ? ? ? ? ?true

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.cluster-id

? ? ? ? ? ? ? ?RM_HA_ID

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.ha.rm-ids

? ? ? ? ? ? ? ?rm1,rm2

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.hostname.rm1

? ? ? ? ? ? ? ?master1

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.hostname.rm2

? ? ? ? ? ? ? ?master2

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.recovery.enabled

? ? ? ? ? ? ? ?true

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.store.class

? ? ? ? ? ? ? ?org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore

? ? ? ?

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.resourcemanager.zk-address

? ? ? ? ? ? ? ?master1:2181,master2:2181,slave1:2181,slave2:2181,slave3:2181

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.nodemanager.aux-services

? ? ? ? ? ? ? ?mapreduce_shuffle

? ? ? ?

? ? ? ?

? ? ? ? ? ? ? ?yarn.nodemanager.aux-services.mapreduce.shuffle.class

? ? ? ? ? ? ? ?org.apache.hadoop.mapred.ShuffleHandler

? ? ? ?

編輯mapred-site.xml

$ cp /data1/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml.template /data1/usr/hadoop-2.7.3/etc/hadoop/mapred-site.xml

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

?

?

? ?mapreduce.framework.name

? ?yarn

?

編輯slaves

$ vi /data1/usr/hadoop-2.7.3/etc/hadoop/slaves

slave1

slave2

slave3

同步hadoop配置到其他節(jié)點

$ for ip in `seq 2 5`;do scp -rpq /data1/usr/hadoop-2.7.3 192.168.11.13$ip:/data1/usr;done

5、各節(jié)點zookeeper配置

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

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

創(chuàng)建目錄

$ mkdir -p /home/hduser/storage/zookeeper

$ cd /data1/usr/src

$ tar -zxf zookeeper-3.4.6.tar.gz -C /data1/usr

編輯zoo.cfg

$ cp /data1/usr/zookeeper-3.4.6/conf/zoo_sample.cfg /data1/usr/zookeeper-3.4.6/conf/zoo.cfg

$ vi /data1/usr/zookeeper-3.4.6/conf/zoo.cfg

dataDir=/home/hduser/storage/zookeeper

server.1=master1:2888:3888

server.2=master2:2888:3888

server.3=slave1:2888:3888

server.4=slave2:2888:3888

server.5=slave3:2888:3888

master1-slave3各節(jié)點依次做操作

$ echo "1" > /home/hduser/storage/zookeeper/myid

$ echo "2" > /home/hduser/storage/zookeeper/myid

$ echo "3" > /home/hduser/storage/zookeeper/myid

$ echo "4" > /home/hduser/storage/zookeeper/myid

$ echo "5" > /home/hduser/storage/zookeeper/myid

各節(jié)點啟動ZK服務

$ cd /data1/usr/zookeeper-3.4.6/bin?

$ ./zkServer.sh start?

6、slave1、slave2和slave3啟動journalnode

$ cd /data1/usr/hadoop-2.7.3/sbin?

$ ./hadoop-daemon.sh start journalnode?

用jps確認啟動結果

7、在master1上格式化zookeeper節(jié)點格式化(第一次)

$ cd /data1/usr/hadoop-2.7.3

$ ./bin/hdfs zkfc -formatZK

8、在master1上執(zhí)行命令格式化文件系統(tǒng)

./bin/hadoop namenode -format

9、在master1上啟動namenode和zkfc服務

./sbin/hadoop-daemon.sh start namenode

./sbin/hadoop-daemon.sh start zkfc

10、需要在master2(備節(jié)點)上執(zhí)行數(shù)據(jù)同步

./bin/hdfs namenode –bootstrapStandby

在master1上拷貝文件到master2

scp -r /data2/hadoop_data/hdfs/namenode hduser@master2:/data2/hadoop_data/hdfs/

11、在master2上啟動namenode和zkfc服務

./sbin/hadoop-daemon.sh start namenode

./sbin/hadoop-daemon.sh start zkfc

12、設置master1為active

./bin/hdfs haadmin -transitionToActive master1

./bin/hdfs haadmin -getServiceState master1

13、在master1上啟動datanode

./sbin/hadoop-daemons.sh start datanode

14、啟動HDFS(第二次以后)

在master1上執(zhí)行命令:

./sbin/start-dfs.sh

15、啟動YARN

在master1上執(zhí)行命令:

./sbin/start-yarn.sh

16、啟動Jobhistory

./sbin/mr-jobhistory-daemon.sh start historyserver

17、驗證

驗證namenode

http://master1:50070

Overview 'master1:9000' (active)

http://master2:50070

Overview 'master2:9000' (standby)

18、驗證文件系統(tǒng)

上傳文件

./bin/hadoop fs -put /data1/usr/hadoop-2.7.3/etc/hadoop /test/hadoop

./bin/hadoop fs -ls /test

19、namenode的備份驗證

殺死m(xù)aster1,master2變?yōu)閍ctive

20、驗證yarn

./bin/hadoop jar /data1/usr/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test/hadoop /test/out

三、安裝HBASE

下載hbase-1.2.4-bin.tar.gz,解壓

$ cd /data1/usr/src

$ tar -zxvf hbase-1.2.4-bin.tar.gz? -C /data1/usr/

3、創(chuàng)建目錄

$ mkdir -p /data1/hadoop_data/hbase_tmp

$ mkdir -p /data2/hadoop_data/hbase_tmp?

2、配置master1的hbase環(huán)境

配置hbase-env.sh

$ vi /data1/usr/hbase-1.2.4/conf/hbase-env.sh

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

export HBASE_PID_DIR=/data2/hadoop_data/pids

export HBASE_MANAGES_ZK=false

export HADOOP_HOME=/data1/usr/hadoop-2.7.3

3、配置hbase-site.xml

$ vi /data1/usr/hbase-1.2.4/conf/hbase-site.xml

? ?

? ? ? ?hbase.rootdir

? ? ? ?hdfs://masters/hbase

? ?

? ?

? ?

? ? ? ?hbase.cluster.distributed

? ? ? ?true

? ?

? ?

? ? ? ?hbase.master.port

? ? ? ?60000

? ?

? ?

? ? ? ?hbase.tmp.dir

? ? ? ?/data2/hadoop_data/hbase_tmp

? ?

? ?

? ? ? ?hbase.zookeeper.quorum

? ? ? ?master1,master2,slave1,slave2,slave3

? ?

4、配置regionservers

$ vi /data1/usr/hbase-1.2.4/conf/regionservers

slave1

slave2

slave3

5、配置backup-masters

$ vi /data1/usr/hbase-1.2.4/conf/backup-masters

master2

6、移除 HBase 里面的不必要 log4j 的 jar 包

cd ${HBASE_HOME}/lib

mv slf4j-log4j12-1.7.5.jar slf4j-log4j12-1.7.5.jar.bak

7、將master1的hbase環(huán)境傳輸?shù)狡渌?jié)點

$ for ip in `seq 2 5`;do scp -rpq /data1/usr/hbase-1.2.4 192.168.11.13$ip:/data1/usr;done

8、master1上啟動Hbase(hadoop集群已啟動)

$ cd /data1/usr/hbase-1.2.4/bin?

$ ./start-hbase.sh

9、驗證

查看hbase是否在HDFS文件系統(tǒng)創(chuàng)建成功

$ /data1/usr/hadoop-2.7.3/bin/hadoop fs -ls /?

執(zhí)行: bin/hbase shell 可以進入Hbase管理界面、

輸入 status 查看狀態(tài)

創(chuàng)建表

create 'test', 'cf'

顯示表信息

list 'test'

表中插入數(shù)據(jù)

put 'test', 'row1', 'cf:a', 'value1'

put 'test', 'row2', 'cf:b', 'value2'

put 'test', 'row3', 'cf:c', 'value3'

查詢表

scan 'test'

取一行數(shù)據(jù)

get 'test', 'row1'

失效表

disable 'test'

刪除表

drop 'test'

瀏覽器輸入http://master1:16010可以打開Hbase管理界面

http://192.168.11.131/master-status

10、啟動thrift2

hbase-daemons.sh start thrift2

各節(jié)點用jps確認服務是否啟動,一般啟動失敗的原因是配置有誤。


當前題目:生產環(huán)境下hadoopHA集群及HbaseHA集群配置
網(wǎng)站路徑:http://weahome.cn/article/pcegoj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部