首先介紹一下我的環境,我是在vmware12版本下安裝的CentOS-7-x86_64-DVD-1804版本
1、安裝python3
#python官網下載python
sudo wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tar.xz
#配置yum源
sudo yum groupinstall 'Development Tools'
#yum源安裝python需要的庫
sudo yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
#解壓
sudo tar xf Python-3.6.8.tar.xz
#移動到/usr/local/python3/,沒有可以mkdir建立
mv Python-3.6.8 /usr/local/python3/
#進入到Python-3.6.8/
cd /usr/local/python3/
cd Python-3.6.8/
#配置路徑
sudo ./configure --prefix=/usr/local/python3 --enable-optimizations
#編譯,注意在Python-3.6.8/下,失敗重試前要make clean
sudo make
#安裝
sudo make install
#建立軟連接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
#如果原來的python存在導致建立軟連接失敗,需要刪除原來的軟連接
sudo rm -rf /usr/bin/python
#刪除后建立軟連接
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
#查看版本
python -V
#安裝完成python3后,要注意yum源是python2版本寫的,所以要將yum源改回來
vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7
vim /usr.bin/yum
#!/usr/bin/python2.7
sudo yum -y install epel-release
安裝pip
sudo yum install -y python-pip
2、安裝jdk
jdk版本是jdk1.8.0_144
#解壓到指定文件夾
tar -zxvf filename -C /usr/local/java/
#編輯/etc/下的profile文件,
vim ~/.bash_profile
#配置環境變量
export JAVA_HOME=/usr/local/java/jdk1.8.0_144
exort PATH=$JAVA_HOME/bin:$PATH
#使環境變量生效
source /etc/profile
#測試
java -version
3、安裝scala
#解壓文件到指定路徑
sudo tar -zxvf scala-2.11.8.tgz -C /opt/app/
#進入文件
vi ~/.bash_profile
#在.bash_profile 文件下填寫
export SCALA_HOME=/opt/app/scala-2.11.8
exort PATH=$SCALA_HOME/bin:$PATH
#完成后
source ~/.bash_profile
4、安裝hadoop
#下載hadooop
sudo wget sudo http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz
#解壓到/opt/app/
sudo tar -zxvf hadoop-2.6.0-cdh5.7.0.tar.gz -C /opt/app/
#進入到hadoop路徑下
cd /opt/app/hadoop-2.6.0-cdh5.7.0
#修改配置文件
sudo vi ~/.bash_profile
#添加內容
export HADOOP_HOME=/opt/app/hadoop-2.6.0-cdh5.7.0
export PATH=$HADOOP_HOME/bin:$PATH
#進入到hadoop路徑下的/etc/hadoop下,
/opt/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop
#進入后修改配置文件,1,hadoop-env.sh
sudo vi hadoop-env.sh # The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/opt/app/jdk1.8.0_144
#查看JAVA_HOME的路徑
echo $JAVA_HOME
#改配置文件,2,core-site.xml
sudo vi core-site.xml
#修改如下,centosmj 是本地名稱
<configuration> <property> <name>fs.default.name</name> <value>hdfs://centosmj:8020</value> </property> </configuration>
#修改配置文件, 3. hdfs-site.xml
sudo vi hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/app/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/app/tmp/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
#修改配置文件,4. mapred-site.xml.template
sudo vi mapred-site.xml.template
#拷貝一份模板
sudo cp mapred-site.xml.template mapred-site.xml #更改配置如下 <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
#修改配置文件,5. yarn-site.xml
sudo vi yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
#格式化hadoop,完成后會在/opt/app/tmp 下生成文件夾
sudo ./hadoop namenode -format #登陸dfs,在sbin路徑下 ./start-dfs.sh
#免密登陸問題,關鍵->檢查.ssh (700) 和 authorized_keys(600) 權限
#完成命令./start-dfs.sh后,用jps看到如下
[hadoop@centosmj sbin]$ jps 3700 SecondaryNameNode 3355 NameNode 3503 DataNode 3903 Jps
#創建文件夾 hadoop fs -mkdir /test #查看是否創建 hadoop fs -ls / #試一下放入/test下一個文件 [hadoop@centosmj hadoop-2.6.0-cdh5.7.0]$ hadoop fs -put README.txt /test/ #命令查看 hadoop fs -ls /test/ #讀一下放入的文件 hadoop fs -text /test/README.txt
#在本地瀏覽器中試驗,輸入url-> centosmj:50070
#啟動yarn
#進入到sbin路徑下 ./start-yarn.sh #jps會看到 [hadoop@centosmj sbin]$ jps 4962 ResourceManager 3700 SecondaryNameNode 5124 Jps 3355 NameNode 5070 NodeManager 3503 DataNode
#在本地瀏覽器中試驗,輸入url-> centosmj:8088
5、安裝maven
#在官網下載后解壓到/opt/app/路徑下,
#修改配置文件,vi ~/.bash_profile
export MAVEN_HOME=/opt/app/apache-maven-3.6.0
export PATH=$MAVEN_HOME/bin:$PATH
#修改配置文件settings.xml
#maven的配置文件settings.xml,如果不改會代碼庫會建在默認路徑, <!-- localRepository | The path to the local repository maven will use to store artifacts. | | Default: ${user.home}/.m2/repository <localRepository>/path/to/local/repo</localRepository> --> <localRepository>/opt/maven_repository</localRepository>
6、安裝spark
#spark 官網地址 spark.apache.org/downloads.html

#下載后解壓到/opt/app/下,進入spark目錄,執行下面的命令
./dev/make-distribution.sh --name 2.6.0-cdh5.7.0 --tgz -Pyarn -Phadoop-2.6 -Phive -Phive-thriftserver -Dhadoop.version=2.6.0-cdh5.7.0
#編譯要很長時間,而且需要聯網,網速還要好,最好能翻牆。編譯的過程中有許多坑!
#坑一、要修改pom.xml文件,修改遠程倉庫地址,(修改成阿里鏡像地址,增加cdh鏡像地址)
#進入spark目錄下,有一個pom.xml文件,要修改它:vim ./pom.xml
<repository>
<id>maven-ali</id>
<url>http://maven.aliyun.com/nexus/content/groups/public//</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
<repository>
<id>cloudera</id>
<url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
</repository>
#大家一定會有疑問這段代碼應該貼在pom文件的什么位置呢,像那種貼在文件末尾段一定是不行的,
#因為pom文件是maven的核心,里面的規則還是很嚴謹的。那么讓我的親身經歷告訴你,應該在貼在如下圖所示的位置
#我把pom.xml文件拷貝出來,用Notepad++打開,網上的做法是把第一個repository替換成下面畫紅圈的部分,但我添加到后面也沒問題。

#坑二、虛擬機的內存要大於4G,不然編譯也會有問題的。
#除了上面的兩個比較大的坑之外,還有許多下載失敗導致編譯出問題的情況,要仔細看error提示,將下載不下來的自己手動下載下來,或者重復編譯一下
#本人遇到的問題還算少的,編譯一共花費兩個晚上一個白天。
