Hadoop集群伪分布式环境搭建-ubuntu
Hadoop集群伪分布式环境搭建-ubuntu
1.VMware和Ubuntu安装完后,配置虚拟网络,这里采用NAT方式,防止后期IP冲突
修改本机VMware虚拟网络配置
修改Ubuntu网络配置
2.解决VMware虚拟机网络适配器NAT模式无法上网的问题
注意这个服务是否开启(电脑管家和360会关闭这个服务),其他服务同理,如下图所示
但是vmware nat service总是自动停止,解决办法是:
这一般是在学校里用锐捷认证上网的情况。原因出在锐捷客户端,锐捷的8021x.exe会自动停止VMware NAT Service服务,导致不能使用vmware的nat模式。
https://blog.****.net/ouyangxin95/article/details/50750054
https://blog.****.net/su20145104009/article/details/72040800
http://wifi.ggsafe.com/articles/20141218124035513.shtml
以上可能找不到好的解决方法,最后写脚本然它一直连接服务,最后我发现第二天重开电脑后锐捷不关闭vmware nat service服务了,难道是重启下机器就可以了?大家可以试下,我的是好了
3.安装Ubuntu组件
4.修改主机名和IP的映射关系
vim /etc/hosts
192.168.71.101 master
192.168.71.102 slaver1
。。。。。。
修改主机名(与业务相关) vim /etc/hostname
关闭防火墙(hadoop的组件都是网络服务,防火墙会阻止相关服务的端口)
防火墙状态查看方法:
(Ubuntu 18.04.2 LTS系统附带的UFW, 默认都是禁用状态,所以输出是「不活动」)具体查看命令如下:sudo ufw status verbose
·· **防火墙:sudo ufw enable
关闭防火墙:sudo ufw disable
5.启动时不启动Ubuntu图形界面
(1)关闭用户图形界面
sudo systemctl set-default multi-user.target
sudo reboot
(2)开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot
6.上传jdk和hadoop并解压
创建目录app mkdir app/
解压命令 tar –zxvf 要解压的文件名 –C app/
-zxvf z表示加压的格式 x表示解压 v表示打印进度 f表示加压哪一个文件 –C表示加压到哪一个路径
安装JDK
(1)解压 tar –zxvf jdk-8u212-linux-x64.tar.gz –C app/
(2)配置环境变量
sudo vim /etc/profile
#在文件最后添加
export JAVA_HOME=/home/master/app/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
7.修改hadoop的配置文件
Hadoop的配置文件在$HADOOP_HOME/etc/hadoop里
伪分布式需要修改5个配置文件
(1)配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/home/master/app /jdk1.8.0_212
第二个: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>/home/master/app/hadoop-2.9.2/data/</value>
</property>
第三个:hdfs-site.xml hdfs-default.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<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>
<!-- reducer获取数据的方式,mapper产生的结果使用shuffle机制传给reducer -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
8.将hadoop添加到环境变量
vim /etc/proflie
export JAVA_HOME=/home/master/app/ jdk1.8.0_212
export HADOOP_HOME=/home/master/app/hadoop-2.9.2
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
9.格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)
10.启动hadoop
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
遇到问题:
Starting namenodes on []
Incorrect configuration: namenode address dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.
首先检查配置是否正确,然后步行的话作如下配置
在etc/hadoop/core-site.xml中增加如下配置:
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000/</value>
</property>
11.验证是否启动成功
使用jps命令验证(查看进程)
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.71.101:50070 (HDFS管理界面)
http://192.168.71.101:8088 (MR管理界面)
12.配置ssh免登陆
#生成ssh免登陆**
#进入到我的home目录
cd ~/.ssh
ssh-****** -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id localhost
13.HDFS shell
1.0查看帮助
hadoop fs -help <cmd>
1.1上传
hadoop fs -put <linux上文件> <hdfs上的路径>(hdfs://master:9000/)
1.2查看文件内容
hadoop fs -cat <hdfs上的路径>
1.3查看文件列表
hadoop fs -ls /wordcount/
1.4下载文件
hadoop fs -get <hdfs上的路径> <linux上文件路径>
1.5 建立目录
Hadoop fs mkdir hdfs://master:9000/wordcount
14.使用hadoop自带的程序运行MapReduce
hadoop jar hadoop-mapreduce-examples-2.9.2.jar pi 5 5
pi表示计算圆周率 第一个5表示使用的map数量 第二个5表示每个map的取样数