Hadoop入门配置Linux问题
1. 我们需要对每一台Hadoop虚拟机 进行IP编号
理由如下:
个人理解,无非就是方便
集群扩很容易造成异常。hadoop集群配置中,许多地方使用了host配置,但是当前大部分应用都是通过集群/etc/hosts方式来实现名字解析。如果遇到集群扩容,需要进行hosts同步,经常出现遗漏或错误情况。
解决上述问题一种方式是可以使用内部DNS来解决,但又引入了DNS维护。
尝试取消对host依赖,配置中全部使用IP方式
2. 配置机器IP
在主机上配置配置vmnet8
设置虚拟机默认网关
子网跟vmnet8同一网段
切换系统用户[权限] 修改/etc/network/interfaces 文件
auto ens33 iface ens33 inet static address 192.168.47.101 netmask 255.255.255.0 gateway 192.168.47.2 # 网关 dns-nameservers 192.168.47.2 114.114.114.114 # 选网关地址 DNS说白了是把域名翻译成IP地址用的 然后重启 ,在这里的设置的话 不推荐用网关【配置的时候不用网关来配置】
一张网卡配置一个mac地址 通过ifconfig 查看
00:0C:29:55:51:03
vim /etc/resolv.conf <==resolv注意别拼错 另外说明一点就是该文件在一些情况下会被初始化【暂时不配置】
vim /etc/NetworkManager/NetworkManager.conf
如果你手工改过/etc/network/interfaces,系统会自己把这行改成:managed=false
需要将managed=false设置成managed=true修改主机ip地址
vim /etc/hostname
修改该主机信息文件vim /etc/hosts : 可以给后面进行系统检验
网卡重启 + 虚拟机重启
sudo ifdown -a sudo ifup -a, 或者 推荐用下面的方法 sudo nmcli networking off sudo nmcli networking on
验证【如果连接不了网络 请初始化虚拟机默认网关并配置】
【在评论区有一些连接 大家有需要可以看看,包括虚拟机网络问题排查】
2. 安装JDK
- 在window电脑上下载安装包,利用xshell软件,传输java8安装包到Linux。
- 解压
tar -zxvf jdk -C /opt/module
- 配置环境变量vim /etc/profile
vim /etc/profile ##JAva_Home export JAVA_HOME=/opt/module/jdk1.8.0_241 export PATH=$PATH:$JAVA_HOME/bin
- 验证
source /etc/profile
3. 安装Hadoop
安装 同jdk安装
配置环境变量vim /etc/profile
##Hadoop_Home export HADOOP_HOME=/opt/module/hadoop-2.10.0 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
如果重启后 java-version 这些都失效的话 输入source /etc/profile 也就是加载profile文件
||
source /etc/profile
\/
4. hadoop软件运行是否正常测试
hadoop grep 模式的作用为:提供一些文本文件, grep可以从中找到想要匹配的文本(可以是正则表达式).
创建在hadoop-2.10.0.文件下面创建一个input文件夹
root@cznczaihadoop100:~# cd /opt/module/hadoop-2.10.0/ root@cznczaihadoop100:/opt/module/hadoop-2.10.0# mkdir input
将Hadoop的xml配置文件复制到input
root@cznczaihadoop100:/opt/module/hadoop-2.10.0# cp etc/hadoop/*.xml input
执行share目录下的MapReduce程序
root@cznczaihadoop100:/opt/module/hadoop-2.10.0# bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.0.jar grep input output 'dfs[a-z.]+'
output 需要新创建 需要再次运行需要检查output是否存在 不存在才可以运行
5. 官方WordCount案例 统计单词个数
在hadoop中
运行代码
//创建一个存放数据的文件夹 root@cznczaihadoop100:/opt/module/hadoop-2.10.0# mkdir wcinput root@cznczaihadoop100:/opt/module/hadoop-2.10.0# cd wcinput/ // 创建一个input文件 root@cznczaihadoop100:/opt/module/hadoop-2.10.0/wcinput# touch wc.input //在wcinput文件中编写 wc.input文件 root@cznczaihadoop100:/opt/module/hadoop-2.10.0/wcinput# vim wc.input // 运行得到结果 root@cznczaihadoop100:/opt/module/hadoop-2.10.0# hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.0.jar wordcount wcinput/ wcoutput
运行效果
参考资料
- 学习视频: 尚硅谷大数据之Hadoop视频 基于视频,也优于视频。
- 从零开始搭建hadoop分布式集群环境:更改用户名以及ip地址
- 从零开始搭建hadoop分布式集群环境:配置ssh无密码登录
- Linux网络配置
- Hadoop集群搭载经历之linux配置ip
- 改主机名
- 安装JDK并搭建环境变量
- 重启网络
sudo nmcli networking off sudo nmcli networking on
- 配置hadoop修改hostname配置为IP配置