搭建 Hadoop 平台
如何一步步的搭建 Hadoop 平台, 并解决一些搭建过程中遇到的问题. Hadoop 版本为: 2.10
下载 hadoop
我这里是下载的 hadoop-2.10,从北京理工大学开源软件镜像,官网下载你懂得.... 地址: http://mirror.bit.edu.cn/apache/hadoop/
下载完成后解压, tar -xzvf hadoop-2.10.0.tar.gz
,这里我将 hadoop 直接放在加目录下。
伪分布配置 |
配置 hadoop
配置文件路径在 hadoop目录/etc/hadoop
中 hadooop-env.sh 中 25 行左右,配置 JAVA_HOME
1 | # The java implementation to use. |
core-site.xml
1 | <configuration> |
hdfs-site.xml
1 | <configuration> |
mapred-site.xml
1 | <configuration> |
yarn-site.xml
1 | <configuration> |
格式化 namenode,在 hadoop目录/bin
,命令:hdfs namenode -format
。 启动命令在 hadoop目录/sbin
下, 启动 hadoop:start-all.sh
关闭 hadoop:stop-all.sh
启动 HDFS start-dfs.sh 启动 YARN start-yarn.sh 启动 NameNode hadoop-daemon.sh start namenode 启动 DataNode hadoop-daemon.sh start datanode 启动 ResourceManager yarn-daemon.sh start resourcemanager 启动 NodeManager yarn-daemon.sh start nodemanager
- 遇到问题 1
1 | WARNING: An illegal reflective access operation has occurred |
警告非法反射访问错误
,我这里将jdk-13
换成jdk-8
解决了问题
验证启动
1 | ~/hadoop-2.10.0 ❯❯❯ jps |
命令行输入jps
,有以下 6 个进程就是成功启动了 通过浏览器输入:http://ip:50070/
,登入 HDFS 管理界面 http://ip:8088/
,节点管理
配置 ssh 免密登录
命令行输入:ssh-keygen -t rsa
生成公钥密钥对,一直按回车直到生成结束。 执行结束后两个文件 id_rsa
和 id_rsa.pub
其中前者为私钥,后者为公钥,文件位置在当前用户家目录的 .ssh
隐藏文件夹下。 然后命令行输入:cat id_rsa.pub >> authorized_keys
- 遇到问题 2
1 | ssh: connect to host zachary-pc port 22: Connection refused |
我这里是因为没有开启sshd服务
,启动命令 service sshd restart
或者 systemctl start sshd.service
全局启动 hadoop
在上面中,启动 hadoop 要在 hadoop 所在目录。 我们可以同过配置环境变量,使 hadoop 可以全局启动。 /etc/profile
中添加:
1 | export HADOOP_HOME=/home/zachary/hadoop-2.10.0 # hadoop所在目录 |
重新编译 profile
,命令 :source /etc/profile
- 遇到问题 3
1 | Permission denied: user=dr.who, access=READ_EXECUTE, inode="/tmp":root:super |
缺失权限; 解决办法:执行 hdfs dfs -chmod -R 755 /tmp
分布配置 |
主机名配置
在 /etc/hosts
配置主机名,每一台服务器一样,类似:
1 | 192.168.10.1 master |
ssh 配置
将上面配置的公钥复制到从属服务器,命令:
1 | ssh-copy-id -i ~/.ssh/id_rsa.pub master |
hadoop 配置
修改 core-site.xml :
1 | <property> |
验证启动
启动命令同上,只需在主服务器启动即可。 jps
命令查看,从属服务器有一下进程即启动成功:
1 | ~$ jps |