Hadoop2.7.3+Centos7
配置之前的準備
環境 centos 7.2+
了解hadoop以及後面一系列需要的服務之間的大致關系,以及相互的支持連接所需物件。
1.賬戶
useradd -m hadoop -s /bin/bash
# -m 完整的用戶空間(在/home裏自建一個用戶文件夾並配置相關文件夾)
# -s 確定shell類型
#關於賬戶要確定一下賬戶的名稱,最一個集群裏的賬戶名一樣,後面不用太操心
2.sudo 添加
[root@master local]# visudo
相比較直接修改 /etc/sudoers 更安全更方便
## Allow root to run any commands anywhere root ALL=(ALL) ALL hadoop ALL=(ALL) ALL
我加的就是hadoop賬戶 ,
關於權限的操作主要有chown 和chmod
eg:
chown -R hadoop:hadoop /usr/local/hadoop
chmod 755 /usr/local/hadoop
3,.ip/映射
添加在/etc/hosts
master 為主,namenode
slave1,slave2為datanode
[root@master local]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.10.120 master 192.168.10.114 slave1 192.168.10.109 slave2
# 左ip 右主機名(不知道這樣說準不準確)
4.主機名修改
(1) hostnamectl set-hostname XXXX
# 修改後退出當前終端再開一個就會發下已經更改了
(2) 直接修改 /etc/hostname
5.如果要建hadoop集群,虛擬機需要使用橋接,也可使用雙網卡,
6.ssh
每個節點
yum -y install openssh ssh-keygen -t rsa #後直接回車到底 cd ~/.ssh #除了master節點 scp id_rsa.pub hadoop@master:/home/hadoop/id_rsa01.pub scp id_rsa.pub hadoop@master:/home/hadoop/id_rsa02.pub #master: cd ~/.ssh cat id_rsa.pub >>authorized_keys cat id_rsa01.pub >>/home/hadoop/.ssh/authorized_keys cat id_rsa02.pub >>/home/hadoop/.ssh/authorized_keys
#其他節點 cd ~/.ssh scp authorized_keys root@slave1:/home/hadoop/.ssh scp authorized_keys root@slave2:/home/hadoop/.ssh
使用時可能會要輸密碼,主要是在~/.ssh/known-host中沒有要連接的機子,所以要驗證一下
7.修改權限
[hadoop@master local]$ chmod 600 ~/.ssh/authorized_keys
8.解壓
tar -zxvf xxxxx.tar.gz unzip xxxxx.zip
#此時我修改了有關的包的版本號
#如 mv hadoop-2.7.3 hadoop
mv jdk1.8.0 java
tar -zxvf jdk-8u111-linux-x64.tar.gz -C /usr/local
tar -zxvf hadoop.tar.gz -C /usr/local
#解壓到/usr/local
9.環境變量
#/etc/profile 全局變量,普通用戶,root都能用
#/home/hadoop/.bashrc 單一變量,只有 文件所在位置 的用戶 自身 能用 ,root也不行,就是說,sudo時,會找不到環境變量。這時,只能修改所用文件的權限,或者在/etc/profile中添加環境變量
export JAVA_HOME=/usr/local/java export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$JAVA_HOME/bin
#更改後更新source /etc/profile
hadoop2.7.3:https://pan.baidu.com/s/1kXaLrbp 密碼:q0ok
jdk1.8.0: https://pan.baidu.com/s/1htxBMJy 密碼:lg9m
10.配置
cd hadoop/etc/hadoop/
hadoop-env.sh
# 修改export JAVA_HOME= ${JAVA_HOMR}
export JAVA_HOME=/usr/local/java
slaves
slave1
slave2
#datanode節點名,也能直接用ip
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> </property> </configuration>
hdfs-site.xml
<property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property>
mapred-site.xml
mv mapred-site.xml.template mapred-site.xml <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
#這也可以不配,不影響啟動
#<property> #<name>mapreduce.jobhistory.address</name> #<value>master:10020</value> #</property> #<property> #<name>mapreduce.jobhistory.webapp.address</name> #<value>master:19888</value> #</property>
yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
11.hdfs namenode -format
#在master中運行以上命令 主要是檢查標簽的錯誤
12.防火墻
在啟動集群之前需要關閉centos 的防火墻:
service iptables stop
chkconfig iptables off
關閉ubuntu防火墻 ufw disable
查看防火墻狀態 ufw status
scp -r /usr/local/hadoop hadoop@slave1:/usr/local/
scp -r /usr/local/hadoop hadoop@slave2:/usr/local/
這次傳一定不行,可以先傳到 /home/hadoop/Desktop 再轉到/usr/local
還要記得修改所有者 用chown -R
13.查看集群開啟狀態
hdfs dfsadmin -report
[hadoop@master Desktop]$ hdfs dfsadmin -report Safe mode is ON Configured Capacity: 38002491392 (35.39 GB) Present Capacity: 25061294080 (23.34 GB) DFS Remaining: 25061277696 (23.34 GB) DFS Used: 16384 (16 KB) DFS Used%: 0.00% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 11 Missing blocks (with replication factor 1): 6 ------------------------------------------------- Live datanodes (2): Name: 192.168.10.114:50010 (slave1) Hostname: slave1 Decommission Status : Normal Configured Capacity: 19001245696 (17.70 GB) DFS Used: 8192 (8 KB) Non DFS Used: 6133903360 (5.71 GB)
14.wordcount
hdfs dfs mkdir /input echo “hello,world.hello,hadoop”>>test1.txt echo “hello,world.hello,hadoop”>>test2.txt hdfs dfs -put /usr/local/test*.txt /onput hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input /output
hadoop 官方文檔:
http://hadoop.apache.org/docs/r1.0.4/cn/
關於以上言論如果有各種問題,歡迎大家提出修改意見。
---恢復內容結束---
Hadoop2.7.3+Centos7