1.修改主机名和用户名
1.1 创建用户
在开始时,建议创建一个单独的用户Hadoop以从Linux文件系统隔离Hadoop文件系统。按照下面给出的步骤来创建用户:
1.1 创建用户
在开始时,建议创建一个单独的用户Hadoop以从Linux文件系统隔离Hadoop文件系统。按照下面给出的步骤来创建用户:
$ useradd hadoop
$ passwd hadoop
密码设置为123456
1.2 设置主机名
修改主机名 vim /etc/sysconfig/network
把HOSTNAME后的名称,修改为 master,如果有其他节点,分别修改为slave1 、slave2 ...
1.3 节点间互相访问
执行vim /etc/hosts ,在末尾加上:
192.168.30.150 master
如果是分布式,还需要加上:
192.168.30.151 slave1
...
2.配置SSH无密码连接
2.1 关闭防火墙
永久关闭防火墙:
执行:chkconfig iptables off
2.2 查看SSH是否安装
执行:
yum install ssh
yum install rsync (rsync是一个远程数据同步工具)
启动SSH服务命令:
service sshd restart
检查是否安装成功,执行:
rpm -qa | grep openssh
rpm -qa | grep rsync
2.3 生成SSH公钥
首先在主节点上(以hadoop用户)执行:
ssh-keygen -t rsa 遇到提示回车
生成公钥后,需要发送至本机的authorized_keys的列表,执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master
如果是完全分布式安装,需要把公钥复制到其他节点中,执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@slave2
...
2.3 验证安装
hadoop用户执行:
ssh master 如果没有出现输入密码提示则安装成功,否则需要执行:
chmod 700 /home/hadoop/.ssh
chmod 644 /home/hadoop/.ssh/authorized_keys
3.安装JDK
3.1 卸载JDK
查询已安装的JDK版本:
执行:rpm -qa | grep jdk
卸载命令:
执行:yum -y remove xxx (xxx是查询后的jdk名称)
3.2 安装JDK
下载jdk到本地,解压:
tar -xzvf jdk-xxx.tar.gz
配置环境变量,vim /etc/profile 后追加:
export JAVA_HOME=/opt/jdk1.8.0_121
export PATH=$PATH:$JAVA_HOME/bin
立即生效,执行:
source /etc/profile
3.2 验证安装
执行:
java -version
4.配置Hadoop
4.1 下载解压 (hadoop用户)
使用时2.6.0-cdh5.6.0版本,放在/opt文件下:
tar -zxvf hadoop-2.6.0-cdh5.6.0
4.2 修改配置文件 (hadoop用户)
(1)修改hadoop-env.sh ,文件结尾追加:
export JAVA_HOME=/opt/jdk1.8.0_121
export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.6.0
(2)修改core-site.xml ,core-site.xml文件中包含如读/写缓冲器用于Hadoop的实例的端口号的信息,分配给文件系统存储,用于存储所述数据存储器的限制和大小。打开core-site.xml 并在<configuration>,</configuration>标记之间添加以下属性:
<configuration>
<property>
<name>fs.default.name </name>
<value> hdfs://localhost:9000 </value>
</property>
</configuration>
(3)修改hdfs-site.xml ,文件中包含如复制数据的值,NameNode路径的信息,本地文件系统的数据节点的路径。这意味着是存储Hadoop基础工具的地方:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/opt/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/hdfs/data</value>
</property>
</configuration>
(4)修改mapred-site.xml ,该项配置指明了MapReduce计算框架基于YARN进行工作:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration
(5)修改yarn-site.xml ,该项配置指明了ResourceManager服务的主机名和端口号:
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8080</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8082</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
(6)修改slaves :
修改为 master .
如果是完全分布模式需要加上:
slave1
slave2
...
然后利用scp命令将安装文件夹分发到其他节点相同路径下:
scp -r /opt/hadoop-2.6.0-cdh5.6.0 hadoop@slave1:/opt
scp -r /opt/hadoop-2.6.0-cdh5.6.0 hadoop@slave2:/opt
4.3 配置环境变量 (root用户,所有节点都需要执行)
修改 vim /etc/profile 后追加:
export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.6.0
export PATH=$PATH:$HADOOP_HOME/bin
立即生效,执行:
source /etc/profile
5.格式化HDFS
第一次启动时,必须先将HDFS格式化,执行:
hadoop namenode -format
6.启动Hadoop
首先root用户赋予hadoop执行权限:
chmod +x -R /opt/hadoop-2.6.0-cdh5.6.0/sbin
启动命令,hadoop用户执行:
./opt/hadoop-2.6.0-cdh5.6.0/sbin/start-all.sh
使用jps,查看经常名称:
29072 Jps
26977 NodeManager
26885 ResourceManager
26567 DataNode
26477 NameNode
26750 SecondaryNameNode