Hadoop:是一种分析和处理海量数据的软件平台,一款开源软件,使用JAVA,提供分布式基础架构。
特点:高可靠,高扩展,高效性,高容错性,低成本
HDFS: Hadoop体系中储存管理的基础,是一个高度容错的系统,用于低成本的通用硬件上运行。
-NameNode: Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理所有客户端请求。
-Secondary NmaeNode: 定期合并fsimage和fsedits,紧急情况可以恢复Namenode。
-DataNode:数据储存节点,储存实际的数据。
-Client:切分文件,访问HDFS与NameNode交互,读取和写入数据。
-Block:每块缺省128M大小,每块可以多个副本。
MapReduce:JAVA实现分布式计算框架
JAVA_HOME
HADOOP_CONF_DIR=”/usr/local/hadoop/etc/hadoop”
cd /usr/local/hadoop
mkdir aa
cp *.txt aa/
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount ./aa ./bb
/usr/local/hadoop/etc/hadoop/hadoop-env.sh
java 路径查询
rpm -ql java-1.8.0-openjdk
格式
<property>
<name>hadoop.tmp.dir</name>
<value>/var/hadoop</value>
</property>
[root@nn01 ~]# vim /etc/ssh/ssh_config //第一次登陆不需要输入yes
Host *
GSSAPIAuthentication yes
StrictHostKeyChecking no
部署hadoop集群
1、卸载防火墙
yum remove firewalld-*
2、配置 /etc/hosts(所有主机)
192.168.1.60 hadoop1
192.168.1.61 node-0001
192.168.1.62 node-0002
192.168.1.63 node-0003
3、部署密钥
scp /root/.ssh/id_rsa 192.168.1.60:./
在hadoop1上配置
mv id_rsa /root/.ssh/
chmod 0400 /root/.ssh/id_rsa
编辑 /etc/ssh/ssh_config
添加 StrictHostKeyChecking no
添加节点
1、购买云主机
2、配置Hadoop运行环境、拷贝Hadoop
3、启动程序执行
newnode:
/usr/local/hadoop/sbin/hadoop-daemon.sh start datanode
/usr/local/hadoop/sbin/yarn-daemon.sh start nodemanager
hadoop1
查看验证
/usr/local/hadoop/bin/hdfs dfsadmin -report
/usr/local/hadoop/bin/yarn node -list
平衡数据
/usr/local/hadoop/bin/hdfs dfsadmin -setBalancerBandwidth 60000000
/usr/local/hadoop/sbin/start-balancer.sh
删除节点:
nodemanager
/usr/local/hadoop/sbin/yarn-daemon.sh stop nodemanager
datanode
/usr/local/hadoop/bin/hdfs dfsadmin -report
编辑 hdfs-site.xml
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/etc/hadoop/exclude</value>
</property>
创建文件
/usr/local/hadoop/etc/hadoop/exclude
添加要排除的主机名 newnode
迁移数据
/usr/local/hadoop/bin/hdfs dfsadmin -refreshNodes
下线节点
/usr/local/hadoop/sbin/hadoop-daemon.sh stop datanode
nfsgw, hadoop1 添加授权用户
groupadd -g 800 nfsuser
useradd -u 800 -g 800 -r -d /var/hadoop nfsuser
1、停止集群
/usr/local/hadoop/sbin/stop-all.sh
2、配置文件,添加授权信息 core-site.xml
<property>
<name>hadoop.proxyuser.nfsuser.groups</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.nfsuser.hosts</name>
<value>*</value>
</property>
3、同步配置文件到所有集群机器
4、启动集群,验证
/usr/local/hadoop/sbin/start-dfs.sh
jps
./bin/hdfs dfsadmin -report
nfsgw 配置
1、安装 java-1.8.0-openjdk-devel
yum install -y java-1.8.0-openjdk-devel
2、从 hadoop1 拷贝程序文件和/etc/hosts
rsync -av 192.168.1.60:/etc/hosts /etc/
rsync -aXSH hadoop1:/usr/local/hadoop /usr/local/
3、配置 hdfs-site.xml
<property>
<name>nfs.exports.allowed.hosts</name>
<value>* rw</value>vim
</property>
<property>
<name>nfs.dump.dir</name>
<value>/var/nfstmp</value>
</property>
1 创建目录并授权
mkdir /var/nfstmp
chown nfsuser.nfsuser /var/nfstmp
2 日志目录授权
setfacl -m u:nfsuser:rwx /usr/local/hadoop/logs
3 启动服务
先启动 portmap(rpcbind),必须root用户
/usr/local/hadoop/sbin/hadoop-daemon.sh –script \
/usr/local/hadoop/bin/hdfs start portmap
后启动 nfs,必须 nfsuser 用户
sudo -u nfsuser /usr/local/hadoop/sbin/hadoop-daemon.sh –script \
/usr/local/hadoop/bin/hdfs start nfs3
4 验证
sudo -u nfsuser jps
5 mount目录(192.168.1.64)
yum install -y nfs-utils
showmount -e 192.168.1.65
mount -t nfs -o vers=3,proto=tcp,noatime,noacl,nolock,sync 192.168.1.65:/ /mnt/