首先需要有以下安装包(如有需要,可私信邮箱地址)
hadoop-2.6.0-cdh5.14.2.tar.gz
hadoop-native-64-2.6.0.tar
hbase-1.2.0-cdh5.14.2.tar.gz
hive-1.1.0-cdh5.14.2.tar.gz
zookeeper-3.4.6.tar.gz
配置免登录:
ssh-keygen -t rsa -P ""
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
修改主机名: hostnamectl set-hostname hadoop101
修改主机列表: vi /etc/hosts
,添加主机ip地址和主机名,如下:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.56.101 hadoop101
安装Hadoop:
将hadoop的安装包拖进opt目录下
安装该文件: tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz
删除安装包: rm -rf hadoop-2.6.0-cdh5.14.2.tar.gz
修改配置文件:
进入安装目录下hadoop目录: cd /opt/hadoop-2.6.0-cdh5.14.2/etc/hadoop
hadoop-env.sh配置文件修改:
打开文件: vi hadoop-env.sh
,然后跳到第25行jdk环境配置修改为自己的Java目录:
export JAVA_HOME=/opt/jdk1.8.0_221
core-site.xml配置文件修改:
打开文件: vi core-site.xml
,在configuration
标签内插入如下内容:
<!-- 默认节点(写自己主机的ip)端口,端口默认为9000 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.56.101:9000</value>
</property>
<!-- hdfs的临时文件的目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-2.6.0-cdh5.14.2/hdfsTmp</value>
</property>
<!-- 其他机器的root用户可访问 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!-- 其他root组下的用户都可以访问 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
hdfs-site.xml配置文件的修改:
打开文件: vi hdfs-site.xml
,在configuration
标签内插入如下内容:
<!-- 设置数据块应该被复制的份数(和集群机器数量相等) -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- namenode备用节点 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop101:50090</value>
</property>
新建mapred-site.xml
文件:
打开文件: vi mapred-site.xml
,输入如下内容:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- mapreduce的工作模式:yarn -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- mapreduce的工作地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.56.101:10020</value>
</property>
<!-- web页面访问历史服务端口的配置 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.56.101:19888</value>
</property>
</configuration>
yarn-site.xml配置文件修改:
打开文件: vi yarn-site.xml
,在configuration
标签内插入如下内容:
<!-- reducer获取数据方式 -->
<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>
<!-- 指定YARN的ResourceManager的地址,值为主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<!-- 日志聚集功能使用 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
slaves配置:
vi slaves
:将内容改为自己的主机名: hadoop101
hadoop环境变量配置:
输入: vi /etc/profile
,在Java环境配置下插入如下内容:
export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.14.2
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
输入: source /etc/profile
,使其生效
格式化HDFS:hadoop namenode -format
启动和关闭的命令:
start-all.sh :启动hdfs和yarn
start-dfs.sh :启动hdfs
start-yarn.sh:启动yarn
stop-all.sh:关闭hdfs和yarn
stop-dfs.sh:关闭hdfs
stop-yarn.sh:关闭yarn
mr-jobhistory-daemon.sh start historyserver :启动历史服务
mr-jobhistory-daemon.sh stop historyserver:关闭历史服务
验证是否成功(先启动hdfs,yarn,历史服务)
方式1: jps命令若出现除jps进程的以下六个进程说明启动成功
方式2:进入网页测试
输入:http://192.168.56.101:50070,若能出现如下页面即成功启动了hdfs
输入:http://192.168.56.101:8088,若能出现如下页面即成功启动了yarn
输入:http://192.168.56.101:19888,若能出现如下页面即成功启动了历史服务
复制虚拟机(复制前删除主机器hdfs临时文件目录,然后关闭主机器)
启动副本机器,修改静态ip
使用root用户登录
输入: vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
,将最后一行的ip地址修改(一般与主机器连号)
输入: systemctl restart network
,重启网络
输入: vi /etc/hostname
,修改主机名
输入: vi /etc/hosts
,修改主机列表(主机器也要修改)然后重启reboot
配置主机列表
启动所有集群机器,配置免登录
cd /root/.ssh/
,删除私钥文件: rm -rf id_rsa
,然后回到家目录: cd ~
ssh-keygen -t rsa -P ""
,输入命令后直接回车cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
ssh-copy-id -i .ssh/id_rsa.pub -p22
[email protected]
(有n个机器,就要配n-1次)ssh [email protected]
或 ssh root@hadoop111
,无需密码验证即当前机器对111机器免登录配置成功(有多少台机器都要验证)修改主机器的配置文件
修改副本机器的配置文件
进入hadoop安装目录下的etc目录下的hadoop目录: cd /opt/hadoop-2.6.0-cdh5.14.2/etc/hadoop
修改hdfs配置文件: vi hdfs-site.xml
,将dfs.replication
属性的值改为集群的机器数目,将dfs.namenode.secondary.http-address
属性的值改为主机器选择的副本机器的主机名,如下:
修改slaves文件: vi slaves
,将所有机器主机名添加进去,
在主机器下格式化hdfs: hadoop namenode -format
在主机器下运行: start-all.sh和 mr-jobhistory-daemon.sh start historyserver