1.准备Linux环境
1.0 在VMware安装两台CentOS7
1.1 修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=lovme
1.2修改IP
两种方式:
第一种:
通过Linux图形界面进行修改
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:
192.168.1.119 子网掩码:
255.255.255.0 网关:192.168.1.1 -> apply
第二种:修改配置文件方式
vi /etc/sysconfig/network-scripts/ifcfg-eth33
DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.44" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.1.1" ###
1.3修改主机名和IP的映射关系
vi /etc/hosts
192.168.1.188 lovme
1.4关闭防火墙
#查看防火墙状态
firewall-cmd --state
#关闭防火墙
systemctl stop firewalld.service
#关闭防火墙开机启动
systemctl disable firewalld.service
1.5重启Linux
reboot
2.安装JDK
2.1上传
2.2解压jdk
#创建文件夹
mkdir /usr/java
#解压
tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java/
2.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/usr/java/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source /etc/profile
# java -version 命令查看是否安装成功
3.安装Hadoop
3.1上传hadoop安装包
3.2解压hadoop安装包
mkdir /app
#解压到/cloud/目录下
tar -zxvf hadoop-2.2.0.tar.gz -C /app/
3.3修改配置文件(5个)
第一个:hadoop-env.sh
#在27行修改
export JAVA_HOME=/usr/java/jdk1.8.0_201
第二个:core-site.xml
<configuration>
<!-- 指定HDFS老大(namenode)的通信地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://lovme:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/cloud/hadoop-2.2.0/tmp</value>
</property>
</configuration>
第三个:hdfs-site.xml
<configuration>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
第四个:mapred-site.xml.template 需要重命名: mv mapred-site.xml.template mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
第五个:yarn-site.xml
<configuration>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
3.4将hadoop添加到环境变量
vi /etc/profile
export HADOOP_HOME=/cloud/hadoop-2.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
3.5格式化HDFS(namenode)第一次使用时要格式化
hadoop namenode -format
3.6启动hadoop
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
3.7 修改hadoop主机名
vi /hadoop/etc/hadoop/slaves
3.8验证是否启动成功,使用 jps 命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.1.200:50070 (HDFS管理界面)
在这个文件中添加linux主机名和IP的映射关系
http://192.168.1.200:8088 (MR管理界面)
4.配置ssh免登陆(需要两台主机练习)
1. ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
2. ssh id_rsa.pub lovme2:/root/.ssh/
3. touch authorized_keys
4. cat ../../id_rsa.pub >> authorized_keysscp id_rsa.pub 192.168.1.188:/root/
5. chmod 600 authorized_keys
7. ssh 192.168.1.188 无需密码即为成功
5.其他问题
错误信息:
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /app/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0
which might have disabled stack guard. The VM will try to fix the stack guard now.
解决:在hadoop-env.sh和yarn-env.sh中添加如下两行:
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"