创建hadoop用户
#添加用户hadoop
adduser hadoop
这个过程中需要输入密码两次
Enter new password:
Retype new password:
passwd: password updated successfully
编辑/etc/sudoers
文件
root ALL=(ALL) ALL
后面加入
hadoop ALL=(ALL) ALL
下载所需要用到的工具包,并上传到hadoop用户目录
需要用到的工具包包括java
,hadoop
安装java
设置环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_161
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH
安装hadoop
解压并移动至/us/local
目录
tar -zxvf hadoop-3.0.0.tar.gz
mv hadoop-3.0.0 /usr/local
设置环境变量
export HADOOP_HOME=/usr/local/hadoop-3.0.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export PATH=$HADOOP_HOME/bin:$PATH export PATH=$HADOOP_HOME/sbin:$PATH
然后执行
source ~/.profile
在hadoop-env.sh中,再显示地重新声明一遍JAVA_HOME,添加:
export JAVA_HOME=/usr/local/jdk1.8.0_161
配置集群服务器参数
我们这里用到的是三台服务器,一台master,两台slave.三台机器的名称和ip如下:
主机名称 | ip地址 |
---|---|
master | 192.168.11.128 |
node1 | 192.168.11.129 |
node2 | 192.168.11.130 |
三台电脑主机的用户名均为hadoop.
三台机器可以ping双方的ip来测试三台电脑的连通性。
配置host如下:
192.168.11.128 master
192.168.11.129 node1
192.168.11.130 node2
配置ssh免密码登陆
Hadoop集群配置
修改master主机修改Hadoop如下配置文件,这些配置文件都位于/usr/local/hadoop-3.0.0/etc/hadoop目录下。
workers(hadoop3.0.0中将slaves文件改为了workers文件)
这里把DataNode的主机名写入该文件,每行一个。这里让master节点主机仅作为NameNode使用。
slave01
slave02
core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop-3.0.0/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> </configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.name.dir</name> <value>file:/home/hadoop/hadoop/namenode</value> </property> <property> <name>dfs.data.dir</name> <value>file:/home/hadoop/hadoop/datanode</value > </property> </configuration>
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> </configuration>
注:以上修改的文件需要在所有slave服务器上同步,使用前面的scp命令即可
同步hadoop文件
scp etc/hadoop/ hadoop@node1:/usr/local/
scp etc/hadoop/ hadoop@node2:/usr/local/
启动hadoop集群
启动hadoop集群
在master主机上执行如下命令:
cd /usr/local/hadoop-3.0.0
hdfs namenode -format
sbin/start-all.sh
运行后,在master,node1,node2运行jps命令,查看hadoop运行状态:
jps