First, preconditions
Hadoop relies on JDK to run and needs to be installed in advance. See the installation steps:
- JDK installation under Linux
2. Configure encryption-free login
Hadoop components communicate with each other based on SSH.
2.1 Mapping Configuration
Configure mapping between IP addresses and host names:
vim /etc/hosts
#End of file add
192.168.43.202 hadoop001
Copy the code
2.2 Generating Public and Private Keys
Execute the following command line to generate the public and private keys:
ssh-keygen -t rsa
Copy the code
3.3 license
Go to the ~/. SSH directory, view the generated public and private keys, and write the public key to the authorization file:
SSH [root@@hadoop001.ssh]# ll-rw -------. 1 root root 1675 3 月 15 09:48 id_rsa -rw-r--r--. 1 root root 388 March 15 09:48 id_rsa.pubCopy the code
#Writes the public key to the authorization file
[root@hadoop001 .ssh]# cat id_rsa.pub >> authorized_keys
[root@hadoop001 .ssh]# chmod 600 authorized_keys
Copy the code
Third, Hadoop(HDFS) environment construction
3.1 Download and Decompress the file
Download Hadoop installation package, here I download is CDH version, the download address is: archive.cloudera.com/cdh5/cdh/5/
#Unpack theThe tar - ZVXF hadoop - server - cdh5.15.2. Tar. GzCopy the code
3.2 Configuring Environment Variables
# vi /etc/profile
Copy the code
Configure environment variables:
Export HADOOP_HOME = / usr/app/hadoop - server - cdh5.15.2 export PATH = ${HADOOP_HOME} / bin: $PATHCopy the code
Run the source command to make the configured environment variables take effect immediately:
# source /etc/profile
Copy the code
3.3 Modifying Hadoop Configurations
Go to ${HADOOP_HOME}/etc/hadoop/ and modify the following configuration:
1. hadoop-env.sh
#JDK Installation PathExport JAVA_HOME = / usr/Java/jdk1.8.0 _201 /Copy the code
2. core-site.xml
<configuration>
<property>
<! -- set HDFS address for namenode -->
<name>fs.defaultFS</name>
<value>hdfs://hadoop001:8020</value>
</property>
<property>
<! -- Specify the directory where Hadoop stores temporary files -->
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
Copy the code
3. hdfs-site.xml
Specify copy coefficient and temporary file storage location:
<configuration>
<property>
<!--由于我们这里搭建是单机版本,所以指定 dfs 的副本系数为 1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Copy the code
4. slaves
Configure the host name or IP address of all slave nodes. Since it is a single-node version, you can specify the local machine:
hadoop001
Copy the code
3.4 Disabling the Firewall
If the firewall is not disabled, you may fail to access the Hadoop Web UI:
#Checking the Firewall Status
sudo firewall-cmd --state
#Disable the firewall:
sudo systemctl stop firewalld.service
Copy the code
3.5 the initialization
To initialize Hadoop for the first time, go to ${HADOOP_HOME}/bin/ and run the following command:
[root@hadoop001 bin]# ./hdfs namenode -format
Copy the code
3.6 start the HDFS
Go to ${HADOOP_HOME}/sbin/ and start HDFS:
[root@hadoop001 sbin]# ./start-dfs.sh
Copy the code
3.7 Verifying the startup
Method 1: Run JPS to check whether the NameNode and DataNode services are started.
[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
9390 SecondaryNameNode
Copy the code
Method 2: View the Web UI. Port number is 50070.
Set up the Hadoop(YARN) environment
4.1 Modifying the Configuration
Go to ${HADOOP_HOME}/etc/hadoop/ and modify the following configuration:
1. mapred-site.xml
#If mapred-site. XML is not available, copy a sample file and modify it
cp mapred-site.xml.template mapred-site.xml
Copy the code
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
Copy the code
2. yarn-site.xml
<configuration>
<property>
<! Configure ancillary services to run on NodeManager. You need to configure mapreduce_shuffle to run the MapReduce program on Yarn. -->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
Copy the code
4.2 Starting the Service
Go to ${HADOOP_HOME}/sbin/ and start YARN:
./start-yarn.sh
Copy the code
4.3 Verifying the startup
Method 1: Run the JPS command to check whether the NodeManager and ResourceManager services are started.
[root@hadoop001 hadoop-2.6.0-cdh5.15.2]# jps
9137 DataNode
9026 NameNode
12294 NodeManager
12185 ResourceManager
9390 SecondaryNameNode
Copy the code
Method 2: View the Web UI using port 8088.