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 裝java(JDK)
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所有節點包括新老dn和namenode,jobtracker,改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 jar,yarn 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資料庫專用]
4)sqoop測試
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安裝手冊》