我安装hadoop和hbase踩过的坑
相信大家在大学很多都会选修大数据这门课,那么学习大数据必不可少的是hadoop、hbase等的安装,我来分享几点我遇到的问题及解决方法。
注:
1、我的Ubantu版本是18.04的server版本,但方法应该都通用
2、我是伪分布式安装的hadoop和hbase
3、要注意hadoop和hbase的版本,不是所有版本都兼容的,建议hadoop2.7.1,hbase2.1.x
大家可以根据厦门大学数据库实验室的博客来学习
http://dblab.xmu.edu.cn/blog/?s=
1、Ubantu更换源
在国内使用默认的源很不方便,会下载速度很慢或者有些软件下载不了
所以我们一般都会使用中科大、阿里云等的源。
更换源需要修改文件内容
我个人喜欢用vim编辑器修改文件,也推荐大家使用。
如果没有安装vim编辑器可以用以下命令安装
sudo apt install vim
Ubantu的源保存在/etc/apt/source.list所以我们直接修改文件内容
sudo vim /etc/apt/sources.list
这里提供中科大的源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
修改完文件后还需要更新
sudo apt-get update
sudo apt-get upgrade
2、配置好Samba后windows无法访问
在安装且配置好Samba后可能会出现windows无法登录Samba账户,提示没有权限等的情况,即使关闭了Ubantu和Windows的防火墙也没用。
这里可参考以下两篇文章,写的很详细,反正我是这样解决的
https://jingyan.baidu.com/article/c146541382b6950bfcfc4ca5.html
https://blog.csdn.net/maxzero/article/details/81410620
3、运行Hadoop后datanode自动挂掉
在启动Hadoop后我用jps命令查看进程,整整齐齐但是使用hadoop命令时出错了,再用jps查看datanode已经挂掉了。这种情况很大可能是多次初始化了namenode导致的。
因为每次初始化namenode都会改变datanode的id,而namenode的id是不变的。我们回想以下namenode和datanode的机制,伪分布式中如果它们的id不一致,namenode接收不到datanode的“信号”是不是就认为datanode出了问题就停止对他的维护,datanode就挂掉了。
解决方法有两种
注意,我这里是用的我的hadoop路径,你要根据自己的hadoop路径来
1、直接删掉hadoop目录下的原有数据再重新格式化,如果原本保有重要数据请不要这么做
/opt/hadoop/sbin/stop-dfs.sh # 关闭hadoop
rm -r /opt/hadoop/tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
/opt/hadoop/bin/hdfs namenode -format # 重新格式化 NameNode
/opt/hadoop/sbin/start-dfs.sh # 重启hadoop
2、将namenode和datanode的id改成一致
详情请参考
https://blog.csdn.net/cookzrk/article/details/40662773