0.前言
最近因为需要所以要安装hadoop,但是网上怎么说呢,就是很混乱,各种资料,各种安装方法,总体来说都不是很有效果,经过了3天的挣扎,收集资料,才完成了部署。
1.从官网上获得对应的安装包
下载地址:
https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz
点击第一个
下载完成如下文件夹
2.将安装包传入系统
这里使用rz插件。
一般刚开始的时候系统里面是没有的,此处我们需要手动安装一下。
apt install lrzsz
然后就开始传输文件
===等等吧
网速太慢了,啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
3.准备Java环境
上传Java环境
此处我已经准备好了环境了。
jdk-8u171-linux-x64.tar.gz
又是漫长的等待
暂停一下……
解压文件
tar -zxvf jdk-8u60-linux-x64.tar.gz
配置环境
vi /etc/profile
按i执行编辑
export JAVA_HOME=/root/jdk1.8.0_171export CLASSPATH=$JAVA_HOME/lib/export PATH=$PATH:$JAVA_HOME/bin
最后按ESC 然后输入:wq退出。
然后执行source /etc/profile重载配置文件。
配置环境完成
https://www.cnblogs.com/zeze/p/5902124.html
4.开始配置hadoop
4.1解压
tar -zxvf hadoop-2.10.0.tar.gz //刚才的命令不对。。。
4.2 检查是否可用
./bin/hadoop version # 查看hadoop版本信息,成功显示则安装成功
出现上述信息代表文件是可用的。。。。。。
4.3 修改配置文件配置hadoop的Java环境
这里我们需要指明,不能用这种,会提示找不到java环境。
配置成这样
然后老规矩,按住esc,输入:wq退出vi且保存。
4.4 修改core-site和hdfs-site文件
core-site修改如下
hadoop.tmp.dir file:/root/hadoop-2.10.0/tmp Abase for other temporary directories. fs.defaultFS hdfs://localhost:9000
hdfs-site修改如下
dfs.replication 1 dfs.namenode.name.dir file:/root/hadoop-2.10.0/tmp/dfs/name dfs.datanode.data.dir file:/root/hadoop-2.10.0/tmp/dfs/data
照着改即可。
4.5 初始化节点
./bin/hdfs namenode -format
此时会出现
20/05/11 22:42:18 WARN net.DNS: Unable to determine address of the host-falling back to "localhost" addressjava.net.UnknownHostException: iZ2ze2wduzi6txmep99j17Z: iZ2ze2wduzi6txmep99j17Z: Name or service not knownat java.net.InetAddress.getLocalHost(InetAddress.java:1505)at org.apache.hadoop.net.DNS.resolveLocalHostIPAddress(DNS.java:307)at org.apache.hadoop.net.DNS.(DNS.java:62)at org.apache.hadoop.hdfs.server.namenode.NNStorage.newBlockPoolID(NNStorage.java:989)at org.apache.hadoop.hdfs.server.namenode.NNStorage.newNamespaceInfo(NNStorage.java:598)at org.apache.hadoop.hdfs.server.namenode.FSImage.format(FSImage.java:181)at org.apache.hadoop.hdfs.server.namenode.NameNode.format(NameNode.java:1211)at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1655)at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1782)Caused by: java.net.UnknownHostException: iZ2ze2wduzi6txmep99j17Z: Name or service not knownat java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928)at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323)at java.net.InetAddress.getLocalHost(InetAddress.java:1500)... 8 more
这是阿里云的问题。我们需要修改host文件
vi /etc/hosts
加入
127.0.0.1 iZ2ze2wduzi6txmep99j17Z: iZ2ze2wduzi6txmep99j17Z iZ2ze2wduzi6txmep99j17Z
完成,老规矩退出方法。
reboot重启
出现
代表初始化成功。
最后一步启动hadoop
输入命令
./sbin/start-dfs.sh
这里提示输入密码,是不行的。我们还要配置一个免密登录。
4.6 安装SSH免密登录
sudo apt-get update #第一步sudo apt-get install ssh #第二步sudo apt-get install pdsh #第三步#生成授权ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #加入授权chmod 0600 ~/.ssh/authorized_keys #啥意思?
出现如下界面代表已经免密登录已经配置完成了。
4.7 再次尝试
输入指令:./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
查看是否启动成功
已经启动完成了,到此为止完成了Hadoop的配置操作。
5.最后结果
输入jps看到上述四个即完成启动。
来源地址:https://blog.csdn.net/m0_67391377/article/details/126565351