centos 7服务器 安装配置 指北录

由于技术栈的更新,原来的centos 的配置 还是 稍微 浅显,现在要照顾到C++ java scala python R golang nodejs shell 这些常用的语言和谐相处,又要把所有的环境配置到更稳定 更合适部署 开发的环境

首先要确定的就是 我们的服务要做的就是 要使用 集群的cdh 的hadoop spark hbase hive ,及 sqoop mysql tensorflow xgboost neo4j sklearn pyspark pandas

yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum install  cyrus-sasl-lib.x86_64  cyrus-sasl-devel.x86_64 libgsasl-devel.x86_64  saslwrapper-devel.x86_64   

sudo yum install mpich mpich-devel

yum install lrzsz  ##方便使用 rz  sz  命令
yum install nc
yum install  telnet
yum install tmux
sudo yum install java-1.8.0-openjdk  java-1.8.0-openjdk-devel
rpm -qa | grep mariadb
rpm -e --nodeps  mariadb-libs-5.5.56-2.el7.x86_64
sudo rpm -Uvh [http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm](http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm)

sudo yum install mysql-server  # 安装 mysql 这里也有坑 建议大家看我之前写的 mysql 安装教程
yum install  mysql-connector-java  #centos 7 安装 mysql-connector-java.noarch 1:5.1.25-3.el7 
#默认 mysql-connector-java 会再次 安装 jdk6 ,一定要卸载 jdk 6 否则未来启动会报错  【Caused by: java.lang.UnsupportedClassVersionError: com/mysql/jdbc/Driver : Unsupported major.minor version 51.0】 
yum list  jdk #   jdk.x86_64 2000:1.6.0_31-fcs
yum  remove  jdk  #删除jdk6
sudo yum install gcc                     # C 编译器
sudo yum install gcc-c++                 # C++ 编译器
sudo yum install gcc-gfortran            # Fortran 编译器
sudo yum install compat-gcc-44           # 兼容 gcc 4.4
sudo yum install compat-gcc-44-c++       # 兼容 gcc-c++ 4.4
sudo yum install compat-gcc-44-gfortran  # 兼容 gcc-fortran 4.4
sudo yum install compat-libf2c-34        # g77 3.4.x 兼容库

首先 centos7 默认安装的python2.7,我们现在要 升级到python3.6,
参考
https://www.jianshu.com/p/8929bba0bed5

cd /opt/
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
 mkdir /usr/local/python3 
tar -xvJf  Python-3.6.2.tar.xz  -C  /usr/local/python3
cd /usr/local/python3/Python-3.6.2
./configure --prefix=/usr/local/python3
make && make install

ln -s /usr/local/python3/bin/python3 /usr/local/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/local/bin/pip3
ln -s /usr/local/bin/pip3   /usr/bin/pip
pip3 install --upgrade pip
pip install ipython ptpython
#需要注意的是 ptpython 需要设置到 PATH的环境变量中

   /usr/local/python3/bin/ptipython
    /usr/local/python3/bin/ptipython3
    /usr/local/python3/bin/ptpython
    /usr/local/python3/bin/ptpython3
vi  /etc/profile

export  PT_HOME=/usr/local/python3
export MPI_HOME=/usr/lib64/openmpi  # mpi要用到
export MPICH_HOME=/usr/lib64/mpich
export  PATH=$PATH:$PT_HOME/bin:$MPI_HOME/bin:$MPICH_HOME/bin


esc : wq
source /etc/profile

需要注意的是 cdh 5.13 的spark 是1.6版本 ,spark 低于 2.1 版本的 pyspark 是不支持 python3.6 的,最高支持 python 3.5,所以 折中的方法是安装 anaconda
或者建议上一步 安装 python 3.5.4 代替 Python-3.6.2

wget  https://www.python.org/ftp/python/3.5.4/Python-3.5.4.tgz

Spark 2.1.0 doesn't support python 3.6.0. To solve this change your python version in anaconda environment. Run following command in your anaconda env

cd  /opt
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.1.0-Linux-x86_64.sh
bash Anaconda3-5.1.0-Linux-x86_64.sh  
#一路回车 yes  安装即可
which python2.7
/usr/bin/python2.7
vi /etc/profile
export PATH=/root/anaconda3/bin:$PATH  
export PYSPARK_DRIVER_PYTHON=/usr/bin/python2.7 
# /etc/profile     /root/.bashrc
source /etc/profile
conda create -n py35 python=3.5 anaconda  # 创建 python 3.5环境
source  activate py35  # 激活 python 3.5环境
conda install py-xgboost
jupyter notebook --generate-config


export PYSPARK_DRIVER_PYTHON=/usr/bin/python2.7
# 可以把这个追加到  /etc/profile
source /etc/profile

之后再安装下面的这些包 涵盖 机器学习 ETL 计算机视觉 自然语言处理 运维
大数据 云计算 并发

pip3 install numpy  scipy  spacy  mpi4py   pandas xgboost  tensorflow  scikit-learn sklearn-pandas  Scrapy  PyHive  sasl  thrift thrift-sasl tornado virtualenv 
pip3 install  Keras hdfs scrapy-redis  ScalaFunctional  PyQt5  pyOpenSSL  Pillow  paramiko   matplotlib  mpld3  jieba nltk  graphviz  bokeh   
pip3 install  Django  click  apache-libcloud  scrapyd  opencv-python opencv-contrib-python  pymongo h5py gym   djangorestframework   imageio
 djangorestframework-csv   ibis-framework pdhbase  happybase plac pytest
pip3 install  seaborn  setuptools  sparkdl tensorframes  ssh-jump-hive zmail Werkzeug  xlrd  xlwt  pymysql  SQLAlchemy  redis  pyarrow fastparquet hdfs3 
aiosmtplib  asyncio
#或者 一次到位  注意 如果某个包错误 会引起中断,从哪里断 就从后面 继续安装即可,mpi4py安装需要先 安装  yum 安装 openmpi  mpich 并配置好环境变量

pip3 install numpy  scipy  spacy   pandas xgboost  tensorflow  scikit-learn sklearn-pandas  Scrapy  PyHive  sasl  thrift thrift-sasl tornado virtualenv  Keras hdfs scrapy-redis  ScalaFunctional  PyQt5  pyOpenSSL  Pillow  paramiko   matplotlib  mpld3  jieba nltk  graphviz  bokeh  Django  click  apache-libcloud  scrapyd  opencv-python opencv-contrib-python  pymongo h5py gym djangorestframework  djangorestframework-csv seaborn  setuptools  sparkdl tensorframes  ssh-jump-hive  Werkzeug  xlrd  xlwt  pymysql  SQLAlchemy  redis  pyarrow fastparquet  hdfs3   pdhbase  happybase  zmail neo4j-driver  networkx imageio  netaddr  colorama  colorcet coverage plac pytest
pip3 install  PyGame Pydot    CherryPy    pexpect fabric  psutil dnspython IPy
 Polyglot TextBlob    Quepy   mpi4py  aiosmtplib  asyncio itchat wxpy

mrjob 0.6.4 可能需要单独 source 安装,主要是 pip 安装的无法引用
git clone https://github.com/Yelp/mrjob.git
cd mrjob 
vi setup.py
dd 'google-cloud-storage>=1.9.0',  ## 删除这个 引用依赖,有问题
esc : wq 
python setup.py install

#剩下的 这些  都是python 2.7的  不建议安装
#PySQLite PIL LibSVM VLFeat  Python-graph  Yorserver smtplib PyNLPI  MontyLingua Pattern
#pip uninstall   ibis-framework
#pip install enum34  funcsigs functools32   ibis-framework

升级 python 会造成 yum 无法使用 ,yum 依赖的是python 2.7,解决方法是

#使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, 
问题出现原因: 
yum包管理是使用python2.x写的,将python2.x升级到python3.1.3以后,由于python版本语法兼容性导致问题出现 
解决办法: 
修改yum配置文件,将python版本指向以前的旧版本

# vi /usr/bin/yum
#!/usr/bin/python2.7

修改urlgrabber-ext-down文件,更改python版本

# vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python2.7

另外 在使用pyhive 操作 hive 时 需要 使用到 thrift 和sasl ,直接 安装 sasl 会爆 【 sasl/saslwrapper.h:22:23: 致命错误:sasl/sasl.h:没有那个文件或目录】
解决方法

yum install cyrus-sasl-lib.x86_64

yum install cyrus-sasl-devel.x86_64

yum install libgsasl-devel.x86_64

yum install saslwrapper-devel.x86_64

一般拉说前面三句基本能解决问题,第四句留着实在没办法时用。

操作了这些在 pip install sasl 才不会报错

centos 默认安装的 openjdk 7,可以升级到 openjdk8
centos 安装 cdh 可以参考我之前写的
cdh 默认安装的是 spark 1.6
为此我们要升级cdh 的spark 到 2.3

https://www.cloudera.com/documentation/spark2/latest/topics/spark2_packaging.html#packaging
http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera2/

 wget http://archive.cloudera.com/spark2/csd/SPARK2_ON_YARN-2.3.0.cloudera2.jar
wget http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera2/SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101-el7.parcel
wget http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera2/SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101-el7.parcel.sha1 
wget http://archive.cloudera.com/spark2/parcels/2.3.0.cloudera2/manifest.json

一 、[下载](https://www.cloudera.com/documentation/spark2/latest/topics/spark2_packaging.html#packaging)


SPARK2_ON_YARN-2.2.0.cloudera1.jar

SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel.sha
manifest.json


二、准备 
1、将SPARK2_ON_YARN-2.2.0.cloudera1.jar上传至/opt/cloudera/csd目录

**注:要保证集群的本地描述符存储库路径是/opt/cloudera/csd** 
查看方式:CM主界面管理–>设置–>类别(本地描述符存储库路径)

2、将

SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel
SPARK2-2.2.0.cloudera1-1.cdh5.12.0.p0.142354-el6.parcel.sha
manifest.json


上传至/var/www/html/spark2目录下,且保证http能够访问。

3、重启cloudera-scm-server 服务

service cloudera-scm-server restart
1
成功后进入CM界面,在添加服务里面会看到spark2的按钮。

三、安装parcels 
1、主机–>parcels–>配置–>填写url–>检查新的parcel 
2、下载–>分配—>激活

四、添加服务 
1、点击集群按钮旁的添加服务 
2、选择spark2 –>继续 
3、选择依赖 
4、角色分配(Gateway所有主机都要安装) 
5、启动

spark2中默认使用的是python2,可以通过以下三种方式之一使用python3:

PYSPARK_PYTHON=python3 pyspark2
修改~/.bash_profile,增加 PYSPARK_PYTHON=python3
修改spark-env.sh增加PYSPARK_PYTHON=/usr/local/bin/python3

参考
https://liupzmin.com/
https://blog.csdn.net/ccy521520/article/details/52131999
https://blog.csdn.net/Gavin_chun/article/details/78554277
https://blog.csdn.net/u010936936/article/details/73650417
https://blog.csdn.net/lsshlsw/article/details/49155087
解决在编程方式下无法访问Spark Master问题
http://ju.outofmemory.cn/entry/162428
https://www.jianshu.com/p/e00e7c65bb08
,集群要配置 ssh免登陆
安装scala 2.10.7 为了和 cdh 的spark 配合
wget https://downloads.lightbend.com/scala/2.10.7/scala-2.10.7.rpm
rpm -ivh scala-2.10.7.rpm

安装 neo4j 企业版 集群 配置 参考我上一篇
安装 maven tomcat 等等 ,
wget http://mirrors.shu.edu.cn/apache/maven/maven-3/3.5.3/binaries/apache-maven-3.5.3-bin.tar.gz
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz

安装 sbt [scala]
wget https://sbt-downloads.cdnedge.bluemix.net/releases/v1.1.5/sbt-1.1.5.tgz
安装 zeppelin
http://mirrors.hust.edu.cn/apache/zeppelin/zeppelin-0.7.3/zeppelin-0.7.3-bin-all.tgz

并行计算
并行可以用 openmpi,也可以用 mpich,二者的功能可以认为是完全相同的。由于二者提供了几乎一样的命令, 所以二者可以同时安装,但是不可以同时处于使用状态。

openmpi
安装 openmpi:

sudo yum install openmpi openmpi-devel
sudo yum install mpich mpich-devel
安装后,二进制文件位于 /usr/lib64/openmpi/bin 下,动态库文件位于 /usr/lib64/openmpi/lib 下,因而实际使用的话还需要额外的配置,在 .bashrc 中加入如下语句:

export PATH=/usr/lib64/openmpi/bin/:${PATH}
module load mpi/openmpi-x86_64
PS:要使用 module 命令需要先安装 environment-modules 包。

mpich
安装 mpich:

sudo yum install mpich mpich-devel
安装后,二进制文件位于 /usr/lib64/mpich/bin 下,动态库文件位于 /usr/lib64/mpich/lib 下, 因而实际使用的话还需要额外的配置,在 .bashrc 中加入如下语句:

export PATH=/usr/lib64/mpich/bin/:${PATH}
module load mpi/mpich-x86_64
<1>配置环境,通过远程方式访问jupyter notebook
jupyter notebook --generate-config
会出现一个配置文件的路径(注意)

<2>生成登陆密码,为了云主机的安全
进入python
1.from notebook.auth import passwd

passwd()
Enter password:
Verify password:
3会输出加密后的密码(记得保存),例如:
'sha1:5311cd8b9da9:70dd3321fc7e66080a5d3d943ab9752b4'
4.exit()

<3>修改<1>生成的配置文件,将以下地址修改如下:
vi ~/.jupyter/jupyter_notebook_config.py (对应你的路径)

c.NotebookApp.ip='*'
c.NotebookApp.password = u'你保存的密码'
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个端口,使用默认8888也可以

<4>启动Jupyter服务
命令行下开启服务:
jupyter notebook --ip=0.0.0.0 --no-browser --allow-root

<5>浏览器访问,并输入密码
http://服务器地址:端口号

参考
链接:https://www.jianshu.com/p/8c73bb39dc2e

https://spacy.io/
https://blog.csdn.net/flyfrommath/article/details/78652339
http://hanlp.linrunsoft.com/

mpi
https://www.cnblogs.com/sos-blue/p/6412112.html
http://mpi4py.readthedocs.io/en/stable/tutorial.html

你可能感兴趣的:(centos 7服务器 安装配置 指北录)