CentOS7搭建Hadoop分布式文件系统
配置: 1.CentOS-7-x86_64-DVD-2009 2.hadoop3.1.4 3.java1.8.0_65
步骤
1.网络配置
2.hadoop文件配置
3.hadoop一条龙
**
1.网络配置
1.配置hosts和hostname
为每一个虚拟机配置hostname 我有3个虚拟机分别命名为
Master Slaver1 Slaver2
gedit /etc/hostname
直接在里面写名字就可以了

配置hosts 每一个虚拟机都要配置
gedit /etc/hosts

ssh安装配置 1.ssh安装 2.ssh免密码登录
先在Master节点里运行ssh生成公钥,如果之前生成过了需要删除之前生成的公钥
cd ~/.ssh
rm ./id_rsa*
ssh-keygen -t rsa
把公钥放到~/.ssh/authorized_keys
cat ./id_rsa.pub >> ./authorized_keys
ssh localhost测试能否无密码登录 通过scp命令发送文件到各个节点,有多少个发多少次
scp ~/.ssh/id_rsa.pub hadoop@Slaver1:/home/hadoop/
在Slaver1节点里把公钥放到authorized_keys
mkdir ~/.ssh
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub
测试在Master节点连接Slaver1,到此如果Master能远程无密码连接到各个节点就完成了
ssh Slaver1
2.hadoop文件配置 hadoop安装
tar -zxvf (hadoop.tar.gz文件路径) -C /usr/local
chown -R hadoop /usr/local/(hadoop文件)
配置好hadoop6个文件,过程是在Master节点配置好,然后压缩发送到各个节点再解压出来(配置文件都在 hadoop文件下的etc/hadoop)
workers
Master
Slaver1
Slaver2
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:8020</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/export/data/hadoop-3.1.4</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/export/data/hadoop-3.1.4</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>hadoop</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Slaver1:9868</value> </property>
</configuration>
mapred-site.xml
<configuration>
<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>
<property>
<name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.map.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
<name>mapreduce.reduce.env</name> <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name> <value>604800</value>
</property>
</configuration>
hadoop-env.sh
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_65
#文件最后添加
export HDFS_NAMENODE_USER=hadoop
export HDFS_DATANODE_USER=hadoop
export HDFS_SECONDARYNAMENODE_USER=hadoop
export YARN_RESOURCEMANAGER_USER=hadoop
export YARN_NODEMANAGER_USER=hadoop
3.hadoop一条龙 格式化hadoop 注意:hadoop格式化不再进行太多次,格式化太多次会导致hadoop主从混乱 解决办法:把格式化生成的所有文件删除 路径:查看core-site.xml里的dfs.namenode.name.dir参数
hdfs namenode -format
启动Hadoop
start-dfs.sh
start-yarn.sh
通过jps查看各项服务是否开启
节点 | 服务 |
---|
Master | NameNode 、DateNode 、RecourseManage 、NodeManage | Slaver1 | SecondaryNameNode、 DateNode 、NodeManage | Slaver2 | DateNode、 NodeManage |
例子 词频统计 思路: 1.在本地文件系统创建一个txt文件 2.把文件上传到分布式系统里 3.调用WordCount程序对txt文件进行统计 4.查询输出文件
wc.txt文件
hello world
hello hadoop
hadoop is the best
上传wc.txt文件到hadoop
hdfs dfs -mkdir -p /user/hadoop/wc
hdfs dfs -mkdir -p /user/hadoop/output
hdfs dfs -put ./wc.txt /user/hadoop/wc
调用hadoop程序
cd (hadoop安装目录)/shared/hadoop/mapreduce
hadoop jar hadoop-mapreduce-examples-3.1.4.jar /user/hadoop/wc.txt /user/hadoop/output
查看结果 
hadoop搭建参考
|