Hadoop hdfs配置
网络情况:网络为:192.168.80.0,网关为192.168.80.2,掩码为255.255.255.0,域名202.196.32.1。
Hadoop平台规划:三台linux主机使用64位CentOS7系统,采用最小化安装。用户为都为hadoop,master为192.168.80.5,slaver1为192.168.80.6,slaver2为192.168.80.7。
一、在主机master上配置
1.安装CentOS 7,选择最小化安装,其它可以采用默认。
2.(root)设置静态IP(*.*.*.5)地址:vi /etc/sysconfig/network-scripts/ifcfg-ens33
开户网络:ifup ens33
3.使用putty连接该主机。
(root)帐户添加帐户hadoop:useradd hadoop;passwd hadoop
(root) hostnamectl set-hostname master //修改主机名master:
exec bash //让修改的主机名立即生效
vi /etc/hosts //添加三个ip 和 三个主机名的对应关系。此处全部加上,复制后,另外两个机器就不用再添加了。
4.(root)关闭selinux和firewalld:
setenforce 0 //关闭运行的selinux
vi /etc/sysconfig/selinux //重启selinux不会再运行
systemctl stop firewalld //停止防火墙
systemctl disable firewalld //设置防火墙不开机自动启动
5.(root)修改yum源为ustc的源。
cd /etc/yum.repos.d //切换工作目录
mv CentOS-Base.repo CentOS-Base.repo.bak
vi CentOS-Base.repo //新建文件,添加内容参考:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
yum makecache //更新yum
yum install rsync
yum install vim
yum install wget
6.(root)安装java运行环境。
1)下载jdk,需要到官方网络注册帐号,得到下载地址后进行下载: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.复制出另外两个系统,(root)修改主机名分别为slaver1和slaver2,并分别设置IP地址(*.*.*.6)和(*.*.*.7)。
可参考第2,3步。设置完成后,重启网络:ifdown ens33;ifup ens33
8.测试三个主机间的连接通连,使用ping master;ping slaver1;ping slaver2
二、配置免密登录
1.在三个主机上分别使用hadoop帐户分别运行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 //修改该文件的权限为600
6.把该文件再上传到slaver1和slaver2主机的相应位置。
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主机的相应位置。
scp /etc/ssh/sshd_config root@slaver1:/etc/ssh/sshd_config
scp /etc/ssh/sshd_config root@slaver2:/etc/ssh/sshd_config
9.重启3个主机的sshd服务
systemctl restart sshd
10.使用hadoop帐户测试3个主机中,任意2个的免密登录是否正常(包括自己)。
ssh master;ssh slaver1;ssh slaver2
三、配置hadoop平台,使用hadoop用户在master主机上配置,配置好后传到另外两个主机。
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)配置环境变量: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下创建目录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>节点中间加入。
<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>节点中间加入。
<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>节点中间加入。
<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>节点中间加入。
<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; 添加主机名。
slaver1
slaver2
11.把master上配置的hadoop相关文件传到另外两个机器上。
scp -r hadoop-2.9.2 hadoop@slaver1:/home/hadoop/
scp -r hadoop-2.9.2 hadoop@slaver2:/home/hadoop/
12.启动
在master服务器启动hadoop,从节点会自动启动,进入/home/hadoop/hadoop-2.9.2目录
(1)初始化输入命令, bin/hdfs namenode -format
(2)全部启动sbin/start-all.sh
(3)停止的话,输入命令,sbin/stop-all.sh
(4)输入命令jps。如果运行成功的话:master机器上应该是4个进程,slaver1和slaver2机器上应该是3个进程。
13、Web访问
(1)浏览器打开http://192.168.80.5:8088/ hadoop的管理
(2)浏览器打开http://192.168.80.5:50070/ hdfs文件系统管理
四、测试程序
1. hdfs dfs -mkdir /test; hdfs dfs -ls / 在分布式文件系统中创建目录test
2.touch words 在本地创建文件,随便输入一些单词,以空格分开。
3. hdfs dfs -put words /test 把words文件上传到分布式文件系统中
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.查看结果:
bin/hdfs dfs -cat /test/output/part-r-00000
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/104686152
- 点赞
- 收藏
- 关注作者
评论(0)