一、系统环境
四台虚拟机器一些配置如下
修改主机名 |
hostnamectl set-hostname node01 |
修改IP地址 |
terminal写的太麻烦,可以直接用交会时桌面进行配置 想用terminal, https://jingyan.baidu.com/article/e4d08ffdd417660fd3f60d70.html |
二、准备操作
1、安装Xshell并熟悉几个xshell中命令
https://jingyan.baidu.com/article/e75057f210c6dcebc91a89dd.html
登录主机 |
ssh 主机用户@主机名 例子 ssh root@xu 输入主机密码 |
2、安装xftp---便于向centos系统传输文件
三、具体步骤
1、centos上安装jdk----------hadoop需要jdk的支持,因此jdk正确安装至关重要
(1)jdk
通过xshell中xftp将jdk传到centos上面(只要传过去就ok,什么方式随意)
(2)解压jdk---根据包的类型进行解压
解压 |
|
jdk的安装路径 |
(3)配置环境变量(类比window 上面的配置环境变量这里只是在terminal下工作本质不变)
vi /etc/profile
(4)测试jdk是否正确安装,出现类似下图在表面jdk安装成功
2、安装hadoop
(1)
(2)配置环境变量
环境变量 |
(3)配置Hadoop文件
首先进入Hadoop配置文件夹 |
|
关于java路径的配置 vi hadoop-env.sh |
|
vi mapred-env.sh |
|
vi yarn-env.sh |
配置core-site.xml namenode |
vi core-site.xml
<property> <name>fs.defaultFS</name> <value>hdfs://node01:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/var/sxt/hadoop/local</value> </property> |
配置hdfs-site.xml Secondarynode
|
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>node01:50090</value> </property> |
配置slaves文件 datanode |
vi slaves node01 |
(4)格式化+启动
格式化hdfs |
hdfs namenode -format (只能格式化一次,再次启动集群不要执行)
|
启动集群 start-dfs.sh |
如果出现 说明-------本质原因:namenode的id 与datanode id 不一致,导致datanode自杀(这里的id用于标识namenode和datanode是否一致) 表象原因:core-site.xml中的,hadoop.tem.dir下的目录不干净,将其删除并重启格式化启动就可以了具体见: https://blog.csdn.net/love666666shen/article/details/74350358 |
四、优化处理--------免密钥登录
1、在四台centos和主机上的hosts文件中互相配置各子的别名(用别名替代主机名,便于访问各个主机)
在主机上进行配置 |
|
在centos上配置 |
|
centos本机 |
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
|
传播 |
scp ~/.ssh/id_dsa.pub root@node02:`pwd`/node01.pub 这里的'pwd'是一个参数 到目标主机将发送过去的公钥发送到该主机的 cat node01.pub >> ~/.ssh/authorized_keys
方便的方法 for i in `seq 4`; do cat k | sed "s/\(node0\)1\(,192\.168\.9\.1\)1\(.*\)/\1$i\2$i\3/gi" >> known_hosts; done |