Hadoop hdfs配置
網(wǎng)絡(luò)情況:網(wǎng)絡(luò)為:192.168.80.0,網(wǎng)關(guān)為192.168.80.2,掩碼為255.255.255.0,域名202.196.32.1。
Hadoop平臺(tái)規(guī)劃:三臺(tái)linux主機(jī)使用64位CentOS7系統(tǒng),采用最小化安裝。用戶為都為hadoop,master為192.168.80.5,slaver1為192.168.80.6,slaver2為192.168.80.7。
一、在主機(jī)master上配置
1.安裝CentOS 7,選擇最小化安裝,其它可以采用默認(rèn)。
2.(root)設(shè)置靜態(tài)IP(*.*.*.5)地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
開戶網(wǎng)絡(luò):ifup ens33
3.使用putty連接該主機(jī)。
(root)帳戶添加帳戶hadoop:useradd hadoop;passwd hadoop
(root)?hostnamectl set-hostname master //修改主機(jī)名master:
exec bash //讓修改的主機(jī)名立即生效
vi /etc/hosts ?//添加三個(gè)ip 和 三個(gè)主機(jī)名的對(duì)應(yīng)關(guān)系。此處全部加上,復(fù)制后,另外兩個(gè)機(jī)器就不用再添加了。
4.(root)關(guān)閉selinux和firewalld:
setenforce 0 ?//關(guān)閉運(yùn)行的selinux
vi?/etc/sysconfig/selinux??//重啟selinux不會(huì)再運(yùn)行
systemctl stop firewalld??//停止防火墻
systemctl disable firewalld?//設(shè)置防火墻不開機(jī)自動(dòng)啟動(dòng)
5.(root)修改yum源為ustc的源。
cd /etc/yum.repos.d ?//切換工作目錄
mv CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Base.repo??//新建文件,添加內(nèi)容參考:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
yum makecache ?//更新yum
yum install rsync
yum install vim
yum install wget
6.(root)安裝java運(yùn)行環(huán)境。
1)下載jdk,需要到官方網(wǎng)絡(luò)注冊(cè)帳號(hào),得到下載地址后進(jìn)行下載:wget https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/jdk-8u211-linux-x64.tar.gz?AuthParam=1559117532_f52bb505fc34d78fff04ffb70d990331
2)tar –xvf jdk.tar.gz
3)vim /etc/profile,添加三行
export JAVA_HOME=/opt/jdk1.8.0_211
export CLASSPATH=.:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile,輸入java -version,測試。
7.復(fù)制出另外兩個(gè)系統(tǒng),(root)修改主機(jī)名分別為slaver1和slaver2,并分別設(shè)置IP地址(*.*.*.6)和(*.*.*.7)。
可參考第2,3步。設(shè)置完成后,重啟網(wǎng)絡(luò):ifdown ens33;ifup ens33
8.測試三個(gè)主機(jī)間的連接通連,使用ping master;ping slaver1;ping slaver2
二、配置免密登錄
1.在三個(gè)主機(jī)上分別使用hadoop帳戶分別運(yùn)行ssh-keygen.
2.把slaver1的生成的公鑰上傳到master上。
scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/slaver1.pub
3.把slaver2的生成的公鑰上傳到master上。
scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/slaver2.pub
4.在master上把master、slaver1,slaver2的公鑰合在一起:
cat id_rsa.pub slaver1.pub slaver2.pub >authorized_keys
5. chmod 600 authorized_keys??//修改該文件的權(quán)限為600
6.把該文件再上傳到slaver1和slaver2主機(jī)的相應(yīng)位置。
scp authorized_keys hadoop@slaver1:/home/hadoop/.ssh/authorized_keys
scp authorized_keys hadoop@slaver2:/home/hadoop/.ssh/authorized_keys
7.(root) vim /etc/ssh/sshd_config
PubkeyAuthentication yes??去掉前面#
8.(root)把該配置文件上傳到slaver1和slaver2主機(jī)的相應(yīng)位置。
scp /etc/ssh/sshd_config ?root@slaver1:/etc/ssh/sshd_config
scp /etc/ssh/sshd_config ?root@slaver2:/etc/ssh/sshd_config
9.重啟3個(gè)主機(jī)的sshd服務(wù)
systemctl restart sshd
10.使用hadoop帳戶測試3個(gè)主機(jī)中,任意2個(gè)的免密登錄是否正常(包括自己)。
ssh master;ssh slaver1;ssh slaver2
?
?
?
三、配置hadoop平臺(tái),使用hadoop用戶在master主機(jī)上配置,配置好后傳到另外兩個(gè)主機(jī)。
1. 在/home/hadoop下: wget ?http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.9.2/hadoop-2.9.2.tar.gz??//下載hadoop軟件包
2.?tar -xvf hadoop-2.9.2.tar.gz
3.(root)配置環(huán)境變量:vim /etc/profile
export HADOOP_HOME=/home/hadoop/hadoop-2.9.2
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
以下操作是在hadoop帳戶下。
4.(hadoop) cd hadoop-2.9.2;?mkdir hdptmp ?//在hadoop-2.9.2下創(chuàng)建目錄hdptmp
mkdir -p dfs/name;mkdir -p dfs/data
5.?配置hadoop-env.sh。
cd ?hadoop-2.9.2/etc/hadoop;vim hadoop-env.sh;
export JAVA_HOME=/opt/jdk1.8.0_211
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.9.2/etc/hadoop
source hadoop-env.sh
6. 配置core-site.xml
cd ?hadoop-2.9.2/etc/hadoop;vim core-site.xml;
在<configuration></configuration>節(jié)點(diǎn)中間加入。
????<property>
????????<name>hadoop.tmp.dir</name>
????????<value>/home/hadoop/hadoop-2.9.2/hdptmp</value>
????</property>
????<property>
????????<name>fs.defaultFS</name>
????????<value>hdfs://master:9000</value>
????</property>
7.配置hdfs-site.xml
cd ?hadoop-2.9.2/etc/hadoop;vim hdfs-site.xml;
在<configuration></configuration>節(jié)點(diǎn)中間加入。
<property>
???<name>dfs.namenode.name.dir</name>
???<value>/home/hadoop/hadoop-2.9.2/dfs/name</value>
</property>
<property>
???<name>dfs.datanode.data.dir</name>
???<value>/home/hadoop/hadoop-2.9.2/dfs/data</value>
</property>
<property>
???<name>dfs.replication</name>
???<value>2</value>
</property>
8.配置mapred-site.xml.
cd ?hadoop-2.9.2/etc/hadoop;?cp mapred-site.xml.template mapred-site.xml;vim mapred-site.xml;
在<configuration></configuration>節(jié)點(diǎn)中間加入。
<property>
????????<name>mapreduce.framework.name</name>
????????<value>yarn</value>
????</property>
9.配置yarn-site.xml
cd ?hadoop-2.9.2/etc/hadoop;vim yarn-site.xml;
在<configuration></configuration>節(jié)點(diǎn)中間加入。
???<property>
????????<name>yarn.resouremanager.hostname</name>
????????<value>master </value>
???</property>
???<property>
????????<name>yarn.nodemanager.aux-services</name>
????????<value>mapreduce_shuffle</value>
???</property>
<property>
????<name>yarn.resourcemanager.address</name>
????<value>master:8032</value>
??</property>
??<property>
????<name>yarn.resourcemanager.scheduler.address</name>
????<value>master:8030</value>
??</property>
??<property>
????<name>yarn.resourcemanager.resource-tracker.address</name>
????<value>master:8031</value>
??</property>
10.配置slaver,cd ?hadoop-2.9.2/etc/hadoop;vim slavers; 添加主機(jī)名。
slaver1
slaver2
11.把master上配置的hadoop相關(guān)文件傳到另外兩個(gè)機(jī)器上。
scp -r hadoop-2.9.2 hadoop@slaver1:/home/hadoop/
scp -r hadoop-2.9.2 hadoop@slaver2:/home/hadoop/
12.啟動(dòng)
在master服務(wù)器啟動(dòng)hadoop,從節(jié)點(diǎn)會(huì)自動(dòng)啟動(dòng),進(jìn)入/home/hadoop/hadoop-2.9.2目錄
(1)初始化輸入命令, bin/hdfs namenode ?-format
(2)全部啟動(dòng)sbin/start-all.sh
(3)停止的話,輸入命令,sbin/stop-all.sh
(4)輸入命令jps。如果運(yùn)行成功的話:master機(jī)器上應(yīng)該是4個(gè)進(jìn)程,slaver1和slaver2機(jī)器上應(yīng)該是3個(gè)進(jìn)程。
13、Web訪問
(1)瀏覽器打開http://192.168.80.5:8088/??hadoop的管理
(2)瀏覽器打開http://192.168.80.5:50070/?hdfs文件系統(tǒng)管理
四、測試程序
1.?hdfs dfs -mkdir /test;?hdfs dfs -ls /??在分布式文件系統(tǒng)中創(chuàng)建目錄test
2.touch words ?在本地創(chuàng)建文件,隨便輸入一些單詞,以空格分開。
3.?hdfs dfs -put words /test???把words文件上傳到分布式文件系統(tǒng)中
4./home/hadoop/hadoop-2.9.2/bin/hadoop jar /home/hadoop/hadoop-2.9.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /test/words /test/output
或我的位置或任意你的hadoop位置
/usr/local/hadoop-2.8.2/bin/hadoop ?jar ??/usr/local/hadoop-2.8.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.2.jar wordcount ?/test/words /test/output
?
5.查看結(jié)果:
bin/hdfs dfs -cat /test/output/part-r-00000
總結(jié)
以上是生活随笔為你收集整理的Hadoop hdfs配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 郑州大学软件学院 大学生创新创业选拔赛
- 下一篇: springboot整合shiro地址栏