绑定主机名与IP:
vim /etc/hosts
在文件末尾添加:
#ip地址 主机名
192.168.98.4 node1
通过ping node1 也就是ping192.168.98.4, 检验是否修改成功。
安装Hadoop前首先需要安装jdk。
下载解压,将java环境配置到环境变量中:
vim /etc/profile
#在文件最后添加
export JAVA_HOME=“你自己jdk的安装路径”
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
输入如下命令查看jdk版本
java –version
如果结果发现版本还是自带的Jdk1.8,删除自带的jdk:
查询自带jdk: rpm -qa|grep jdk
删除jdk: rpm -e --nodeps
然后安装hadoop:
1.将安装包解压,使用tar –zxvf hadoop-2.2.0.tar.gz –C /hadoop/解压:
-zxvf说明如下:
z:使用gzip的方式
x:解压缩
v:显示提示信息
f:指定压缩文件的名字 -C:解压到…
2.配置5个hadoop :
cd /hadoop/hadoop-2.2.0/etc/hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行添加以下内容
export JAVA_HOME=“你自己的安装路径”
第二个:core-site.xml
vim core-site.xml
<!-- 指定HDFS的主节点(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://“主机名”:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>“你自己的安装路径”/tmp</value>
</property>
第三个:hdfs-site.xml
vim hdfs-site.xml
<!-- 指定HDFS保存数据副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml
先重命名:mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 告诉Hadoop以后MR运行在YARN上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
vim yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>“ResourceManager所在的主机名”</value>
</property>
<!—指定NodeManager获取数据的方式是shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
3.将hadoop添加到环境变量
vim /etc/proflie
#安装路径自改为自己的
export JAVA_HOME=/usr/java/jdk1.7.0_71
export HADOOP_HOME=/hadoop/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4.初始化HDFS(格式化文件系统)
hdfs namenode -format
补:大部分步骤均在普通用户权限下操作,如果不能初始化成功,多半是权限问题,将hadoop文件及文件下的所有文件权限(属组和属主)设置为普通用户:
#sudo chown -R 用户名.用户名 文件名
sudo chown -R user.user file1
5.启动hadoop:
cd /hadoop/hadoop-2.2.0/sbin/
执行:./start-all.sh
此时只是单机版的hadoop,即只在一台机子上运行hadoop,命名为hadoop1.
克隆虚拟机hadoop1,命名为hadoop2和hadoop3(完全克隆)
首先,更改IP地址,同之前的操作,然后重启网络服务
绑定三台主机的主机名和ip地址,三台都要配置
配置ssh免登陆
这里假如在hadoop1上配置hadoop2的免密登陆
首先在hadoop1上:ssh 192.168.98.6 mkdir /ilove (hadoop2的ip)
正确输入密码后,在主机hadoop2中可以看到新建的ilove目录。
然后hadoop1进入到我的home目录:cd ~/.ssh
然后hadoop1输入ssh-keygen -t rsa (四个回车)
说明:-t 指定加密的类型
rsa-
执行完这个命令后,
该目录下会生成两个文件id_rsa(私钥-自己保存)、id_rsa.pub(公钥-对外公布)
将公钥拷贝到要免登陆的机器上
cp id_rsa.pub authorized_keys (将公钥拷贝到已认证的钥匙中)
ssh-copy-id 192.168.98.6(hadoop2ip) (需要输入192.168.98.6的登陆密码)
配置完成;
配置hadoop3的免密登陆同理。
之后的步骤参考该博主博客:
点击直达
承接至:正式搭建分布式集群
补充几个可能会遇到的问题:
xcall文件在家目录创建后,不能使用。
在环境变量中加入::/home/jias/bin
vim /etc/profile
export JAVA_HOME=/opt/java/jdk1.8.0_121/
export HADOOP_HOME=/hadoop/hadoop-2.6.5
export HIVE_HOME=/hadoop/apache-hive-2.3.7-bin
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/home/jias/bin:$HIVE_HOME/bin