打开虚拟机后 centos环境配置后
重启网络
systemctl restart network
关闭防火墙
systemctl stop firewalld
禁用防火墙,下次开机启动后防火墙服务不再启动
systemctl disable firewalld
开启免密登陆,最好在主目录下,免密方便hadoop运行
生成秘钥: ssh-keygen -t rsa -P “”
存储密钥,>> 追加,> 覆盖
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
开启远程免密登录配置(建立集群时使用)
ssh-copy-id -i .ssh/id_rsa.pub -p22 [email protected]
远程登录测试,能登陆即成功,退出登陆输入exit
ssh [email protected]
往远程服务器拷贝文件
scp /etc/hosts [email protected]:/etc/
配置主机名
vi /etc/hostname打开后修改主机名hadoop101
hostnamectl set-hostname hadoop101 # 使用这个命令会使更改立即生效
hostname #查看主机名
编辑hosts文件,添加hostname,这里准备搭建3台,提前将地址和主机名填好
打开文件命令 vi /etc/hosts
安装JDK,配置环境变量
解压opt目录下
tar -zxf jdk-8u221-linux-x64.tar.gz -C /opt/
为了方便使用,在opt目录下对其改名为jdk8
mv jdk1.8.0_221/ jdk8
配置jdk环境变量
打开配置文件
vi /etc/profile
文件中添加
export JAVA_HOME=/opt/jdk8
export JRE_HOME=/opt/jdk8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
更改后source /etc/profile
,并输入java -version
和javac
查看是否配置成功,
成功结果
安装和配置Hadoop
解压到opt目录,并更改名字,由于下载的的hadoop2.6.0版本缺少个包,手动添加了一下
tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/
mv hadoop-2.6.0-cdh5.14.2/ hadoop
手动添加缺少包,直接解压到对应目录下,由于不确定,就在两个目录下都添加了一下
tar -xf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/native/
tar -xf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/
hadoop-env.sh中更改
将此处更改为自己jdk的地址
# The java implementation to use.
export JAVA_HOME=/opt/jdk8
core-site.xml中对应位置添加
fs.defaultFS</name>
hdfs://192.168.73.21:9000</value>
</property>
hadoop.tmp.dir</name>
/opt/hadoop/tmp</value>
#hadoop中的临时文件夹,它会根据填的地址自己创建
</property>
hadoop.proxyuser.root.hosts</name>
*</value>
</property>
hadoop.proxyuser.root.groups</name>
*</value>
</property>
</configuration>
mapred-site.xml.template中对应位置添加
mapreduce.framework.name</name>
yarn</value>
</property>
mapreduce.jobhistory.address</name>
192.168.73.21:10020</value>
</property>
mapreduce.jobhistory.webapp.address</name>
192.168.73.21:19888</value>
</property>
</configuration>
hdfs-site.xml中对应位置添加
dfs.replication</name>
1</value>
#集群中主机个数
</property>
dfs.namenode.secondary.http-address</name>
192.168.73.21:50090</value>
#主节点助手地址,这里因为只创建了一个主机先使用本机,搭建集群时最好更改为其它
</property>
</configuration>
yarn-site.xml中对应位置添加
<!-- Site specific YARN configuration properties -->
<!-- reducer获取数据方式 -->
yarn.nodemanager.aux-services</name>
mapreduce_shuffle</value>
</property>
yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
yarn.resourcemanager.hostname</name>
hadoop101</value>
</property>
<!-- 日志聚集功能使用 -->
yarn.log-aggregation-enable</name>
true</value>
</property>
<!-- 日志保留时间设置7天 -->
yarn.log-aggregation.retain-seconds</name>
604800</value>
</property>
</configuration>
打开配置文件
vi /etc/profile
export HADOOP_HOME=/opt/hadoop
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
启动hadoop,start-all.sh
启动后输入jps
查看
出现这6个,单个hadoop安装成功
解压到opt文件夹中,并改名为zookpr方便使用。
编辑zookpr文件夹内conf内的zoo.cfg文件,配置里面的server是zookeeper服务器的主机名
# The number of milliseconds of each tick
tickTime=2000
maxClientCnxns=0
# The number of ticks that the initial
# synchronization phase can take
initLimit=50
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/opt/hadoop/zookperdata
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
在hadoop文件夹内创建zoopkperdata文件夹,即上面配置zoo.cfg文件中dataDir的地址,在文件内vi myid
,填入里面内容是该节点对应的server号,与zoo.cfg文件中对应。如本机为hadoop101,里面内容则填1。
启动zookeeper
在各zookeeper节点上运行zkServer.sh start。这里先不急着测试,在hadoop集群搭建好后再使用
cd /opt/zookpr
#进入zookeeper文件夹内
./bin/zkServer.sh start
#启动命令
tail zookeeper.out
首先将虚拟机关闭 ,点击克隆
克隆成功后不急的打开虚拟机,先重新生成MAC 地址,两个网络适配器都要重新生成,每个复制的虚拟机也都需要如此操作
重新生成后,启动虚拟机,登陆后输入vi /etc/sysconfig/network-scripts/ifcfg-ens33
更改主机地址,修改IPADDR。
修改主机名,与上面配置主机名操作一样,记得使用命令使其立即生效。
修改/opt/hadoop/conf/hadoop/中配置文件hdfs-site.xml,里面备注的地方即为修改的地方,修改时三个虚拟机都要更改,保证三台虚拟机配置一样
dfs.replication</name>
3</value>
#集群中主机个数
</property>
dfs.namenode.secondary.http-address</name>
192.168.73.22:50090</value>
#备用节点地址,这里因为只创建了一个主机先使用本机,搭建集群时最好更改为其它
</property>
</configuration>
修改完hadoop的配置文件,在修改zookeeper,它是修改hadoop中zookprdata文件夹中的myid文件,按照上面说的更改即可。配置完后先删除hadoop文件中的临时文件,即hadoop文件夹中的tmp文件夹rm -rf tmp/
。主机启动hadoop,其他两台不需要启动,zookeeper三台虚拟机都要开启,启动后jps出现如图中的QuorumPeerMain即为成功。