1. 程式人生 > >Hadoop叢集安裝、擴容等操作

Hadoop叢集安裝、擴容等操作

0 Hadoop叢集機器配置

公司正式叢集機子:記憶體32G儲存24T,另有1塊1T的本地盤

namenode和secondery namenode配Xeon E5-2640,24執行緒

其餘節點配Xeon E5-2609,8執行緒

安裝cdh 5u3

1 Hadoop叢集安裝

1.1 Hadoop環境配置

1.JDK安裝配置

1)關閉防火牆:chkconfig iptables off   

2)vi /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disabled

3)修改主機名:vi /etc/sysconfig/network 

     NETWORKING= yes

網路是否可用

     HOSTNAME=xxxx xxxx為新設定的主機名

4)確保ssh服務開啟,啟動ssh命令:servicesshd start

5)從官網下載jdk包,解壓出來(tar -xzvf jdk)

6)配置java環境

利用用root使用者配置

vi /etc/profile 

在檔案裡新增: 
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_71
export HADOOP_HOME=/software/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

儲存完檔案後,執行source /etc/profile使得配置能夠生效

1.2 Hadoop文件配置

1.配置免密碼登入設定(包含本機的免密登入)

1)生成金鑰對命令 ssh-keygen -t rsa

2)修改hosts檔案 vi /etc/hosts,在檔案末追加以下內容(都是些host)

3)cat id_rsa.pub >> authorized_keys

  scp id_rsa.pubhd0001:/home/hdfs/.ssh/id_rsahd0002.pub

  cat id_rsahd0002.pub>> authorized_keys

4)執行ssh hd0001驗證免密碼登入是否成功

2.hadoop相關文件修改(可參見官網說明)

1)hadoop-env.sh

2)core-site.xml

3)hdfs-site.xml

4)mapred-site.xml

5)slaves

1.3 監控地址

2 Hadoop增加新節點

2.1 格式化新盤

在每臺機器上執行:

mkfs -t ext4 /dev/sdb

mkfs -t ext4 /dev/sdc

mkfs -t ext4 /dev/sdd

mkfs -t ext4 /dev/sde

mkfs -t ext4 /dev/sdf

mkfs -t ext4 /dev/sdg

mkfs -t ext4 /dev/sdh

mkfs -t ext4 /dev/sdi

mkfs -t ext4 /dev/sdj

mkfs -t ext4 /dev/sdk

mkfs -t ext4 /dev/sdl

mkfs -t ext4 /dev/sdm

mkdir /opt/data01

mkdir /opt/data02

mkdir /opt/data03

mkdir /opt/data04

mkdir /opt/data05

mkdir /opt/data06

mkdir /opt/data07

mkdir /opt/data08

mkdir /opt/data09

mkdir /opt/data10

mkdir /opt/data11

mkdir /opt/data12

2.2 掛載新盤

vi /etc/fstab

增加以下內容並儲存:

/dev/sdb              /opt/data01               ext4    defaults        0 0

/dev/sdc              /opt/data02               ext4    defaults        0 0

/dev/sdd             /opt/data03               ext4    defaults        0 0

/dev/sde              /opt/data04               ext4    defaults        0 0

/dev/sdf              /opt/data05               ext4    defaults        0 0

/dev/sdg              /opt/data06               ext4   defaults        0 0

/dev/sdh              /opt/data07               ext4    defaults        0 0

/dev/sdi              /opt/data08               ext4    defaults        0 0

/dev/sdj              /opt/data09               ext4    defaults       0 0

/dev/sdk              /opt/data10               ext4    defaults        0 0

/dev/sdl              /opt/data11               ext4    defaults        0 0

/dev/sdm              /opt/data12               ext4    defaults        0 0

reboot (該命令重啟機器,注意)

2.3 建需要的使用者和組

useradd -d /home/hdfs -m hdfs

還有其他你自己需要的

2.4 建其他目錄

chown hdfs /opt/data01

chown hdfs /opt/data02

chown hdfs /opt/data03

chown hdfs /opt/data04

chown hdfs /opt/data05

chown hdfs /opt/data06

chown hdfs /opt/data07

chown hdfs /opt/data08

chown hdfs /opt/data09

chown hdfs /opt/data10

chown hdfs /opt/data11

chown hdfs /opt/data12

mkdir -m 750 /opt/data01/hdfs

chown hdfs:hdfs /opt/data01/hdfs

mkdir -m 775 /opt/data01/mapred

chown hdfs:hdfs /opt/data01/mapred

mkdir -m 750 /opt/data02/hdfs

chown hdfs:hdfs /opt/data02/hdfs

mkdir -m 775 /opt/data02/mapred

chown hdfs:hdfs /opt/data02/mapred

mkdir -m 750 /opt/data03/hdfs

chown hdfs:hdfs /opt/data03/hdfs

mkdir -m 775 /opt/data03/mapred

chown hdfs:hdfs /opt/data03/mapred

mkdir -m 750 /opt/data04/hdfs

chown hdfs:hdfs /opt/data04/hdfs

mkdir -m 775 /opt/data04/mapred

chown hdfs:hdfs /opt/data04/mapred

mkdir -m 750 /opt/data05/hdfs

chown hdfs:hdfs /opt/data05/hdfs

mkdir -m 775 /opt/data05/mapred

chown hdfs:hdfs /opt/data05/mapred

mkdir -m 750 /opt/data06/hdfs

chown hdfs:hdfs /opt/data06/hdfs

mkdir -m 775 /opt/data06/mapred

chown hdfs:hdfs /opt/data06/mapred

mkdir -m 750 /opt/data07/hdfs

chown hdfs:hdfs /opt/data07/hdfs

mkdir -m 775 /opt/data07/mapred

chown hdfs:hdfs /opt/data07/mapred

mkdir -m 750 /opt/data08/hdfs

chown hdfs:hdfs /opt/data08/hdfs

mkdir -m 775 /opt/data08/mapred

chown hdfs:hdfs /opt/data08/mapred

mkdir -m 750 /opt/data09/hdfs

chown hdfs:hdfs /opt/data09/hdfs

mkdir -m 775 /opt/data09/mapred

chown hdfs:hdfs /opt/data09/mapred

mkdir -m 750 /opt/data10/hdfs

chown hdfs:hdfs /opt/data10/hdfs

mkdir -m 775 /opt/data10/mapred

chown hdfs:hdfs /opt/data10/mapred

mkdir -m 750 /opt/data11/hdfs

chown hdfs:hdfs /opt/data11/hdfs

mkdir -m 775 /opt/data11/mapred

chown hdfs:hdfs /opt/data11/mapred

mkdir -m 750 /opt/data12/hdfs

chown hdfs:hdfs /opt/data12/hdfs

mkdir -m 775 /opt/data12/mapred

chown hdfs:hdfs /opt/data12/mapred

2.5修改主機名

vi /etc/sysconfig/network

2.6 javaJDK

yum install -y java-1.7.0-openjdk-devel

2.7老節點 scp以下檔案或目錄到新機器上

/software/hadoop-versions/hadoop-2.5.0-cdh5.3.0/

/software/hadoop-versions/hive-0.13.1-cdh5.3.0/

2.8建其他空檔案和軟鏈

空資料夾:許可權全部hdfs:hdfs  775

/software/hadoop-data/

/software/hadoop-dfs/

/software/hadoop-tmp

軟鏈:

ln -s/software/hadoop-versions/hadoop-2.5.0-cdh5.3.0 /software/hadoop

ln -s /software/hadoop-versions/hive-0.13.1-cdh5.3.0 /software/hive

2.9  /etc/profile

加入

source /software/hadoop_alias

然後

source /etc/profile

2.10所有節點包括新老dnnamenodejobtracker,改hosts

vi /etc/hosts

………………

2.11 配置免密

參考1.2節

3 Hadoop叢集操作常用命令

3.1 HDFS命令

參見:

常用的有-ls-cp-mv-rm-chown-text等幾個

不要再用“hadoop dfs”這種格式了,在以後版本中將不支援。

3.2 YARN命令

參見:

常用的有yarn jaryarn application

殺任務:yarn application -kill APPID

挪任務槽位:yarn application -movetoqueue APPID -queue QUEUENAME

3.3 其他常用

hadoop重新整理配置:

hadoop dfsadmin -refreshNodes

yarn rmadmin -refreshNodes

/停單個datanode

cd /software/hadoop/sbin

./yarn-daemon.sh start nodemanager (停是stop

./hadoop-daemon.sh start datanode(停是stop

4 Hive安裝

4.1 建立Hive庫和Hive使用者

1)建立資料庫hive

mysql>create database hive;

2)建立hive使用者

mysql>create user hive IDENTIFIEDBY 'hive';

mysql>use hive;

mysql>grant all on hive.* to'hive'@'hd0006' identified by 'hive';  

mysql>flush privileges;

4.2 Hive文件配置

1)新增環境變數/etc/profile

exportHIVE_HOME=/software/hive

exportPATH=$HIVE_HOME/bin:$PATH:.

2)配置Hive

 改hive-env.sh和hive-site.xml,參見官方文件

3)啟動Hive

•命令列鍵入

bin/hive--service metastore &

bin/hive--service hiveserver2 &

>CREATEDATABASE jyfx WITH DBPROPERTIES ('creator' = 'jyfx', 'date' = '2015-04-12');

>grantall on database jyfx to user jyfx;

>createtable dual(a string);

>dfs-put abc.txt /group/jyfx/hive/jyfx.db/dual;

>select* from dual;

Ok

helloworld

5 Sqoop安裝

5.1 Sqoop環境變數配置

1)vi/etc/profile

export SQOOP_HOME=/software/sqoop

export PATH=$SQOOP_HOME/bin:$PATH

:wq

2)source/etc/profile

5.2 Sqoop文件配置

1)sqoop_env.sh

2)sqoop-site.xml

3)oraoop-site.xml [oracle資料庫專用]

4sqoop測試

5.3 Sqoop升級和回滾

1)軟鏈切換到2.0【在叢集的每臺機子上執行】

rm /software/sqoop

ln -s /software/hadoop-versions/sqoop-1.4.5-cdh5.3.0  /software/sqoop

rm /software/sqoop

ln -s /software/hadoop-versions/sqoop-1.3.0-cdh3u6  /software/sqoop

6 Hadoop升級

之前從3u6直接升級到5u3了(比較折騰,官方推薦是3升4升5,但我們一步到位搞定了),從略吧

7 Hive升級

也從略

8 Hue安裝

版本:hue-3.7.0-cdh5.3.0

8.1 Hue安裝

1)解開壓縮包:tar xzvf hue-3.7.0-cdh5.3.0.tar.gz

2)make安裝程式

cd /software/hue/

make apps

8.2 Hue.ini配置

8.3 Hue啟用

1)hive服務程序啟動

nohup /software/hive/bin/hive--service metastore > metastore.log & 

nohup /software/hive/bin/hive--service hiveserver2 > hiveserver2.log &

2)hue程序啟動

ps -ef |grep hue|awk '{print $2}' |xargs kill -9 

nohup /software/hue/build/env/bin/supervisor> supervisor.log &

3)開啟web應用介面url

http://10.100.10.2:8888/accounts/login/?next=/,新增superuser

9 Mahout安裝

版本:mahout-0.9-cdh5.3.0

9.1 Mahout安裝

tar xzvf mahout-0.9-cdh5.3.0.tar.gz

9.2 Mahout環境變數配置

vi /etc/profile

export MAHOUT_HOME=/software/mahout

export MAHOUT_CONF_DIR=$MAHOUT_HOME/conf

exportPATH=$HADOOP_HOME/bin:$HIVE_HOME/bin:$MAHOUT_HOME/conf:$MAHOUT_HOME/bin:$PATH

source /etc/profile

9.3 Mahout啟用

安裝成功

10 Impala安裝

參見另一個文件《Impala安裝手冊》