历时两天,踩了无数坑最后搭建成功。。。
准备
服务器配置
以下1-3步骤中两台服务器都要配置
1、修改hostname
主节点修改成master
从节点修改成slave1
使用命令:vim /etc/hostname
master
# or slave1
重启服务器:reboot
2、修改服务器hosts
假如主节点是阿里云。则在阿里配置
命令: vi /etc/hosts
ip master
ip1 slave1
其中 ip=阿里的内网ip;ip1=腾讯的外网ip
在腾讯配置
ip master
ip1 slave1
其中 ip=阿里的外网ip;ip1=腾讯的内网ip。
3、安装jdk1.8,并配置环境变量
4、ssh配置(master主机)
输入命令生成密匙对
ssh-keygen -t rsa
一路回车
上述命令将在/root/.ssh目录下生成公钥文件id_rsa.pub。将此文件拷贝到.ssh目录下的authorized_keys:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
使用ssh登录本机
将公钥复制到从节点
ssh-copy-id -i ~/.ssh/id_rsa.pub root@slave1
可能需要输入从节点密码。
完成后确保从master免密码登录到slave1
对服务的配置就完成了,接下了配置hadoop。
hadoop
在master构建好hadoop,然后利用ssh分发到slave。所以下面配置在master进行
在home创建hadoop目录和配置文件路径
cd /home/
mkdir hadoop
cd hadoop
mkdir hadoop_data
cd hadoop_data
mkdir tmp
mkdir hdfs
cd hdfs
mkdir data
mkdir name
1、下载并解压:
可以使用wget下载或者上传都可以。
tar zxvf hadoop-2.7.3.tar.gz -C /home/hadoop/
2、 配置hadoop
hadoop配置文件路径 /home/hadoop/hadoop-2.7.3/etc/hadoop
hadoop-env.sh
修改JAVA_HOME。jdk路径
vi /home/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.xml
export JAVA_HOME=/usr/local/jdk1.8.0_171
core-site.xml
vi /home/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/hadoop/hadoop_data/tmp</value>
<description>Abasefor other temporary directories.</description>
</property>
</configuration>
hdfs-site.xml
vi /home/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
<description>备份namenode的http地址</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hjh/hadoop_data/hdfs/name</value>
<description>namenode的目录位置</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hjh/hadoop_data/hdfs/data</value>
<description>datanode's address</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>hdfs系统的副本数量</description>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
yarn-site.xml
vi /home/hadoop/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.res