系统镜像:CentOS-6.5-x86_64-Li.iso
虚拟机:VMware Workstation 16 Pro(16.0.0 build-16894299)
JDK:1.8.0_161
hadoop:2.7.0
创建虚拟机
虚拟机安装后将系统install
对master主机linux系统配置
-
修改主机名
vim /etc/sysconfig/network
shutdown -r now
-
配置ip地址映射
ip地址自己去看:
编辑>虚拟网络编辑器>VMnet8>NAT设置
vim /etc/hosts
192.168.112.128 master 192.168.112.129 slave001 192.168.112.130 slave002
-
配置网卡
vim /etc/sysconfig/network-scripts/ifcfg-eth0
写入以下内容
DEVICE=eth0 NETMSKE=255.255.255.0 GATEWAY=192.168.112.2 IPADDR=192.168.112.128 ONBOOT=yes BOOTPROTO=static
service network restart
ifconfig
-
开启sshd服务与开机启动,关闭防火墙与开机启动.
service sshd start chkconfig sshd on service iptables stop chkconfig iptables off
-
赋予hdp,sudo权限
useradd hdp
passwd hdp
vim /etc/sudoers
## Allow root to run any commands anywhere root ALL=(ALL) ALL hdp ALL=(ALL) ALL
-
putty通过pscp传输文件或用xftp
pscp -P 22 [要传输的文件] [用户名@主机ip地址:要传输到的目录]
-
解压jdk,hadoop
解压tar:tar -xvf [文件名] [-C] /usr/local
解压tar.gz:tar -zxvf [文件名] [-C] /usr/local
压缩:tar -zcvf 文件名.tar.gz [文件名]
-
对jdk,hadoop设置文件拥有者,组拥有者
chown -R hdp /usr/local/jdk1.8.0_161
chgrp -R hdp /usr/local/jdk1.8.0_161
chown -R hdp /usr/local/hadoop2.7.0
chgrp -R hdp /usr/local/hadoop2.7.0
-
配置环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_161 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/local/hadoop-2.7.0 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
用
java
,hadoop
检验
克隆slave基于master
-
修改主机名
vim /etc/sysconfig/network
shutdown -r now
-
配置网卡
将IPADDR修改一下
vim /etc/sysconfig/network-scripts/ifcfg-eth0
配置$HADOOP_HOME/etc/hadoop/下的文件
转到hdp用户su hdp
转到配置文件目录cd $HADOOP_HOME/etc/hadoop/
创建hadoop存储文件夹mkdir $HADOOP_HOME/tmp
对下列文件进行修改(对主机名看自己情况修改)
-
hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_161 #JAVA_HOME写上自己jdk 的安装路径
-
core-site.xml
<!-- 指定Hadoop所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <!-- 定Hadoop运行是产生文件的存储目录。默认 --> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop-2.7.0/tmp</value> </property>
-
hdfs-site.xml
<!-- 指定HDFS副本的数量,不修改默认为3个 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- dfs的SecondaryNameNode在哪台主机上 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave001:50090</value> </property>
-
mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
<!-- 指定MapReduce运行是框架,这里指定在yarn上,默认是local --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
-
yarn-site.xml
<!-- 指定yarn的老大ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <!-- NodeManager上运行的附属服务。需要配置成mapreduce_shuffle,才可以运行MapReduce程序默认值 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
-
slaves
slave001 slave002
传输hadoop配置文件到slave机
scp -r /usr/local/hadoop2.7.0/etc/hadoop hdp@slave001:/usr/local/hadoop2.7.0/etc/
启动集群
-
初始化HDFS
hdfs namenode -format
-
启动hdfs,yarn
start-all.sh
等价于start-hdfs.sh
,start-yarn.sh
-
查看节点角色
jps
-
查看端口
netstat -nplt
-
浏览器查看namenode,secondarynamnode,yarn监控端
master:50070 slave001:50090 master:8080
集群wordcount示例
-
常用命令
类mkdir命令:
hadoop fs -mkdir 目录
类ls命令:
hadoop fs -ls 文件
类cat命令:
hadoop fs -cat 文件
类cp命令:
hadoop fs -cp 文件 文件
类rm -r命令:
hadoop fs -rm -r 文件
类mv命令:
hadoop fs -mv 文件 文件
统计文件系统可用空间信息:
hadoop fs -df -h /
统计文件夹的大小信息:
hadoop fs -du -s -h 文件
下载hdfs文件到本地:
hadoop fs -get hdfs文件
上传本地文件到hdfs:
hdfs dfs -put 本地文件 hdfs文件
-
运行wordcount示例
hadoop fs -mkdir /input
hdfs dfs -put 一个具有文字信息的文件 /input/
yarn jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /input/ /output
hadoop fs -ls /output
有问题或建议请在下面评论,如果我看到的话会回。
标签:fs,hdp,hadoop,etc,集群,usr,local,搭建 From: https://www.cnblogs.com/FlourishingTree/p/16795120.html